{"version":3,"sources":["init.js"],"names":["FRAMEWORK","window","requireInitConfig","moduleAttributes","customRequireConfigUrl","loadMain","script","document","createElement","baseUrl","head","setAttribute","initScript","getElementById","currentUrl","src","replace","getAttribute","crossorigin","localeUrl","settingsUrl","appUrl","getElementsByTagName","karma"],"mappings":"aAAA,IAAIA,UAAYC,OAAOD,WAAa,GAApCA,UAAIA,kBAAmBA,CAEvBA,QAAUE,MAETC,iBADe,EAEhB,EAEA,WAQEC,SACAC,KACCC,EADOC,SAAGC,cAAW,QAAA,GACrBF,IAASC,UAASC,kBAAeC,QAAU,WAE3CH,EADAA,aAAaN,cAAUE,WAAkBO,EAEzCC,EADAJ,YAAOK,CAAc,CAEtB,CAVD,IAAIC,EAEHF,EACAJ,EACAF,EAcI,yBAA0BH,SAEjBM,QAAbK,EADAL,SAAAM,eAAA,SAAA,KAGCC,EADIF,EAAmBG,IAGvBf,UAAAA,kBAAUE,QAAyBY,EAAGA,QAAWE,WAAmB,EAAE,GAEtEZ,EACKA,EAAyBa,aAAA,cAAA,KAC7BjB,UACAA,kBAAUE,uBAAoCE,EAA9CJ,UAA2EkB,kBAAcf,iBAAAC,GAAA,CAAAc,YAAA,WAAA,GAG1FlB,UAAAA,kBAAUE,UAA2BU,EAAGA,aAAWK,aAAc,EACjEjB,UAAAA,kBAAUE,YAA6BU,EAAGA,aAAWK,eAAc,EAGtCd,OAA5BH,UAAUE,kBAAkBC,YAA5BH,UAA0FkB,kBAAcf,iBAAAH,UAAAE,kBAAAiB,WAAA,CAAAD,YAAA,WAAA,GACzG,OAAAlB,UAAAE,kBAAAkB,cAECpB,UADIA,kBAAUE,iBAA6BF,UAAYE,kBAAAkB,aAAA,CAAAF,YAAA,WAAA,GAIxDlB,UAHwHE,kBAAAmB,OAAAT,EAAAK,aAAA,UAAA,GAOzHP,EAAOH,SAASe,qBAAsB,MAAO,EAAG,GAAhCA,YAAhBZ,OAAOH,QAINF,EADA,IAGAC,EADMC,SAAAC,cAAA,QAAA,GACNF,IAASC,UAASC,kBAAeC,QAAU,0BAE3CT,UAAAuB,OAECjB,EADIN,aAAe,YAAGA,UAAAE,kBAAAO,QAAA,UAAA,EAGvBH,EADAK,aAAA,cAAA,WAAA,EAEAD,EADAJ,YAAOK,CAAc,EAMxBX,UAAAuB,QAEIjB,EADKN,OAAS,WAEbK,EADK,CAEN,IAIH,EADA","file":"init.js","sourcesContent":["var FRAMEWORK = window.FRAMEWORK || {};\r\n\r\nFRAMEWORK.requireInitConfig = {\r\n\tbaseUrl : '/js',\r\n\tmoduleAttributes : {},\r\n};\r\n\r\n// Extend require config\r\n( function fn() {\r\n\t'use strict';\r\n\r\n\tvar initScript,\r\n\t\tcurrentUrl,\r\n\t\thead,\r\n\t\tscript,\r\n\t\tcustomRequireConfigUrl,\r\n\t\tloadMain = function() {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/main.js';\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\t\t};\r\n\r\n\t/*\r\n\t * Check browser has minimum level of feature support\r\n\t * Bar set at EDGE using techniques covered https://walterebert.com/blog/gracefully-ignoring-old-browsers/\r\n\t * replaced Intl with IntersectionObserver to remove all versions of Internet Explorer\r\n\t */\r\n\r\n\tif ( 'IntersectionObserver' in window ) {\r\n\t\t// Set base URL based on where init.js is being loaded from\r\n\t\tinitScript = document.getElementById( 'js-init' );\r\n\t\tif ( initScript !== null ) {\r\n\t\t\tcurrentUrl = initScript.src;\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.baseUrl = currentUrl.replace( '/init.js', '' );\r\n\r\n\t\t\tcustomRequireConfigUrl = initScript.getAttribute( 'data-require' );\r\n\t\t\tif ( customRequireConfigUrl ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.customRequireConfigUrl = customRequireConfigUrl;\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.localeUrl = initScript.getAttribute( 'data-locale' );\r\n\t\t\tFRAMEWORK.requireInitConfig.settingsUrl = initScript.getAttribute( 'data-settings' );\r\n\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.localeUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.localeUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.settingsUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.settingsUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.appUrl = initScript.getAttribute( 'data-app' );\r\n\t\t}\r\n\r\n\t\t// Insert RequireJS in page\r\n\t\thead = document.getElementsByTagName( 'head' )[ 0 ];\r\n\r\n\t\tif ( typeof require === 'function' ) {\r\n\t\t\t// If require is already loaded then don't load it again. Just load main and intitialise Framework\r\n\t\t\tloadMain();\r\n\t\t} else {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/vendor/core/require.js';\r\n\t\t\t// If running a karma test then load main.js using the data-main attribute\r\n\t\t\tif ( FRAMEWORK.karma ) {\r\n\t\t\t\tscript.setAttribute( 'data-main', FRAMEWORK.requireInitConfig.baseUrl + '/main.js' );\r\n\t\t\t}\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\r\n\t\t\t/*\r\n\t\t\t * If not running a karma test then load main.js after require.js script has\r\n\t\t\t * loaded so that crossorigin and integrity can be applied to it\r\n\t\t\t */\r\n\t\t\tif ( !FRAMEWORK.karma ) {\r\n\t\t\t\tscript.onload = function onload() {\r\n\t\t\t\t\tloadMain();\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})();\r\n"]}