@nationalarchives/frontend 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/nationalarchives/all+analytics.js +1 -1
- package/nationalarchives/all+analytics.js.map +1 -1
- package/nationalarchives/all.css +1 -1
- package/nationalarchives/all.css.map +1 -1
- package/nationalarchives/all.js +1 -1
- package/nationalarchives/all.js.map +1 -1
- package/nationalarchives/all.mjs +1 -1
- package/nationalarchives/components/_presentation.scss +1 -0
- package/nationalarchives/components/accordion/accordion.js +1 -1
- package/nationalarchives/components/accordion/accordion.js.map +1 -1
- package/nationalarchives/components/accordion/accordion.mjs +2 -2
- package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.mjs +3 -3
- package/nationalarchives/components/footer/footer.js +1 -1
- package/nationalarchives/components/footer/footer.js.map +1 -1
- package/nationalarchives/components/footer/footer.mjs +1 -1
- package/nationalarchives/components/gallery/gallery.js +1 -1
- package/nationalarchives/components/gallery/gallery.js.map +1 -1
- package/nationalarchives/components/gallery/gallery.mjs +5 -5
- package/nationalarchives/components/picture/picture.js +1 -1
- package/nationalarchives/components/picture/picture.js.map +1 -1
- package/nationalarchives/components/picture/picture.mjs +2 -2
- package/nationalarchives/components/secondary-navigation/_index.scss +1 -0
- package/nationalarchives/components/secondary-navigation/fixtures.json +150 -0
- package/nationalarchives/components/secondary-navigation/macro-options.json +70 -0
- package/nationalarchives/components/secondary-navigation/macro.njk +3 -0
- package/nationalarchives/components/secondary-navigation/secondary-navigation.css +1 -0
- package/nationalarchives/components/secondary-navigation/secondary-navigation.css.map +1 -0
- package/nationalarchives/components/secondary-navigation/secondary-navigation.scss +186 -0
- package/nationalarchives/components/secondary-navigation/template.njk +23 -0
- package/nationalarchives/components/tabs/tabs.js +1 -1
- package/nationalarchives/components/tabs/tabs.js.map +1 -1
- package/nationalarchives/components/tabs/tabs.mjs +1 -1
- package/nationalarchives/print.css +1 -1
- package/nationalarchives/print.css.map +1 -1
- package/nationalarchives/print.scss +2 -2
- package/nationalarchives/prototype-kit.css +1 -1
- package/nationalarchives/prototype-kit.css.map +1 -1
- package/nationalarchives/utilities/lists/_index.scss +8 -0
- package/package.json +1 -1
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={169:(e,t,i)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){h(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?c(e,t):void 0}}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function u(e,t,i){return t&&l(e.prototype,t),i&&l(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e,t,i){return(t=f(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function f(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}i.d(t,{A:()=>v}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var d=function(){return u((function e(){if(a(this,e),h(this,"events",{}),h(this,"oneTimeEvents",{}),window.TNAFrontendCookieEvents)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(s(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(s(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,i)})),Object.hasOwn(this.oneTimeEvents,e))for(var n=this.oneTimeEvents[e].length-1;n>=0;n--)this.oneTimeEvents[e][n].call(this,i),this.oneTimeEvents[e].splice(n,1)}}])}(),v=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a(this,e),h(this,"extraPolicies",[]),h(this,"domain",""),h(this,"path",""),h(this,"secure",!0),h(this,"policiesKey",""),h(this,"events",null),h(this,"defaultAge",null);var i=t.extraPolicies,n=void 0===i?[]:i,o=t.domain,r=void 0===o?null:o,s=t.path,c=void 0===s?null:s,l=t.secure,u=void 0===l||l,f=t.policiesKey,v=void 0===f?"cookies_policy":f,p=t.newInstance,y=void 0!==p&&p,m=t.defaultAge,b=void 0===m?31536e3:m;if(y)this.destroyInstance();else if(window.TNAFrontendCookies)return window.TNAFrontendCookies;this.extraPolicies=n,this.domain=null===r?document.documentElement.dataset.tnaCookiesDomain||"":r,this.path=null===c?document.documentElement.dataset.tnaCookiesPath||"/":c,this.secure=u,this.policiesKey=v,this.defaultAge=b,this.events=new d,this.init(),window.TNAFrontendCookies=this}),[{key:"init",value:function(){this.savePolicies(r(r(r({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1,marketing:!1},this.policies),{},{essential:!0}))}},{key:"destroyInstance",value:function(){window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var i=t.trim().split("=");i[0]&&(e[i[0]]=i[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.maxAge,o=void 0===n?this.defaultAge:n,r=i.sameSite,s=void 0===r?"Lax":r,c=i.domain,a=void 0===c?this.domain:c,l=i.path,u=void 0===l?this.path:l,h=i.secure,f=void 0===h?this.secure:h,d=i.session,v=void 0!==d&&d;if(e){var p="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(a?" domain=".concat(a,"; "):""," samesite=").concat(s,"; path=").concat(u).concat(v?"":"; max-age=".concat(o)).concat(f?"; secure":"");document.cookie=p,this.events.trigger("setCookie",{key:e,value:t,maxAge:o,path:u,sameSite:s,domain:a,secure:f,session:v,cookie:p})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",r({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(n){e.delete(n,t,i)})),this.events.trigger("deleteAllCookies",{path:t,domain:i})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",h({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",h({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(r(r({},this.policies),{},h(h({},e,t),"essential",!0))),this.events.trigger("changePolicy",h({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=r(r({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e),{maxAge:31536e3})}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}()}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};i.r(n),i.d(n,{CookieBanner:()=>a,Cookies:()=>o.A});var o=i(169);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function s(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function c(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}var a=function(){return e=function e(t){var i=this;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$module=t,this.$acceptButton=t&&t.querySelector('[value="accept"]'),this.$rejectButton=t&&t.querySelector('[value="reject"]'),this.$prompt=t&&t.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=t&&t.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=t&&t.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=t&&t.querySelectorAll('[value="close"]'),this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons){var n=(this.$module.dataset.policies||"").split(",").filter((function(e){return e})).map((function(e){return e.trim()})),r=this.$module.dataset.domain||void 0,s=this.$module.dataset.path||void 0,c=this.$module.dataset.secure||void 0,a=this.$module.dataset.policiesKey||void 0;this.cookies=new o.A({extraPolicies:n,domain:r,path:s,secure:c,policiesKey:a,newInstance:!0}),this.cookiePreferencesSet=this.$module.dataset.preferencesKey||"cookie_preferences_set",this.cookies.hasValue(this.cookiePreferencesSet,"true")||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",(function(){return i.accept()})),this.$rejectButton.addEventListener("click",(function(){return i.reject()})))}},(t=[{key:"accept",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$acceptedMessage.removeAttribute("hidden"),this.$acceptedMessage.focus(),this.$acceptedMessage.setAttribute("tabindex","-1"),this.cookies.acceptAllPolicies()}},{key:"reject",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$rejectedMessage.removeAttribute("hidden"),this.$rejectedMessage.focus(),this.$rejectedMessage.setAttribute("tabindex","-1"),this.cookies.rejectAllPolicies()}},{key:"complete",value:function(){var e=this;this.cookies.set(this.cookiePreferencesSet,!0),this.$closeButtons.forEach((function(t){t.addEventListener("click",(function(){return e.close()}))}))}},{key:"close",value:function(){this.$module.setAttribute("hidden",!0)}}])&&s(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();return n})()));
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={169:(e,t,i)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){h(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?c(e,t):void 0}}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function u(e,t,i){return t&&l(e.prototype,t),i&&l(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e,t,i){return(t=f(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function f(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}i.d(t,{A:()=>v}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var d=function(){return u((function e(){if(a(this,e),h(this,"events",{}),h(this,"oneTimeEvents",{}),window.TNAFrontendCookieEvents)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(s(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(s(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,i)})),Object.hasOwn(this.oneTimeEvents,e))for(var n=this.oneTimeEvents[e].length-1;n>=0;n--)this.oneTimeEvents[e][n].call(this,i),this.oneTimeEvents[e].splice(n,1)}}])}(),v=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a(this,e),h(this,"extraPolicies",[]),h(this,"domain",""),h(this,"path",""),h(this,"secure",!0),h(this,"policiesKey",""),h(this,"events",null),h(this,"defaultAge",null);var i=t.extraPolicies,n=void 0===i?[]:i,o=t.domain,r=void 0===o?null:o,s=t.path,c=void 0===s?null:s,l=t.secure,u=void 0===l||l,f=t.policiesKey,v=void 0===f?"cookies_policy":f,p=t.newInstance,y=void 0!==p&&p,m=t.defaultAge,b=void 0===m?31536e3:m;if(y)this.destroyInstance();else if(window.TNAFrontendCookies)return window.TNAFrontendCookies;this.extraPolicies=n,this.domain=null===r?document.documentElement.dataset.tnaCookiesDomain||"":r,this.path=null===c?document.documentElement.dataset.tnaCookiesPath||"/":c,this.secure=u,this.policiesKey=v,this.defaultAge=b,this.events=new d,this.init(),window.TNAFrontendCookies=this}),[{key:"init",value:function(){this.savePolicies(r(r(r({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1,marketing:!1},this.policies),{},{essential:!0}))}},{key:"destroyInstance",value:function(){window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var i=t.trim().split("=");i[0]&&(e[i[0]]=i[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.maxAge,o=void 0===n?this.defaultAge:n,r=i.sameSite,s=void 0===r?"Lax":r,c=i.domain,a=void 0===c?this.domain:c,l=i.path,u=void 0===l?this.path:l,h=i.secure,f=void 0===h?this.secure:h,d=i.session,v=void 0!==d&&d;if(e){var p="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(a?" domain=".concat(a,"; "):""," samesite=").concat(s,"; path=").concat(u).concat(v?"":"; max-age=".concat(o)).concat(f?"; secure":"");document.cookie=p,this.events.trigger("setCookie",{key:e,value:t,maxAge:o,path:u,sameSite:s,domain:a,secure:f,session:v,cookie:p})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",r({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(n){e.delete(n,t,i)})),this.events.trigger("deleteAllCookies",{path:t,domain:i})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",h({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",h({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(r(r({},this.policies),{},h(h({},e,t),"essential",!0))),this.events.trigger("changePolicy",h({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=r(r({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e),{maxAge:31536e3})}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}()}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};i.r(n),i.d(n,{CookieBanner:()=>a,Cookies:()=>o.A});var o=i(169);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function s(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function c(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}var a=function(){return e=function e(t){var i=this;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$module=t,this.$acceptButton=t&&t.querySelector('[value="accept"]'),this.$rejectButton=t&&t.querySelector('[value="reject"]'),this.$prompt=t&&t.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=t&&t.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=t&&t.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=t&&t.querySelectorAll('[value="close"]'),this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons){var n=(this.$module.dataset.policies||"").split(",").filter((function(e){return e})).map((function(e){return e.trim()})),r=this.$module.dataset.domain||void 0,s=this.$module.dataset.path||void 0,c=this.$module.dataset.secure||void 0,a=this.$module.dataset.policiesKey||void 0;this.cookies=new o.A({extraPolicies:n,domain:r,path:s,secure:c,policiesKey:a,newInstance:!0}),this.cookiePreferencesSet=this.$module.dataset.preferencesKey||"cookie_preferences_set",this.cookies.hasValue(this.cookiePreferencesSet,"true")||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",(function(){return i.accept()})),this.$rejectButton.addEventListener("click",(function(){return i.reject()})))}},(t=[{key:"accept",value:function(){this.$prompt.setAttribute("hidden",""),this.complete(),this.$acceptedMessage.removeAttribute("hidden"),this.$acceptedMessage.focus(),this.$acceptedMessage.setAttribute("tabindex","-1"),this.cookies.acceptAllPolicies()}},{key:"reject",value:function(){this.$prompt.setAttribute("hidden",""),this.complete(),this.$rejectedMessage.removeAttribute("hidden"),this.$rejectedMessage.focus(),this.$rejectedMessage.setAttribute("tabindex","-1"),this.cookies.rejectAllPolicies()}},{key:"complete",value:function(){var e=this;this.cookies.set(this.cookiePreferencesSet,!0),this.$closeButtons.forEach((function(t){t.addEventListener("click",(function(){return e.close()}))}))}},{key:"close",value:function(){this.$module.setAttribute("hidden","")}}])&&s(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();return n})()));
|
2
2
|
//# sourceMappingURL=cookie-banner.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"components/cookie-banner/cookie-banner.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.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/components/cookie-banner/cookie-banner.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings, usage and marketing.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = null,\n path = null,\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n if (domain === null) {\n this.domain = document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.domain = domain;\n }\n if (path === null) {\n this.path = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.path = path;\n }\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n marketing: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\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 Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\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 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.dataset.policies || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.dataset.domain || undefined;\n const path = this.$module.dataset.path || undefined;\n const secure = this.$module.dataset.secure || undefined;\n const policiesKey = this.$module.dataset.policiesKey || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\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 }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_classCallCheck","_defineProperty","this","key","value","event","callback","Object","hasOwn","events","concat","_toConsumableArray","oneTimeEvents","_this","data","arguments","length","undefined","forEach","eventToTrigger","call","i","splice","Cookies","options","_options$extraPolicie","extraPolicies","_options$domain","domain","_options$path","path","_options$secure","secure","_options$policiesKey","policiesKey","_options$newInstance","newInstance","_options$defaultAge","defaultAge","destroyInstance","document","documentElement","dataset","tnaCookiesDomain","tnaCookiesPath","init","savePolicies","_objectSpread","fromEntries","map","k","toLowerCase","usage","settings","marketing","policies","essential","get","deserialised","cookie","split","filter","x","parts","trim","JSON","parse","e","all","exists","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","set","_this2","keys","policy","setPolicy","accepted","allPolicies","stringify","on","once","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","CookieBanner","$module","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","cookies","cookiePreferencesSet","preferencesKey","hasValue","removeAttribute","addEventListener","accept","reject","setAttribute","complete","focus","acceptAllPolicies","rejectAllPolicies","$closeButton","close"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"components/cookie-banner/cookie-banner.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.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/components/cookie-banner/cookie-banner.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings, usage and marketing.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = null,\n path = null,\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n if (domain === null) {\n this.domain = document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.domain = domain;\n }\n if (path === null) {\n this.path = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.path = path;\n }\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n marketing: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\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 Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\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 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.dataset.policies || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.dataset.domain || undefined;\n const path = this.$module.dataset.path || undefined;\n const secure = this.$module.dataset.secure || undefined;\n const policiesKey = this.$module.dataset.policiesKey || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\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 }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", \"\");\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_classCallCheck","_defineProperty","this","key","value","event","callback","Object","hasOwn","events","concat","_toConsumableArray","oneTimeEvents","_this","data","arguments","length","undefined","forEach","eventToTrigger","call","i","splice","Cookies","options","_options$extraPolicie","extraPolicies","_options$domain","domain","_options$path","path","_options$secure","secure","_options$policiesKey","policiesKey","_options$newInstance","newInstance","_options$defaultAge","defaultAge","destroyInstance","document","documentElement","dataset","tnaCookiesDomain","tnaCookiesPath","init","savePolicies","_objectSpread","fromEntries","map","k","toLowerCase","usage","settings","marketing","policies","essential","get","deserialised","cookie","split","filter","x","parts","trim","JSON","parse","e","all","exists","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","set","_this2","keys","policy","setPolicy","accepted","allPolicies","stringify","on","once","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","CookieBanner","$module","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","cookies","cookiePreferencesSet","preferencesKey","hasValue","removeAttribute","addEventListener","accept","reject","setAttribute","complete","focus","acceptAllPolicies","rejectAllPolicies","$closeButton","close"],"sourceRoot":""}
|
@@ -62,7 +62,7 @@ export class CookieBanner {
|
|
62
62
|
}
|
63
63
|
|
64
64
|
accept() {
|
65
|
-
this.$prompt.setAttribute("hidden",
|
65
|
+
this.$prompt.setAttribute("hidden", "");
|
66
66
|
this.complete();
|
67
67
|
this.$acceptedMessage.removeAttribute("hidden");
|
68
68
|
this.$acceptedMessage.focus();
|
@@ -71,7 +71,7 @@ export class CookieBanner {
|
|
71
71
|
}
|
72
72
|
|
73
73
|
reject() {
|
74
|
-
this.$prompt.setAttribute("hidden",
|
74
|
+
this.$prompt.setAttribute("hidden", "");
|
75
75
|
this.complete();
|
76
76
|
this.$rejectedMessage.removeAttribute("hidden");
|
77
77
|
this.$rejectedMessage.focus();
|
@@ -87,6 +87,6 @@ export class CookieBanner {
|
|
87
87
|
}
|
88
88
|
|
89
89
|
close() {
|
90
|
-
this.$module.setAttribute("hidden",
|
90
|
+
this.$module.setAttribute("hidden", "");
|
91
91
|
}
|
92
92
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={169:(e,t,n)=>{function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,f(o.key),o)}}function u(e,t,n){return t&&l(e.prototype,t),n&&l(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}n.d(t,{A:()=>m}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var v=function(){return u((function e(){if(a(this,e),h(this,"events",{}),h(this,"oneTimeEvents",{}),window.TNAFrontendCookieEvents)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(s(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(s(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e))for(var o=this.oneTimeEvents[e].length-1;o>=0;o--)this.oneTimeEvents[e][o].call(this,n),this.oneTimeEvents[e].splice(o,1)}}])}(),m=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a(this,e),h(this,"extraPolicies",[]),h(this,"domain",""),h(this,"path",""),h(this,"secure",!0),h(this,"policiesKey",""),h(this,"events",null),h(this,"defaultAge",null);var n=t.extraPolicies,o=void 0===n?[]:n,i=t.domain,r=void 0===i?null:i,s=t.path,c=void 0===s?null:s,l=t.secure,u=void 0===l||l,f=t.policiesKey,m=void 0===f?"cookies_policy":f,y=t.newInstance,d=void 0!==y&&y,p=t.defaultAge,b=void 0===p?31536e3:p;if(d)this.destroyInstance();else if(window.TNAFrontendCookies)return window.TNAFrontendCookies;this.extraPolicies=o,this.domain=null===r?document.documentElement.dataset.tnaCookiesDomain||"":r,this.path=null===c?document.documentElement.dataset.tnaCookiesPath||"/":c,this.secure=u,this.policiesKey=m,this.defaultAge=b,this.events=new v,this.init(),window.TNAFrontendCookies=this}),[{key:"init",value:function(){this.savePolicies(r(r(r({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1,marketing:!1},this.policies),{},{essential:!0}))}},{key:"destroyInstance",value:function(){window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var n=t.trim().split("=");n[0]&&(e[n[0]]=n[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.maxAge,i=void 0===o?this.defaultAge:o,r=n.sameSite,s=void 0===r?"Lax":r,c=n.domain,a=void 0===c?this.domain:c,l=n.path,u=void 0===l?this.path:l,h=n.secure,f=void 0===h?this.secure:h,v=n.session,m=void 0!==v&&v;if(e){var y="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(a?" domain=".concat(a,"; "):""," samesite=").concat(s,"; path=").concat(u).concat(m?"":"; max-age=".concat(i)).concat(f?"; secure":"");document.cookie=y,this.events.trigger("setCookie",{key:e,value:t,maxAge:i,path:u,sameSite:s,domain:a,secure:f,session:m,cookie:y})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",r({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(o){e.delete(o,t,n)})),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",h({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",h({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(r(r({},this.policies),{},h(h({},e,t),"essential",!0))),this.events.trigger("changePolicy",h({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=r(r({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e),{maxAge:31536e3})}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}()}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{Footer:()=>a});var i=n(169);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function s(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,c(o.key),o)}}function c(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}var a=function(){return e=function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$module=t,this.$themeSelector=t&&t.querySelector(".tna-footer__theme-selector"),this.$tnaTemplate=document.querySelector(".tna-template"),this.$module&&this.$themeSelector&&this.$tnaTemplate&&(this.$themeSelectorButtons=this.$themeSelector.querySelectorAll("button.tna-footer__theme-selector-button[value]"),Array.from(this.$themeSelectorButtons).forEach((function(e){e.addEventListener("click",(function(e){var t=e.target;n.setTheme(t.value),n.selectThemeSelectorButton(t)}))})),this.cookies=new i.A,this.cookies.isPolicyAccepted("settings")&&this.showThemeSelector(),this.cookies.on("changePolicy",(function(e){Object.hasOwn(e,"settings")&&(!0===e.settings?n.showThemeSelector():(n.cookies.delete("theme"),n.hideThemeSelector()))})))},(t=[{key:"showThemeSelector",value:function(){var e=this;if(this.$themeSelector.removeAttribute("hidden"),this.cookies.exists("theme")){var t=Array.from(this.$themeSelectorButtons).find((function(t){return t.value===e.cookies.get("theme")}));t&&this.selectThemeSelectorButton(t)}}},{key:"hideThemeSelector",value:function(){this.$themeSelector.setAttribute("hidden",!0)}},{key:"setTheme",value:function(e){if("light"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme","tna-template--dark-theme");else if("dark"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme"),this.$tnaTemplate.classList.add("tna-template--dark-theme");else{if("system"!==e)return;this.$tnaTemplate.classList.remove("tna-template--dark-theme"),this.$tnaTemplate.classList.add("tna-template--system-theme")}this.cookies.set("theme",e)}},{key:"selectThemeSelectorButton",value:function(e){Array.from(this.$themeSelectorButtons).forEach((function(t){t.value===e.value?(t.classList.remove("tna-button--plain"),t.setAttribute("aria-current",!0)):(t.classList.add("tna-button--plain"),t.removeAttribute("aria-current"))}))}}])&&s(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();return o})()));
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={169:(e,t,n)=>{function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,f(o.key),o)}}function u(e,t,n){return t&&l(e.prototype,t),n&&l(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}n.d(t,{A:()=>m}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var v=function(){return u((function e(){if(a(this,e),h(this,"events",{}),h(this,"oneTimeEvents",{}),window.TNAFrontendCookieEvents)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(s(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(s(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e))for(var o=this.oneTimeEvents[e].length-1;o>=0;o--)this.oneTimeEvents[e][o].call(this,n),this.oneTimeEvents[e].splice(o,1)}}])}(),m=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a(this,e),h(this,"extraPolicies",[]),h(this,"domain",""),h(this,"path",""),h(this,"secure",!0),h(this,"policiesKey",""),h(this,"events",null),h(this,"defaultAge",null);var n=t.extraPolicies,o=void 0===n?[]:n,i=t.domain,r=void 0===i?null:i,s=t.path,c=void 0===s?null:s,l=t.secure,u=void 0===l||l,f=t.policiesKey,m=void 0===f?"cookies_policy":f,y=t.newInstance,d=void 0!==y&&y,p=t.defaultAge,b=void 0===p?31536e3:p;if(d)this.destroyInstance();else if(window.TNAFrontendCookies)return window.TNAFrontendCookies;this.extraPolicies=o,this.domain=null===r?document.documentElement.dataset.tnaCookiesDomain||"":r,this.path=null===c?document.documentElement.dataset.tnaCookiesPath||"/":c,this.secure=u,this.policiesKey=m,this.defaultAge=b,this.events=new v,this.init(),window.TNAFrontendCookies=this}),[{key:"init",value:function(){this.savePolicies(r(r(r({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1,marketing:!1},this.policies),{},{essential:!0}))}},{key:"destroyInstance",value:function(){window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var n=t.trim().split("=");n[0]&&(e[n[0]]=n[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.maxAge,i=void 0===o?this.defaultAge:o,r=n.sameSite,s=void 0===r?"Lax":r,c=n.domain,a=void 0===c?this.domain:c,l=n.path,u=void 0===l?this.path:l,h=n.secure,f=void 0===h?this.secure:h,v=n.session,m=void 0!==v&&v;if(e){var y="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(a?" domain=".concat(a,"; "):""," samesite=").concat(s,"; path=").concat(u).concat(m?"":"; max-age=".concat(i)).concat(f?"; secure":"");document.cookie=y,this.events.trigger("setCookie",{key:e,value:t,maxAge:i,path:u,sameSite:s,domain:a,secure:f,session:m,cookie:y})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",r({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(o){e.delete(o,t,n)})),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",h({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",h({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(r(r({},this.policies),{},h(h({},e,t),"essential",!0))),this.events.trigger("changePolicy",h({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=r(r({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e),{maxAge:31536e3})}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}()}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{Footer:()=>a});var i=n(169);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function s(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,c(o.key),o)}}function c(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}var a=function(){return e=function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$module=t,this.$themeSelector=t&&t.querySelector(".tna-footer__theme-selector"),this.$tnaTemplate=document.querySelector(".tna-template"),this.$module&&this.$themeSelector&&this.$tnaTemplate&&(this.$themeSelectorButtons=this.$themeSelector.querySelectorAll("button.tna-footer__theme-selector-button[value]"),Array.from(this.$themeSelectorButtons).forEach((function(e){e.addEventListener("click",(function(e){var t=e.target;n.setTheme(t.value),n.selectThemeSelectorButton(t)}))})),this.cookies=new i.A,this.cookies.isPolicyAccepted("settings")&&this.showThemeSelector(),this.cookies.on("changePolicy",(function(e){Object.hasOwn(e,"settings")&&(!0===e.settings?n.showThemeSelector():(n.cookies.delete("theme"),n.hideThemeSelector()))})))},(t=[{key:"showThemeSelector",value:function(){var e=this;if(this.$themeSelector.removeAttribute("hidden"),this.cookies.exists("theme")){var t=Array.from(this.$themeSelectorButtons).find((function(t){return t.value===e.cookies.get("theme")}));t&&this.selectThemeSelectorButton(t)}}},{key:"hideThemeSelector",value:function(){this.$themeSelector.setAttribute("hidden","")}},{key:"setTheme",value:function(e){if("light"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme","tna-template--dark-theme");else if("dark"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme"),this.$tnaTemplate.classList.add("tna-template--dark-theme");else{if("system"!==e)return;this.$tnaTemplate.classList.remove("tna-template--dark-theme"),this.$tnaTemplate.classList.add("tna-template--system-theme")}this.cookies.set("theme",e)}},{key:"selectThemeSelectorButton",value:function(e){Array.from(this.$themeSelectorButtons).forEach((function(t){t.value===e.value?(t.classList.remove("tna-button--plain"),t.setAttribute("aria-current",!0)):(t.classList.add("tna-button--plain"),t.removeAttribute("aria-current"))}))}}])&&s(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();return o})()));
|
2
2
|
//# sourceMappingURL=footer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"components/footer/footer.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,cAAe,GAAIH,GACA,iBAAZC,QACdA,QAAqB,YAAID,IAEzBD,EAAkB,YAAIC,GACvB,CATD,CASGK,MAAM,I,+zECTTC,OAAOC,mBAAqBD,OAAOC,oBAAsB,KACzDD,OAAOE,wBAA0BF,OAAOE,yBAA2B,KAE5D,IAAMC,EAAkB,WAW7B,OAAAC,GAPA,SAAAD,IACE,GADYE,EAAA,KAAAF,GAAAG,EAAA,cAHL,CAAC,GAACA,EAAA,qBACK,CAAC,GAGXN,OAAOE,wBACT,OAAOF,OAAOE,wBAEhBF,OAAOE,wBAA0BK,IACnC,GAEA,EAAAC,IAAA,KAAAC,MAKA,SAAGC,EAAOC,GACHC,OAAOC,OAAON,KAAKO,OAAQJ,KAC9BH,KAAKO,OAAOJ,GAAS,IAEvBH,KAAKO,OAAOJ,GAAS,GAAHK,OAAAC,EAAOT,KAAKO,OAAOJ,IAAM,CAAEC,GAC/C,GAAC,CAAAH,IAAA,OAAAC,MAED,SAAKC,EAAOC,GACLC,OAAOC,OAAON,KAAKU,cAAeP,KACrCH,KAAKU,cAAcP,GAAS,IAE9BH,KAAKU,cAAcP,GAAS,GAAHK,OAAAC,EAAOT,KAAKU,cAAcP,IAAM,CAAEC,GAC7D,GAEA,CAAAH,IAAA,UAAAC,MACA,SAAQC,GAAkB,IAAAQ,EAAA,KAAXC,EAAIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAMrB,GALIR,OAAOC,OAAON,KAAKO,OAAQJ,IAC7BH,KAAKO,OAAOJ,GAAOa,SAAQ,SAACC,GAAc,OACxCA,EAAeC,KAAKP,EAAMC,EAAK,IAG/BP,OAAOC,OAAON,KAAKU,cAAeP,GACpC,IAAK,IAAIgB,EAAInB,KAAKU,cAAcP,GAAOW,OAAS,EAAGK,GAAK,EAAGA,IAClCnB,KAAKU,cAAcP,GAAOgB,GAClCD,KAAKlB,KAAMY,GAC1BZ,KAAKU,cAAcP,GAAOiB,OAAOD,EAAG,EAG1C,IAAC,CA5C4B,GAqDVE,EAAO,WA4D1B,OAAAxB,GAlCA,SAAAwB,IAA0B,IAAdC,EAAOT,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAACf,EAAA,KAAAuB,GAzBxBtB,EAAA,qBACgB,IAChBA,EAAA,cACS,IACTA,EAAA,YACO,IACPA,EAAA,eACS,GACTA,EAAA,mBACc,IACdA,EAAA,cACS,MACTA,EAAA,kBACa,MAaX,IAAAwB,EAQID,EAPFE,cAAAA,OAAa,IAAAD,EAAG,GAAEA,EAAAE,EAOhBH,EANFI,OAAAA,OAAM,IAAAD,EAAG,KAAIA,EAAAE,EAMXL,EALFM,KAAAA,OAAI,IAAAD,EAAG,KAAIA,EAAAE,EAKTP,EAJFQ,OAAAA,OAAM,IAAAD,GAAOA,EAAAE,EAIXT,EAHFU,YAAAA,OAAW,IAAAD,EAAG,iBAAgBA,EAAAE,EAG5BX,EAFFY,YAAAA,OAAW,IAAAD,GAAQA,EAAAE,EAEjBb,EADFc,WAAAA,OAAU,IAAAD,EAAG,QAAQA,EAEvB,GAAID,EACFlC,KAAKqC,uBACA,GAAI5C,OAAOC,mBAChB,OAAOD,OAAOC,mBAEhBM,KAAKwB,cAAgBA,EAEnBxB,KAAK0B,OADQ,OAAXA,EACYY,SAASC,gBAAgBC,QAAQC,kBAAoB,GAErDf,EAGd1B,KAAK4B,KADM,OAATA,EACUU,SAASC,gBAAgBC,QAAQE,gBAAkB,IAEnDd,EAEd5B,KAAK8B,OAASA,EACd9B,KAAKgC,YAAcA,EACnBhC,KAAKoC,WAAaA,EAClBpC,KAAKO,OAAS,IAAIX,EAClBI,KAAK2C,OACLlD,OAAOC,mBAAqBM,IAC9B,GAEA,EAAAC,IAAA,OAAAC,MACA,WACEF,KAAK4C,aAAYC,EAAAA,EAAAA,EAAC,CAAC,EACdxC,OAAOyC,YACR9C,KAAKwB,cAAcuB,KAAI,SAACC,GAAC,MAAK,CAACA,EAAEC,eAAe,EAAM,MACvD,IACDC,OAAO,EACPC,UAAU,EACVC,WAAW,GACRpD,KAAKqD,UAAQ,IAChBC,WAAW,IAEf,GAAC,CAAArD,IAAA,kBAAAC,MAED,WACET,OAAOC,mBAAqB,IAC9B,GAEA,CAAAO,IAAA,MAAAsD,IACA,WACE,IAAMC,EAAe,CAAC,EAUtB,OATAlB,SAASmB,OACNC,MAAM,MACNC,QAAO,SAACC,GAAC,OAAKA,CAAC,IACf5C,SAAQ,SAACyC,GACR,IAAMI,EAAQJ,EAAOK,OAAOJ,MAAM,KAC9BG,EAAM,KACRL,EAAaK,EAAM,IAAMA,EAAM,GAEnC,IACKL,CACT,GAEA,CAAAvD,IAAA,WAAAsD,IACA,WACE,IACE,OAAOQ,KAAKC,MAAMhE,KAAKuD,IAAIvD,KAAKgC,cAAgB,KAClD,CAAE,MAAOiC,GACP,MAAO,CAAC,CACV,CACF,GAEA,CAAAhE,IAAA,SAAAC,MAKA,SAAOD,GACL,OAAOI,OAAOC,OAAON,KAAKkE,IAAKjE,EACjC,GAEA,CAAAA,IAAA,WAAAC,MAMA,SAASD,EAAKC,GACZ,OAAOF,KAAKuD,IAAItD,IAAQC,CAC1B,GAEA,CAAAD,IAAA,MAAAC,MAKA,SAAID,GACF,OAAOD,KAAKmE,OAAOlE,GAAOmE,mBAAmBpE,KAAKkE,IAAIjE,IAAQ,IAChE,GAEA,CAAAA,IAAA,MAAAC,MAaA,SAAID,EAAKC,GAAqB,IAAdoB,EAAOT,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzBwD,EAOI/C,EANFgD,OAAAA,OAAM,IAAAD,EAAGrE,KAAKoC,WAAUiC,EAAAE,EAMtBjD,EALFkD,SAAAA,OAAQ,IAAAD,EAAG,MAAKA,EAAAE,EAKdnD,EAJFI,OAAAA,OAAM,IAAA+C,EAAGzE,KAAK0B,OAAM+C,EAAAC,EAIlBpD,EAHFM,KAAAA,OAAI,IAAA8C,EAAG1E,KAAK4B,KAAI8C,EAAAC,EAGdrD,EAFFQ,OAAAA,OAAM,IAAA6C,EAAG3E,KAAK8B,OAAM6C,EAAAC,EAElBtD,EADFuD,QAAAA,OAAO,IAAAD,GAAQA,EAEjB,GAAK3E,EAAL,CAGA,IAAMwD,EAAS,GAAHjD,OAAMsE,mBAAmB7E,GAAI,KAAAO,OAAIsE,mBAAmB5E,GAAM,KAAAM,OACpEkB,EAAS,WAAHlB,OAAckB,EAAM,MAAO,GAAE,cAAAlB,OACxBgE,EAAQ,WAAAhE,OAAUoB,GAAIpB,OAAIqE,EAAkC,GAAxB,aAAHrE,OAAgB8D,IAAa9D,OACzEsB,EAAS,WAAa,IAExBQ,SAASmB,OAASA,EAClBzD,KAAKO,OAAOwE,QAAQ,YAAa,CAC/B9E,IAAAA,EACAC,MAAAA,EACAoE,OAAAA,EACA1C,KAAAA,EACA4C,SAAAA,EACA9C,OAAAA,EACAI,OAAAA,EACA+C,QAAAA,EACApB,OAAAA,GAhBF,CAkBF,GAEA,CAAAxD,IAAA,SAAAC,MAKA,SAAOD,GAAgC,IAC/BqB,EAAU,CAAEgD,QAAS,EAAG1C,KADhBf,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IACmBa,QADRb,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,YACuBE,GACtDf,KAAKgF,IAAI/E,EAAK,GAAIqB,GAClBtB,KAAKO,OAAOwE,QAAQ,eAAclC,EAAA,CAAI5C,IAAAA,GAAQqB,GAChD,GAEA,CAAArB,IAAA,YAAAC,MAGA,WAAqC,IAAA+E,EAAA,KAA3BrD,EAAIf,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAAKa,EAAMb,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAC7BR,OAAO6E,KAAKlF,KAAKkE,KAAKlD,SAAQ,SAACyC,GAC7BwB,EAAI,OAAQxB,EAAQ7B,EAAMF,EAC5B,IACA1B,KAAKO,OAAOwE,QAAQ,mBAAoB,CAAEnD,KAAAA,EAAMF,OAAAA,GAClD,GAEA,CAAAzB,IAAA,eAAAC,MAIA,SAAaiF,GACXnF,KAAKoF,UAAUD,GAAQ,GACvBnF,KAAKO,OAAOwE,QAAQ,eAAgBI,GACpCnF,KAAKO,OAAOwE,QAAQ,eAAchF,EAAA,GAAKoF,GAAS,GAClD,GAEA,CAAAlF,IAAA,eAAAC,MAIA,SAAaiF,GACXnF,KAAKoF,UAAUD,GAAQ,GACvBnF,KAAKO,OAAOwE,QAAQ,eAAgBI,GACpCnF,KAAKO,OAAOwE,QAAQ,eAAchF,EAAA,GAAKoF,GAAS,GAClD,GAEA,CAAAlF,IAAA,YAAAC,MAKA,SAAUiF,EAAQE,GACD,cAAXF,IAGJnF,KAAK4C,aAAYC,EAAAA,EAAC,CAAC,EACd7C,KAAKqD,UAAQ,GAAAtD,EAAAA,EAAA,GACfoF,EAASE,GAAQ,aACP,KAEbrF,KAAKO,OAAOwE,QAAQ,eAAchF,EAAA,GAAKoF,EAASE,IAClD,GAEA,CAAApF,IAAA,oBAAAC,MAGA,WACE,IAAMoF,EAAcjF,OAAOyC,YACzBzC,OAAO6E,KAAKlF,KAAKqD,UAAUN,KAAI,SAACC,GAAC,MAAK,CAACA,EAAEC,eAAe,EAAK,KAE/DjD,KAAK4C,aAAa0C,GAClBtF,KAAKO,OAAOwE,QAAQ,qBACpB/E,KAAKO,OAAOwE,QAAQ,eAAgBO,EACtC,GAEA,CAAArF,IAAA,oBAAAC,MAGA,WACE,IAAMoF,EAAWzC,EAAAA,EAAA,GACZxC,OAAOyC,YACRzC,OAAO6E,KAAKlF,KAAKqD,UAAUN,KAAI,SAACC,GAAC,MAAK,CAACA,EAAEC,eAAe,EAAM,MAC/D,IACDK,WAAW,IAEbtD,KAAK4C,aAAa0C,GAClBtF,KAAKO,OAAOwE,QAAQ,qBACpB/E,KAAKO,OAAOwE,QAAQ,eAAgBO,EACtC,GAEA,CAAArF,IAAA,eAAAC,MAIA,SAAamD,GACXrD,KAAKgF,IAAIhF,KAAKgC,YAAa+B,KAAKwB,UAAUlC,GAAW,CACnDiB,OAAQ,SAEZ,GAEA,CAAArE,IAAA,mBAAAC,MAKA,SAAiBiF,GACf,OAAO9E,OAAOC,OAAON,KAAKqD,SAAU8B,IACN,IAA1BnF,KAAKqD,SAAS8B,GACd,IACN,GAEA,CAAAlF,IAAA,KAAAC,MAKA,SAAGC,EAAOC,GACRJ,KAAKO,OAAOiF,GAAGrF,EAAOC,EACxB,GAEA,CAAAH,IAAA,OAAAC,MAKA,SAAKC,EAAOC,GACVJ,KAAKO,OAAOkF,KAAKtF,EAAOC,EAC1B,IAAC,CAxSyB,E,GCvDxBsF,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB7E,IAAjB8E,EACH,OAAOA,EAAazG,QAGrB,IAAIC,EAASqG,EAAyBE,GAAY,CAGjDxG,QAAS,CAAC,GAOX,OAHA0G,EAAoBF,GAAUvG,EAAQA,EAAOD,QAASuG,GAG/CtG,EAAOD,OACf,CCrBAuG,EAAoBI,EAAI,CAAC3G,EAAS4G,KACjC,IAAI,IAAI/F,KAAO+F,EACXL,EAAoBM,EAAED,EAAY/F,KAAS0F,EAAoBM,EAAE7G,EAASa,IAC5EI,OAAO6F,eAAe9G,EAASa,EAAK,CAAEkG,YAAY,EAAM5C,IAAKyC,EAAW/F,IAE1E,ECND0F,EAAoBM,EAAI,CAACG,EAAKC,IAAUhG,OAAOiG,UAAUC,eAAerF,KAAKkF,EAAKC,GCClFV,EAAoBa,EAAKpH,IACH,oBAAXqH,QAA0BA,OAAOC,aAC1CrG,OAAO6F,eAAe9G,EAASqH,OAAOC,YAAa,CAAExG,MAAO,WAE7DG,OAAO6F,eAAe9G,EAAS,aAAc,CAAEc,OAAO,GAAO,E,qtBCHvD,IAAMyG,EAAM,WAqChB,O,EApCD,SAAAA,EAAYC,GAAS,IAAAjG,EAAA,M,4FAAAb,CAAA,KAAA6G,GACnB3G,KAAK4G,QAAUA,EACf5G,KAAK6G,eACHD,GAAWA,EAAQE,cAAc,+BACnC9G,KAAK+G,aAAezE,SAASwE,cAAc,iBAEtC9G,KAAK4G,SAAY5G,KAAK6G,gBAAmB7G,KAAK+G,eAInD/G,KAAKgH,sBAAwBhH,KAAK6G,eAAeI,iBAC/C,mDAGFC,MAAMC,KAAKnH,KAAKgH,uBAAuBhG,SAAQ,SAACoG,GAC9CA,EAAqBC,iBAAiB,SAAS,SAACpD,GAC9C,IAAMqD,EAAUrD,EAAEsD,OAClB5G,EAAK6G,SAASF,EAAQpH,OACtBS,EAAK8G,0BAA0BH,EACjC,GACF,IAEAtH,KAAK0H,QAAU,IAAIrG,EAAAA,EACfrB,KAAK0H,QAAQC,iBAAiB,aAChC3H,KAAK4H,oBAEP5H,KAAK0H,QAAQlC,GAAG,gBAAgB,SAAC5E,GAC3BP,OAAOC,OAAOM,EAAM,eACA,IAAlBA,EAAKuC,SACPxC,EAAKiH,qBAELjH,EAAK+G,QAAO,OAAQ,SACpB/G,EAAKkH,qBAGX,IACF,G,EAAC,EAAA5H,IAAA,oBAAAC,MAED,WAAoB,IAAA+E,EAAA,KAElB,GADAjF,KAAK6G,eAAeiB,gBAAgB,UAChC9H,KAAK0H,QAAQvD,OAAO,SAAU,CAChC,IAAM4D,EAAsBb,MAAMC,KAAKnH,KAAKgH,uBAAuBgB,MACjE,SAACV,GAAO,OAAKA,EAAQpH,QAAU+E,EAAKyC,QAAQnE,IAAI,QAAQ,IAEtDwE,GACF/H,KAAKyH,0BAA0BM,EAEnC,CACF,GAAC,CAAA9H,IAAA,oBAAAC,MAED,WACEF,KAAK6G,eAAeoB,aAAa,UAAU,EAC7C,GAAC,CAAAhI,IAAA,WAAAC,MAED,SAASgI,GACP,GAAc,UAAVA,EACFlI,KAAK+G,aAAaoB,UAAUC,OAC1B,6BACA,iCAEG,GAAc,SAAVF,EACTlI,KAAK+G,aAAaoB,UAAUC,OAAO,8BACnCpI,KAAK+G,aAAaoB,UAAUE,IAAI,gCAC3B,IAAc,WAAVH,EAIT,OAHAlI,KAAK+G,aAAaoB,UAAUC,OAAO,4BACnCpI,KAAK+G,aAAaoB,UAAUE,IAAI,6BAGlC,CACArI,KAAK0H,QAAQ1C,IAAI,QAASkD,EAC5B,GAAC,CAAAjI,IAAA,4BAAAC,MAED,SAA0BoI,GACxBpB,MAAMC,KAAKnH,KAAKgH,uBAAuBhG,SAAQ,SAACsG,GAC1CA,EAAQpH,QAAUoI,EAAgBpI,OACpCoH,EAAQa,UAAUC,OAAO,qBACzBd,EAAQW,aAAa,gBAAgB,KAErCX,EAAQa,UAAUE,IAAI,qBACtBf,EAAQQ,gBAAgB,gBAE5B,GACF,M,6EAAC,CAnFgB,G","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.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/components/footer/footer.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings, usage and marketing.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = null,\n path = null,\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n if (domain === null) {\n this.domain = document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.domain = domain;\n }\n if (path === null) {\n this.path = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.path = path;\n }\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n marketing: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\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 Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", true);\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_classCallCheck","_defineProperty","this","key","value","event","callback","Object","hasOwn","events","concat","_toConsumableArray","oneTimeEvents","_this","data","arguments","length","undefined","forEach","eventToTrigger","call","i","splice","Cookies","options","_options$extraPolicie","extraPolicies","_options$domain","domain","_options$path","path","_options$secure","secure","_options$policiesKey","policiesKey","_options$newInstance","newInstance","_options$defaultAge","defaultAge","destroyInstance","document","documentElement","dataset","tnaCookiesDomain","tnaCookiesPath","init","savePolicies","_objectSpread","fromEntries","map","k","toLowerCase","usage","settings","marketing","policies","essential","get","deserialised","cookie","split","filter","x","parts","trim","JSON","parse","e","all","exists","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","set","_this2","keys","policy","setPolicy","accepted","allPolicies","stringify","on","once","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","Footer","$module","$themeSelector","querySelector","$tnaTemplate","$themeSelectorButtons","querySelectorAll","Array","from","$themeSelectorButton","addEventListener","$button","target","setTheme","selectThemeSelectorButton","cookies","isPolicyAccepted","showThemeSelector","hideThemeSelector","removeAttribute","$currentThemeButton","find","setAttribute","theme","classList","remove","add","$selectedButton"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"components/footer/footer.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.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/components/footer/footer.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings, usage and marketing.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = null,\n path = null,\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n if (domain === null) {\n this.domain = document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.domain = domain;\n }\n if (path === null) {\n this.path = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.path = path;\n }\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n marketing: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\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 Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", \"\");\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_classCallCheck","_defineProperty","this","key","value","event","callback","Object","hasOwn","events","concat","_toConsumableArray","oneTimeEvents","_this","data","arguments","length","undefined","forEach","eventToTrigger","call","i","splice","Cookies","options","_options$extraPolicie","extraPolicies","_options$domain","domain","_options$path","path","_options$secure","secure","_options$policiesKey","policiesKey","_options$newInstance","newInstance","_options$defaultAge","defaultAge","destroyInstance","document","documentElement","dataset","tnaCookiesDomain","tnaCookiesPath","init","savePolicies","_objectSpread","fromEntries","map","k","toLowerCase","usage","settings","marketing","policies","essential","get","deserialised","cookie","split","filter","x","parts","trim","JSON","parse","e","all","exists","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","set","_this2","keys","policy","setPolicy","accepted","allPolicies","stringify","on","once","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","Footer","$module","$themeSelector","querySelector","$tnaTemplate","$themeSelectorButtons","querySelectorAll","Array","from","$themeSelectorButton","addEventListener","$button","target","setTheme","selectThemeSelectorButton","cookies","isPolicyAccepted","showThemeSelector","hideThemeSelector","removeAttribute","$currentThemeButton","find","setAttribute","theme","classList","remove","add","$selectedButton"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("TNAFrontend",[],e):"object"==typeof exports?exports.TNAFrontend=e():t.TNAFrontend=e()}(self,(()=>(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t){return i="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},i(t)}function n(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,r(n.key),n)}}function r(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}t.r(e),t.d(e,{Gallery:()=>o});var o=function(){return t=function t(e){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$itemsContainer=e&&e.querySelector(".tna-gallery__items"),this.$items=this.$itemsContainer&&this.$itemsContainer.querySelectorAll(".tna-gallery__item"),this.$navigation=e&&e.querySelector(".tna-gallery__navigation"),this.$navigationItems=this.$navigation&&e.querySelectorAll(".tna-gallery__navigation-item"),this.$options=e&&e.querySelector(".tna-gallery__options"),this.$navigationButtons=e&&e.querySelector(".tna-gallery__navigation-buttons"),this.$module&&this.$itemsContainer&&this.$items&&this.$navigation&&this.$navigationItems&&this.$options&&this.$navigationButtons&&(this.$module.classList.add("tna-gallery--interactive"),this.$showIndex=this.$options.querySelector('button[value="show-index"]'),this.$enterFullscreen=this.$options.querySelector('button[value="enter-fullscreen"]'),this.$exitFullscreen=this.$options.querySelector('button[value="exit-fullscreen"]'),this.$navigationButtonPrev=this.$navigationButtons.querySelector(".tna-gallery__navigation-prev"),this.$navigationButtonNext=this.$navigationButtons.querySelector(".tna-gallery__navigation-next"),this.$module.addEventListener("fullscreenchange",(function(){return i.syncFullScreen()})),this.setup(),this.allowGridIndex=this.$module.dataset.showgrid||!1,this.allowGridIndex?this.showIndex():(this.currentId=this.$items[0].id,this.showItem(this.currentId)))},e=[{key:"setup",value:function(){var t,e,i,n,r,o,s,l=this;this.$items.forEach((function(t){t.setAttribute("hidden"
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("TNAFrontend",[],e):"object"==typeof exports?exports.TNAFrontend=e():t.TNAFrontend=e()}(self,(()=>(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t){return i="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},i(t)}function n(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,r(n.key),n)}}function r(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}t.r(e),t.d(e,{Gallery:()=>o});var o=function(){return t=function t(e){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$itemsContainer=e&&e.querySelector(".tna-gallery__items"),this.$items=this.$itemsContainer&&this.$itemsContainer.querySelectorAll(".tna-gallery__item"),this.$navigation=e&&e.querySelector(".tna-gallery__navigation"),this.$navigationItems=this.$navigation&&e.querySelectorAll(".tna-gallery__navigation-item"),this.$options=e&&e.querySelector(".tna-gallery__options"),this.$navigationButtons=e&&e.querySelector(".tna-gallery__navigation-buttons"),this.$module&&this.$itemsContainer&&this.$items&&this.$navigation&&this.$navigationItems&&this.$options&&this.$navigationButtons&&(this.$module.classList.add("tna-gallery--interactive"),this.$showIndex=this.$options.querySelector('button[value="show-index"]'),this.$enterFullscreen=this.$options.querySelector('button[value="enter-fullscreen"]'),this.$exitFullscreen=this.$options.querySelector('button[value="exit-fullscreen"]'),this.$navigationButtonPrev=this.$navigationButtons.querySelector(".tna-gallery__navigation-prev"),this.$navigationButtonNext=this.$navigationButtons.querySelector(".tna-gallery__navigation-next"),this.$module.addEventListener("fullscreenchange",(function(){return i.syncFullScreen()})),this.setup(),this.allowGridIndex=this.$module.dataset.showgrid||!1,this.allowGridIndex?this.showIndex():(this.currentId=this.$items[0].id,this.showItem(this.currentId)))},e=[{key:"setup",value:function(){var t,e,i,n,r,o,s,l=this;this.$items.forEach((function(t){t.setAttribute("hidden",""),t.setAttribute("aria-hidden","true")})),this.$navigation.removeAttribute("hidden"),this.$navigationItems.forEach((function(t){t.addEventListener("click",(function(){l.showItem(t.getAttribute("aria-controls"),!0),l.$itemsContainer.focus()}))})),this.$module.addEventListener("keydown",(function(t){var e=!1;switch(t.key){case"ArrowLeft":case"ArrowUp":l.showPreviousItem(),e=!0;break;case"ArrowRight":case"ArrowDown":l.showNextItem(),e=!0;break;case"Home":l.showFirstItem(),e=!0;break;case"End":l.showLastItem(),e=!0}e&&(t.stopPropagation(),t.preventDefault())})),this.$options.removeAttribute("hidden"),document.fullscreenEnabled&&this.$enterFullscreen&&this.$exitFullscreen&&(null===(r=this.$enterFullscreen)||void 0===r||r.addEventListener("click",(function(){return l.enterFullScreen()})),null===(o=this.$exitFullscreen)||void 0===o||o.addEventListener("click",(function(){return l.exitFullScreen()})),null===(s=this.$enterFullscreen)||void 0===s||s.removeAttribute("hidden")),null===(t=this.$showIndex)||void 0===t||t.addEventListener("click",(function(){return l.showIndex()})),null===(e=this.$navigationButtons)||void 0===e||e.removeAttribute("hidden"),null===(i=this.$navigationButtonPrev)||void 0===i||i.addEventListener("click",(function(){l.showPreviousItem()})),null===(n=this.$navigationButtonNext)||void 0===n||n.addEventListener("click",(function(){l.showNextItem()})),this.$liveRegion=document.createElement("div"),this.$liveRegion.setAttribute("aria-live","polite"),this.$liveRegion.setAttribute("aria-atomic","true"),this.$liveRegion.setAttribute("class","tna-gallery__item-header"),this.$itemsContainer.prepend(this.$liveRegion),this.$itemsContainer.classList.add("tna-gallery__items--hide-item-titles")}},{key:"showIndex",value:function(){var t;this.showItem(""),this.$itemsContainer.classList.add("tna-gallery__items--hide-items"),null===(t=this.$showIndex)||void 0===t||t.setAttribute("hidden","")}},{key:"showItem",value:function(t){var e,i=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$items.forEach((function(e){t&&e.id===t?(e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),n&&(e.setAttribute("tabindex","0"),e.focus())):(e.setAttribute("hidden",""),e.setAttribute("aria-hidden","true")),e.setAttribute("tabindex","-1")})),this.$navigationItems.forEach((function(e){t&&e.getAttribute("aria-controls")===t?(e.setAttribute("aria-current","true"),i.isFullScreen()&&e.scrollIntoView({block:"nearest"})):e.setAttribute("aria-current","false")})),this.allowGridIndex&&(null===(e=this.$showIndex)||void 0===e||e.removeAttribute("hidden")),this.$itemsContainer.classList.remove("tna-gallery__items--hide-items"),this.currentId=t,this.$liveRegion.textContent="Image ".concat(this.getCurrentItemIndex()+1," of ").concat(this.$items.length)}},{key:"getCurrentItemIndex",value:function(){var t=this;return Array.from(this.$items).findIndex((function(e){return e.id===t.currentId}))}},{key:"showPreviousItem",value:function(){var t=this.getCurrentItemIndex()-1;t<0&&(t=this.$items.length-1),this.showItem(this.$items[t].id)}},{key:"showNextItem",value:function(){var t=this.getCurrentItemIndex()+1;t>=this.$items.length&&(t=0),this.showItem(this.$items[t].id)}},{key:"showFirstItem",value:function(){this.showItem(this.$items[0].id)}},{key:"showLastItem",value:function(){this.showItem(this.$items[this.$items.length-1].id)}},{key:"isFullScreen",value:function(){return document.fullscreenElement}},{key:"enterFullScreen",value:function(){this.$module.requestFullscreen(),this.syncFullScreen(),this.$module.focus()}},{key:"exitFullScreen",value:function(){document.exitFullscreen(),this.syncFullScreen()}},{key:"syncFullScreen",value:function(){this.isFullScreen()?(this.$enterFullscreen.setAttribute("hidden",""),this.$exitFullscreen.removeAttribute("hidden")):(this.$exitFullscreen.setAttribute("hidden",""),this.$enterFullscreen.removeAttribute("hidden"))}}],e&&n(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}();return e})()));
|
2
2
|
//# sourceMappingURL=gallery.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"components/gallery/gallery.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/components/gallery/gallery.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\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};","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", true);\n $item.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"), true);\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", true);\n }\n\n showItem(id, focus = false) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n if (focus) {\n $item.setAttribute(\"tabindex\", \"0\");\n $item.focus();\n }\n } else {\n $item.setAttribute(\"hidden\", true);\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", true);\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", true);\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","Gallery","$module","_this","_classCallCheck","this","$itemsContainer","querySelector","$items","querySelectorAll","$navigation","$navigationItems","$options","$navigationButtons","classList","add","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","addEventListener","syncFullScreen","setup","allowGridIndex","dataset","showIndex","currentId","id","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","_this2","forEach","$item","setAttribute","removeAttribute","getAttribute","focus","e","preventDefaultKeyAction","showPreviousItem","showNextItem","showFirstItem","showLastItem","stopPropagation","preventDefault","document","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","createElement","prepend","_this$$showIndex2","_this$$showIndex3","_this3","arguments","length","undefined","isFullScreen","scrollIntoView","block","remove","textContent","concat","getCurrentItemIndex","_this4","Array","from","findIndex","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"components/gallery/gallery.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/components/gallery/gallery.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(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\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};","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"), true);\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", \"\");\n }\n\n showItem(id, focus = false) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n if (focus) {\n $item.setAttribute(\"tabindex\", \"0\");\n $item.focus();\n }\n } else {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", \"\");\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", \"\");\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","Gallery","$module","_this","_classCallCheck","this","$itemsContainer","querySelector","$items","querySelectorAll","$navigation","$navigationItems","$options","$navigationButtons","classList","add","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","addEventListener","syncFullScreen","setup","allowGridIndex","dataset","showIndex","currentId","id","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","_this2","forEach","$item","setAttribute","removeAttribute","getAttribute","focus","e","preventDefaultKeyAction","showPreviousItem","showNextItem","showFirstItem","showLastItem","stopPropagation","preventDefault","document","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","createElement","prepend","_this$$showIndex2","_this$$showIndex3","_this3","arguments","length","undefined","isFullScreen","scrollIntoView","block","remove","textContent","concat","getCurrentItemIndex","_this4","Array","from","findIndex","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen"],"sourceRoot":""}
|
@@ -60,7 +60,7 @@ export class Gallery {
|
|
60
60
|
|
61
61
|
setup() {
|
62
62
|
this.$items.forEach(($item) => {
|
63
|
-
$item.setAttribute("hidden",
|
63
|
+
$item.setAttribute("hidden", "");
|
64
64
|
$item.setAttribute("aria-hidden", "true");
|
65
65
|
});
|
66
66
|
this.$navigation.removeAttribute("hidden");
|
@@ -131,7 +131,7 @@ export class Gallery {
|
|
131
131
|
showIndex() {
|
132
132
|
this.showItem("");
|
133
133
|
this.$itemsContainer.classList.add("tna-gallery__items--hide-items");
|
134
|
-
this.$showIndex?.setAttribute("hidden",
|
134
|
+
this.$showIndex?.setAttribute("hidden", "");
|
135
135
|
}
|
136
136
|
|
137
137
|
showItem(id, focus = false) {
|
@@ -144,7 +144,7 @@ export class Gallery {
|
|
144
144
|
$item.focus();
|
145
145
|
}
|
146
146
|
} else {
|
147
|
-
$item.setAttribute("hidden",
|
147
|
+
$item.setAttribute("hidden", "");
|
148
148
|
$item.setAttribute("aria-hidden", "true");
|
149
149
|
}
|
150
150
|
$item.setAttribute("tabindex", "-1");
|
@@ -218,10 +218,10 @@ export class Gallery {
|
|
218
218
|
|
219
219
|
syncFullScreen() {
|
220
220
|
if (this.isFullScreen()) {
|
221
|
-
this.$enterFullscreen.setAttribute("hidden",
|
221
|
+
this.$enterFullscreen.setAttribute("hidden", "");
|
222
222
|
this.$exitFullscreen.removeAttribute("hidden");
|
223
223
|
} else {
|
224
|
-
this.$exitFullscreen.setAttribute("hidden",
|
224
|
+
this.$exitFullscreen.setAttribute("hidden", "");
|
225
225
|
this.$enterFullscreen.removeAttribute("hidden");
|
226
226
|
}
|
227
227
|
}
|