@oaknational/google-classroom-addon 1.2.1 → 1.4.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.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("@oaknational/oak-components"),n=require("next/navigation");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=a(e),r=function(){return r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)};function l(e,t,n,a){return new(n||(n=Promise))(function(o,r){function l(e){try{u(a.next(e))}catch(e){r(e)}}function i(e){try{u(a.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(l,i)}u((a=a.apply(e,t||[])).next())})}function i(e,t){var n,a,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=i(0),l.throw=i(1),l.return=i(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(r=0)),r;)try{if(n=1,a&&(o=2&i[0]?a.return:i[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,i[1])).done)return o;switch(a=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return r.label++,{value:i[1],done:!1};case 5:r.label++,a=i[1],i=[0];continue;case 7:i=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){r=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){r.label=i[1];break}if(6===i[0]&&r.label<o[1]){r.label=o[1],o=i;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(i);break}o[2]&&r.ops.pop(),r.trys.pop();continue}i=t.call(e,r)}catch(e){i=[6,e],a=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,o,r=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(a=r.next()).done;)l.push(a.value)}catch(e){o={error:e}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return l}"function"==typeof SuppressedError&&SuppressedError;var c=function(){return o.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",xmlnsXlink:"http://www.w3.org/1999/xlink",style:{display:"block"},width:19,height:19},o.default.createElement("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),o.default.createElement("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),o.default.createElement("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),o.default.createElement("path",{fill:"#34A853",d:"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),o.default.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}))},s=function(e){var n=u(o.default.useState(!1),2),a=n[0],l=n[1];return o.default.createElement(t.OakLink,r({},e,{element:"button",style:{textDecoration:"none"},onMouseEnter:function(){return l(!0)},onMouseLeave:function(){return l(!1)},"aria-label":"Sign in with Google"}),o.default.createElement(t.OakFlex,{$pa:"inner-padding-m",$width:"100%",$gap:"space-between-xs",$alignItems:"center",$justifyContent:"center",$borderRadius:"border-radius-s",$ba:"border-solid-s",$borderColor:"border-neutral",$background:a&&"grey20"},o.default.createElement(c,null),o.default.createElement(t.OakSpan,{$font:"body-2-bold",$color:"text-primary",$hoverColor:"text-primary"},"Sign-in with Google")))},d=function(e){var t=e.color,n=void 0===t?"#222222":t;return o.default.createElement("svg",{width:"30",height:"40",viewBox:"0 0 30 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.default.createElement("path",{d:"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z",fill:n}))};exports.GoogleClassroomAuthSuccessView=function(e){var n=e.session;return o.default.useEffect(function(){var e;null===(e=null===window||void 0===window?void 0:window.opener)||void 0===e||e.postMessage({type:"oak-google-classroom-auth-complete",success:!0,session:n},"*"),setTimeout(function(){window.close()},3e3)},[n]),o.default.createElement(o.default.Fragment,null,o.default.createElement(t.OakHeading,{tag:"h1"},"Authentication Successful"),o.default.createElement(t.OakP,null,"This window will automatically close..."))},exports.GoogleClassroomBrowseView=function(){return o.default.createElement(o.default.Fragment,null,o.default.createElement(t.OakHeading,{tag:"h1"},"Browsing curriculum content"),o.default.createElement(t.OakP,null,"This page is a work in progress..."))},exports.GoogleSignInView=function(e){var n=e.getGoogleSignInLink,a=e.onSuccessfulSignIn,r=e.privacyPolicyUrl,c=o.default.useRef(null),f=u(o.default.useState(!1),2),p=f[0],g=f[1],h=o.default.useCallback(function(e){var t;e.data&&"oak-google-classroom-auth-complete"===e.data.type&&(c.current&&(c.current.close(),c.current=null),e.data.success&&e.data.session&&(null===(t=null===window||void 0===window?void 0:window.cookieStore)||void 0===t||t.set({name:"oak-gclassroom-auth",value:e.data.session,partitioned:!0,sameSite:"none",path:"/"}),a(p)))},[a,p]);return o.default.useEffect(function(){return window.addEventListener("message",h),function(){window.removeEventListener("message",h)}},[h]),o.default.createElement(t.OakMaxWidth,{$pa:"inner-padding-xl3",$maxWidth:"all-spacing-21",$ma:"auto"},o.default.createElement(t.OakFlex,{$flexDirection:"column",$rowGap:"space-between-m"},o.default.createElement(d,null),o.default.createElement(t.OakHeading,{tag:"h1",$font:"heading-6"},"Sign in to Oak National Academy"),o.default.createElement(t.OakP,{$font:"body-2"},"Welcome back! Please sign-in to continue"),o.default.createElement(s,{onClick:function(){return l(void 0,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return[4,n()];case 1:if(!(e=t.sent()))throw new Error("Could not get Google Sign In link");return new RegExp(/^(https):/).test(e)?c.current=window.open(e,"popUpWindow","height=500,width=500,left=100,top=100,resizable=no,scrollbars=yes,toolbar=yes,menubar=no,location=yes,directories=no,status=yes"):console.error("getGoogleSignInLink did not return a valid URL"),[2]}})})}}),o.default.createElement(t.OakFlex,{$columnGap:"space-between-xs",$alignItems:"flex-start"},o.default.createElement(t.OakCheckBox,{id:"google-sign-in-newsletter-checkbox",value:"",checked:p,onChange:function(e){return g(e.target.checked)}}),o.default.createElement(t.OakBox,null,o.default.createElement(t.OakLabel,{$font:"body-2",htmlFor:"google-sign-in-newsletter-checkbox"},"Sign up to receive helpful content via email. Unsubscribe at any time. Read our"," "),o.default.createElement(t.OakLink,{href:r,isTrailingIcon:!0,iconName:"external",target:"_blank"},"privacy policy"),"."))))},exports.WithGoogleClassroomAuth=function(e){var a=e.children,r=e.verifySessionAction,c=e.signInUrl,s=n.useRouter(),d=n.useSearchParams(),f=u(o.default.useState(!1),2),p=f[0],g=f[1];return o.default.useEffect(function(){g(!1),l(void 0,void 0,void 0,function(){var e,t,n;return i(this,function(a){switch(a.label){case 0:return e=function(){var e,t=null!==(e=null==d?void 0:d.toString())&&void 0!==e?e:"";s.push("".concat(c,"?").concat(t))},[4,window.cookieStore.get("oak-gclassroom-auth")];case 1:return(t=null===(n=a.sent())||void 0===n?void 0:n.value)?[4,r(t)]:(e(),[2]);case 2:return a.sent().authenticated?(g(!0),[2]):(e(),[2])}})})},[]),p?o.default.createElement(o.default.Fragment,null,a):o.default.createElement(t.OakFlex,{$justifyContent:"center",$alignItems:"center"},o.default.createElement(t.OakLoadingSpinner,{$width:"all-spacing-15",$color:"oakGreen"}))};
1
+ "use strict";var e=require("react"),t=require("@oaknational/oak-components"),n=require("next/navigation");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(e),a=function(){return a=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},a.apply(this,arguments)};function l(e,t,n,o){return new(n||(n=Promise))(function(r,a){function l(e){try{u(o.next(e))}catch(e){a(e)}}function i(e){try{u(o.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(l,i)}u((o=o.apply(e,t||[])).next())})}function i(e,t){var n,o,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=i(0),l.throw=i(1),l.return=i(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)l.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return l}"function"==typeof SuppressedError&&SuppressedError;var c=function(){return r.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",xmlnsXlink:"http://www.w3.org/1999/xlink",style:{display:"block"},width:19,height:19},r.default.createElement("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),r.default.createElement("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),r.default.createElement("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),r.default.createElement("path",{fill:"#34A853",d:"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),r.default.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}))},s=function(e){var n=u(r.default.useState(!1),2),o=n[0],l=n[1];return r.default.createElement(t.OakLink,a({},e,{element:"button",style:{textDecoration:"none"},onMouseEnter:function(){return l(!0)},onMouseLeave:function(){return l(!1)},"aria-label":"Sign in with Google"}),r.default.createElement(t.OakFlex,{$pa:"spacing-16",$width:"100%",$gap:"spacing-12",$alignItems:"center",$justifyContent:"center",$borderRadius:"border-radius-s",$ba:"border-solid-s",$borderColor:"border-neutral",$background:o&&"grey20"},r.default.createElement(c,null),r.default.createElement(t.OakSpan,{$font:"body-2-bold",$color:"text-primary",$hoverColor:"text-primary"},"Sign-in with Google")))},f=function(e){var t=e.color,n=void 0===t?"#222222":t;return r.default.createElement("svg",{width:"30",height:"40",viewBox:"0 0 30 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z",fill:n}))};exports.GoogleClassroomAuthSuccessView=function(e){var t=e.session;return r.default.useEffect(function(){var e;null===(e=null===window||void 0===window?void 0:window.opener)||void 0===e||e.postMessage({type:"oak-google-classroom-auth-complete",success:!0,session:t},"*"),setTimeout(function(){window.close()},3e3)},[t]),r.default.createElement(r.default.Fragment,null)},exports.GoogleClassroomBrowseView=function(){return r.default.createElement(r.default.Fragment,null,r.default.createElement(t.OakHeading,{tag:"h1"},"Browsing curriculum content"),r.default.createElement(t.OakP,null,"This page is a work in progress..."))},exports.GoogleSignInView=function(e){var n=e.getGoogleSignInLink,o=e.onSuccessfulSignIn,a=e.privacyPolicyUrl,c=r.default.useRef(null),d=u(r.default.useState(!1),2),p=d[0],g=d[1],h=r.default.useCallback(function(e){var t;e.data&&"oak-google-classroom-auth-complete"===e.data.type&&(c.current&&(c.current.close(),c.current=null),e.data.success&&e.data.session&&(null===(t=null===window||void 0===window?void 0:window.cookieStore)||void 0===t||t.set({name:"oak-gclassroom-auth",value:e.data.session,partitioned:!0,sameSite:"none",path:"/"}),o(p)))},[o,p]);return r.default.useEffect(function(){return window.addEventListener("message",h),function(){window.removeEventListener("message",h)}},[h]),r.default.createElement(t.OakMaxWidth,{$pa:"spacing-40",$maxWidth:"spacing-480",$ma:"auto"},r.default.createElement(t.OakFlex,{$flexDirection:"column",$rowGap:"spacing-24"},r.default.createElement(f,null),r.default.createElement(t.OakHeading,{tag:"h1",$font:"heading-6"},"Sign in to Oak National Academy"),r.default.createElement(t.OakP,{$font:"body-2"},"Welcome back! Please sign-in to continue"),r.default.createElement(s,{onClick:function(){return l(void 0,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return[4,n()];case 1:if(!(e=t.sent()))throw new Error("Could not get Google Sign In link");return new RegExp(/^(https):/).test(e)?c.current=window.open(e,"popUpWindow","height=500,width=500,left=100,top=100,resizable=no,scrollbars=yes,toolbar=yes,menubar=no,location=yes,directories=no,status=yes"):console.error("getGoogleSignInLink did not return a valid URL"),[2]}})})}}),r.default.createElement(t.OakFlex,{$columnGap:"spacing-12",$alignItems:"flex-start"},r.default.createElement(t.OakCheckBox,{id:"google-sign-in-newsletter-checkbox",value:"",checked:p,onChange:function(e){return g(e.target.checked)}}),r.default.createElement(t.OakBox,null,r.default.createElement(t.OakLabel,{$font:"body-2",htmlFor:"google-sign-in-newsletter-checkbox"},"Sign up to receive helpful content via email. Unsubscribe at any time. Read our"," "),r.default.createElement(t.OakLink,{href:a,isTrailingIcon:!0,iconName:"external",target:"_blank"},"privacy policy"),"."))))},exports.WithGoogleClassroomAuth=function(e){var o=e.children,a=e.verifySessionAction,c=e.signInUrl,s=n.useRouter(),f=n.useSearchParams(),d=u(r.default.useState(!1),2),p=d[0],g=d[1];return r.default.useEffect(function(){g(!1),l(void 0,void 0,void 0,function(){var e,t,n;return i(this,function(o){switch(o.label){case 0:return e=function(){var e,t=null!==(e=null==f?void 0:f.toString())&&void 0!==e?e:"";s.push("".concat(c,"?").concat(t))},[4,window.cookieStore.get("oak-gclassroom-auth")];case 1:return(t=null===(n=o.sent())||void 0===n?void 0:n.value)?[4,a(t)]:(e(),[2]);case 2:return o.sent().authenticated?(g(!0),[2]):(e(),[2])}})})},[]),p?r.default.createElement(r.default.Fragment,null,o):r.default.createElement(t.OakFlex,{$justifyContent:"center",$alignItems:"center"},r.default.createElement(t.OakLoadingSpinner,{$width:"spacing-100",$color:"oakGreen"}))};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/components/GoogleSignInButton/GoogleSignInButtonIcon.tsx","../../../src/components/GoogleSignInButton/GoogleSignInButton.tsx","../../../src/components/OakAcornIcon/OakAcornIcon.tsx","../../../src/views/GoogleClassroomAuthSuccessView/GoogleClassroomAuthSuccessView.tsx","../../../src/views/GoogleClassroomBrowseView/GoogleClassroomBrowseView.tsx","../../../src/views/GoogleSignInView/GoogleSignInView.tsx","../../../src/views/WithGoogleClassroomAuth/WithGoogleClassroomAuth.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\n\nexport const GoogleSignInButtonIcon = () => {\n return (\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: \"block\" }}\n width={19}\n height={19}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakFlex, OakLink, OakSpan } from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButtonIcon } from \"./GoogleSignInButtonIcon\";\n\ntype Props = {\n onClick?: () => void;\n};\nexport const GoogleSignInButton: React.FC<Props> = (props) => {\n const [isHovered, setIsHovered] = React.useState<boolean>(false);\n return (\n <OakLink\n {...props}\n element=\"button\"\n style={{\n textDecoration: \"none\",\n }}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n aria-label={\"Sign in with Google\"}\n >\n <OakFlex\n $pa={\"inner-padding-m\"}\n $width={\"100%\"}\n $gap={\"space-between-xs\"}\n $alignItems={\"center\"}\n $justifyContent={\"center\"}\n $borderRadius={\"border-radius-s\"}\n $ba={\"border-solid-s\"}\n $borderColor={\"border-neutral\"}\n $background={isHovered && \"grey20\"}\n >\n <GoogleSignInButtonIcon />\n <OakSpan\n $font={\"body-2-bold\"}\n $color={\"text-primary\"}\n $hoverColor={\"text-primary\"}\n >\n Sign-in with Google\n </OakSpan>\n </OakFlex>\n </OakLink>\n );\n};\n","import React from \"react\";\n\ntype Props = {\n color?: string;\n};\nexport const OakAcornIcon: React.FC<Props> = ({ color = \"#222222\" }) => {\n return (\n <svg\n width=\"30\"\n height=\"40\"\n viewBox=\"0 0 30 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z\"\n fill={color}\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\ntype Props = {\n session: string;\n};\nexport const GoogleClassroomAuthSuccessView: React.FC<Props> = ({\n session,\n}) => {\n React.useEffect(() => {\n window?.opener?.postMessage(\n {\n type: \"oak-google-classroom-auth-complete\",\n success: true,\n session,\n },\n \"*\",\n );\n setTimeout(() => {\n window.close();\n }, 3000);\n }, [session]);\n return (\n <>\n <OakHeading tag=\"h1\">Authentication Successful</OakHeading>\n <OakP>This window will automatically close...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\nexport const GoogleClassroomBrowseView = () => {\n return (\n <>\n <OakHeading tag=\"h1\">Browsing curriculum content</OakHeading>\n <OakP>This page is a work in progress...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n OakBox,\n OakCheckBox,\n OakFlex,\n OakHeading,\n OakLabel,\n OakLink,\n OakMaxWidth,\n OakP,\n} from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButton, OakAcornIcon } from \"@/components\";\n\ntype Props = {\n getGoogleSignInLink: () => Promise<string | null>;\n onSuccessfulSignIn: (signUpToNewsletter: boolean) => Promise<void> | void;\n privacyPolicyUrl: string;\n};\nexport const GoogleSignInView = ({\n getGoogleSignInLink,\n onSuccessfulSignIn,\n privacyPolicyUrl,\n}: Props) => {\n const popupRef = React.useRef<Window | null>(null);\n const [isNewsletterChecked, setIsNewsletterChecked] = React.useState(false);\n\n const onSignInClick = async () => {\n const signInLink = await getGoogleSignInLink();\n if (!signInLink) throw new Error(\"Could not get Google Sign In link\");\n const validLinkRegex = new RegExp(/^(https):/);\n if (validLinkRegex.test(signInLink)) {\n popupRef.current = window.open(\n signInLink,\n \"popUpWindow\",\n \"height=500,width=500,left=100,top=100,resizable=no,\" +\n \"scrollbars=yes,toolbar=yes,menubar=no,location=yes,\" +\n \"directories=no,status=yes\",\n );\n } else {\n // todo: show error toast\n console.error(\"getGoogleSignInLink did not return a valid URL\");\n }\n };\n const handleAuthMessage = React.useCallback(\n (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === \"oak-google-classroom-auth-complete\"\n ) {\n if (popupRef.current) {\n popupRef.current.close();\n popupRef.current = null;\n }\n if (event.data.success && event.data.session) {\n window?.cookieStore?.set({\n name: \"oak-gclassroom-auth\",\n value: event.data.session,\n partitioned: true,\n sameSite: \"none\",\n path: \"/\",\n });\n onSuccessfulSignIn(isNewsletterChecked);\n }\n }\n },\n [onSuccessfulSignIn, isNewsletterChecked],\n );\n\n React.useEffect(() => {\n window.addEventListener(\"message\", handleAuthMessage);\n return () => {\n window.removeEventListener(\"message\", handleAuthMessage);\n };\n }, [handleAuthMessage]);\n\n return (\n <OakMaxWidth\n $pa={\"inner-padding-xl3\"}\n $maxWidth={\"all-spacing-21\"}\n $ma={\"auto\"}\n >\n <OakFlex $flexDirection=\"column\" $rowGap={\"space-between-m\"}>\n <OakAcornIcon />\n <OakHeading tag={\"h1\"} $font={\"heading-6\"}>\n Sign in to Oak National Academy\n </OakHeading>\n <OakP $font={\"body-2\"}>Welcome back! Please sign-in to continue</OakP>\n <GoogleSignInButton onClick={onSignInClick} />\n <OakFlex $columnGap={\"space-between-xs\"} $alignItems={\"flex-start\"}>\n <OakCheckBox\n id={\"google-sign-in-newsletter-checkbox\"}\n value=\"\"\n checked={isNewsletterChecked}\n onChange={(e) => setIsNewsletterChecked(e.target.checked)}\n />\n <OakBox>\n <OakLabel\n $font={\"body-2\"}\n htmlFor={\"google-sign-in-newsletter-checkbox\"}\n >\n Sign up to receive helpful content via email. Unsubscribe at any\n time. Read our{\" \"}\n </OakLabel>\n <OakLink\n href={privacyPolicyUrl}\n isTrailingIcon={true}\n iconName={\"external\"}\n target={\"_blank\"}\n >\n privacy policy\n </OakLink>\n .\n </OakBox>\n </OakFlex>\n </OakFlex>\n </OakMaxWidth>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\nimport { OakFlex, OakLoadingSpinner } from \"@oaknational/oak-components\";\n\ntype Props = {\n children: React.ReactNode;\n verifySessionAction: (session: string) => Promise<{ authenticated: boolean }>;\n signInUrl: string;\n};\nexport const WithGoogleClassroomAuth: React.FC<Props> = ({\n children,\n verifySessionAction,\n signInUrl,\n}) => {\n const router = useRouter();\n const searchParams = useSearchParams();\n const [hasCheckedAuth, setHasCheckedAuth] = React.useState(false);\n\n const checkAuthenticated = async () => {\n const redirectToSignIn = () => {\n const currentParams = searchParams?.toString() ?? \"\";\n router.push(`${signInUrl}?${currentParams}`);\n };\n const session = (await window.cookieStore.get(\"oak-gclassroom-auth\"))\n ?.value;\n if (!session) {\n redirectToSignIn();\n return;\n }\n const { authenticated } = await verifySessionAction(session);\n if (!authenticated) {\n redirectToSignIn();\n return;\n }\n setHasCheckedAuth(true);\n };\n\n React.useEffect(() => {\n setHasCheckedAuth(false);\n checkAuthenticated();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!hasCheckedAuth)\n return (\n <OakFlex $justifyContent={\"center\"} $alignItems={\"center\"}>\n <OakLoadingSpinner $width={\"all-spacing-15\"} $color={\"oakGreen\"} />\n </OakFlex>\n );\n return <>{children}</>;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__read","o","m","r","ar","error","SuppressedError","GoogleSignInButtonIcon","React","createElement","version","xmlns","viewBox","xmlnsXlink","style","display","width","height","fill","d","GoogleSignInButton","props","_a","useState","isHovered","setIsHovered","OakLink","element","textDecoration","onMouseEnter","onMouseLeave","OakFlex","$width","$gap","$justifyContent","$borderRadius","$borderColor","$background","OakSpan","$font","$color","$hoverColor","OakAcornIcon","_b","color","session","useEffect","window","opener","postMessage","type","success","setTimeout","close","Fragment","OakHeading","tag","OakP","getGoogleSignInLink","onSuccessfulSignIn","privacyPolicyUrl","popupRef","useRef","isNewsletterChecked","setIsNewsletterChecked","handleAuthMessage","useCallback","event","data","current","cookieStore","set","name","partitioned","sameSite","path","addEventListener","removeEventListener","OakMaxWidth","$pa","$maxWidth","$flexDirection","$rowGap","onClick","signInLink","Error","RegExp","test","open","console","$columnGap","$alignItems","OakCheckBox","id","checked","onChange","target","OakBox","OakLabel","htmlFor","href","isTrailingIcon","iconName","children","verifySessionAction","signInUrl","router","useRouter","searchParams","useSearchParams","hasCheckedAuth","setHasCheckedAuth","redirectToSignIn","currentParams","toString","concat","get","authenticated","OakLoadingSpinner"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/components/GoogleSignInButton/GoogleSignInButtonIcon.tsx","../../../src/components/GoogleSignInButton/GoogleSignInButton.tsx","../../../src/components/OakAcornIcon/OakAcornIcon.tsx","../../../src/views/GoogleClassroomAuthSuccessView/GoogleClassroomAuthSuccessView.tsx","../../../src/views/GoogleClassroomBrowseView/GoogleClassroomBrowseView.tsx","../../../src/views/GoogleSignInView/GoogleSignInView.tsx","../../../src/views/WithGoogleClassroomAuth/WithGoogleClassroomAuth.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\n\nexport const GoogleSignInButtonIcon = () => {\n return (\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: \"block\" }}\n width={19}\n height={19}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakFlex, OakLink, OakSpan } from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButtonIcon } from \"./GoogleSignInButtonIcon\";\n\ntype Props = {\n onClick?: () => void;\n};\nexport const GoogleSignInButton: React.FC<Props> = (props) => {\n const [isHovered, setIsHovered] = React.useState<boolean>(false);\n return (\n <OakLink\n {...props}\n element=\"button\"\n style={{\n textDecoration: \"none\",\n }}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n aria-label={\"Sign in with Google\"}\n >\n <OakFlex\n $pa={\"spacing-16\"}\n $width={\"100%\"}\n $gap={\"spacing-12\"}\n $alignItems={\"center\"}\n $justifyContent={\"center\"}\n $borderRadius={\"border-radius-s\"}\n $ba={\"border-solid-s\"}\n $borderColor={\"border-neutral\"}\n $background={isHovered && \"grey20\"}\n >\n <GoogleSignInButtonIcon />\n <OakSpan\n $font={\"body-2-bold\"}\n $color={\"text-primary\"}\n $hoverColor={\"text-primary\"}\n >\n Sign-in with Google\n </OakSpan>\n </OakFlex>\n </OakLink>\n );\n};\n","import React from \"react\";\n\ntype Props = {\n color?: string;\n};\nexport const OakAcornIcon: React.FC<Props> = ({ color = \"#222222\" }) => {\n return (\n <svg\n width=\"30\"\n height=\"40\"\n viewBox=\"0 0 30 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z\"\n fill={color}\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\n\ntype Props = {\n session: string;\n};\nexport const GoogleClassroomAuthSuccessView: React.FC<Props> = ({\n session,\n}) => {\n React.useEffect(() => {\n window?.opener?.postMessage(\n {\n type: \"oak-google-classroom-auth-complete\",\n success: true,\n session,\n },\n \"*\",\n );\n setTimeout(() => {\n window.close();\n }, 3000);\n }, [session]);\n return <></>;\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\nexport const GoogleClassroomBrowseView = () => {\n return (\n <>\n <OakHeading tag=\"h1\">Browsing curriculum content</OakHeading>\n <OakP>This page is a work in progress...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n OakBox,\n OakCheckBox,\n OakFlex,\n OakHeading,\n OakLabel,\n OakLink,\n OakMaxWidth,\n OakP,\n} from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButton, OakAcornIcon } from \"@/components\";\n\ntype Props = {\n getGoogleSignInLink: () => Promise<string | null>;\n onSuccessfulSignIn: (signUpToNewsletter: boolean) => Promise<void> | void;\n privacyPolicyUrl: string;\n};\nexport const GoogleSignInView = ({\n getGoogleSignInLink,\n onSuccessfulSignIn,\n privacyPolicyUrl,\n}: Props) => {\n const popupRef = React.useRef<Window | null>(null);\n const [isNewsletterChecked, setIsNewsletterChecked] = React.useState(false);\n\n const onSignInClick = async () => {\n const signInLink = await getGoogleSignInLink();\n if (!signInLink) throw new Error(\"Could not get Google Sign In link\");\n const validLinkRegex = new RegExp(/^(https):/);\n if (validLinkRegex.test(signInLink)) {\n popupRef.current = window.open(\n signInLink,\n \"popUpWindow\",\n \"height=500,width=500,left=100,top=100,resizable=no,\" +\n \"scrollbars=yes,toolbar=yes,menubar=no,location=yes,\" +\n \"directories=no,status=yes\",\n );\n } else {\n // todo: show error toast\n console.error(\"getGoogleSignInLink did not return a valid URL\");\n }\n };\n const handleAuthMessage = React.useCallback(\n (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === \"oak-google-classroom-auth-complete\"\n ) {\n if (popupRef.current) {\n popupRef.current.close();\n popupRef.current = null;\n }\n if (event.data.success && event.data.session) {\n window?.cookieStore?.set({\n name: \"oak-gclassroom-auth\",\n value: event.data.session,\n partitioned: true,\n sameSite: \"none\",\n path: \"/\",\n });\n onSuccessfulSignIn(isNewsletterChecked);\n }\n }\n },\n [onSuccessfulSignIn, isNewsletterChecked],\n );\n\n React.useEffect(() => {\n window.addEventListener(\"message\", handleAuthMessage);\n return () => {\n window.removeEventListener(\"message\", handleAuthMessage);\n };\n }, [handleAuthMessage]);\n\n return (\n <OakMaxWidth $pa={\"spacing-40\"} $maxWidth={\"spacing-480\"} $ma={\"auto\"}>\n <OakFlex $flexDirection=\"column\" $rowGap={\"spacing-24\"}>\n <OakAcornIcon />\n <OakHeading tag={\"h1\"} $font={\"heading-6\"}>\n Sign in to Oak National Academy\n </OakHeading>\n <OakP $font={\"body-2\"}>Welcome back! Please sign-in to continue</OakP>\n <GoogleSignInButton onClick={onSignInClick} />\n <OakFlex $columnGap={\"spacing-12\"} $alignItems={\"flex-start\"}>\n <OakCheckBox\n id={\"google-sign-in-newsletter-checkbox\"}\n value=\"\"\n checked={isNewsletterChecked}\n onChange={(e) => setIsNewsletterChecked(e.target.checked)}\n />\n <OakBox>\n <OakLabel\n $font={\"body-2\"}\n htmlFor={\"google-sign-in-newsletter-checkbox\"}\n >\n Sign up to receive helpful content via email. Unsubscribe at any\n time. Read our{\" \"}\n </OakLabel>\n <OakLink\n href={privacyPolicyUrl}\n isTrailingIcon={true}\n iconName={\"external\"}\n target={\"_blank\"}\n >\n privacy policy\n </OakLink>\n .\n </OakBox>\n </OakFlex>\n </OakFlex>\n </OakMaxWidth>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\nimport { OakFlex, OakLoadingSpinner } from \"@oaknational/oak-components\";\n\ntype Props = {\n children: React.ReactNode;\n verifySessionAction: (session: string) => Promise<{ authenticated: boolean }>;\n signInUrl: string;\n};\nexport const WithGoogleClassroomAuth: React.FC<Props> = ({\n children,\n verifySessionAction,\n signInUrl,\n}) => {\n const router = useRouter();\n const searchParams = useSearchParams();\n const [hasCheckedAuth, setHasCheckedAuth] = React.useState(false);\n\n const checkAuthenticated = async () => {\n const redirectToSignIn = () => {\n const currentParams = searchParams?.toString() ?? \"\";\n router.push(`${signInUrl}?${currentParams}`);\n };\n const session = (await window.cookieStore.get(\"oak-gclassroom-auth\"))\n ?.value;\n if (!session) {\n redirectToSignIn();\n return;\n }\n const { authenticated } = await verifySessionAction(session);\n if (!authenticated) {\n redirectToSignIn();\n return;\n }\n setHasCheckedAuth(true);\n };\n\n React.useEffect(() => {\n setHasCheckedAuth(false);\n checkAuthenticated();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!hasCheckedAuth)\n return (\n <OakFlex $justifyContent={\"center\"} $alignItems={\"center\"}>\n <OakLoadingSpinner $width={\"spacing-100\"} $color={\"oakGreen\"} />\n </OakFlex>\n );\n return <>{children}</>;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__read","o","m","r","ar","error","SuppressedError","GoogleSignInButtonIcon","React","createElement","version","xmlns","viewBox","xmlnsXlink","style","display","width","height","fill","d","GoogleSignInButton","props","_a","useState","isHovered","setIsHovered","OakLink","element","textDecoration","onMouseEnter","onMouseLeave","OakFlex","$width","$gap","$justifyContent","$borderRadius","$borderColor","$background","OakSpan","$font","$color","$hoverColor","OakAcornIcon","_b","color","session","useEffect","window","opener","postMessage","type","success","setTimeout","close","Fragment","OakHeading","tag","OakP","getGoogleSignInLink","onSuccessfulSignIn","privacyPolicyUrl","popupRef","useRef","isNewsletterChecked","setIsNewsletterChecked","handleAuthMessage","useCallback","event","data","current","cookieStore","set","name","partitioned","sameSite","path","addEventListener","removeEventListener","OakMaxWidth","$pa","$maxWidth","$flexDirection","$rowGap","onClick","signInLink","Error","RegExp","test","open","console","$columnGap","$alignItems","OakCheckBox","id","checked","onChange","target","OakBox","OakLabel","htmlFor","href","isTrailingIcon","iconName","children","verifySessionAction","signInUrl","router","useRouter","searchParams","useSearchParams","hasCheckedAuth","setHasCheckedAuth","redirectToSignIn","currentParams","toString","concat","get","authenticated","OakLoadingSpinner"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import e from"react";import{OakLink as t,OakFlex as n,OakSpan as o,OakMaxWidth as r,OakHeading as a,OakP as l,OakCheckBox as i,OakBox as c,OakLabel as u,OakLoadingSpinner as s}from"@oaknational/oak-components";import{useRouter as f,useSearchParams as d}from"next/navigation";var p=function(){return p=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},p.apply(this,arguments)};function m(e,t,n,o){return new(n||(n=Promise))(function(r,a){function l(e){try{c(o.next(e))}catch(e){a(e)}}function i(e){try{c(o.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(l,i)}c((o=o.apply(e,t||[])).next())})}function g(e,t){var n,o,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=i(0),l.throw=i(1),l.return=i(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)l.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return l}"function"==typeof SuppressedError&&SuppressedError;var w=function(){return e.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",xmlnsXlink:"http://www.w3.org/1999/xlink",style:{display:"block"},width:19,height:19},e.createElement("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),e.createElement("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),e.createElement("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),e.createElement("path",{fill:"#34A853",d:"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),e.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}))},C=function(r){var a=h(e.useState(!1),2),l=a[0],i=a[1];return e.createElement(t,p({},r,{element:"button",style:{textDecoration:"none"},onMouseEnter:function(){return i(!0)},onMouseLeave:function(){return i(!1)},"aria-label":"Sign in with Google"}),e.createElement(n,{$pa:"inner-padding-m",$width:"100%",$gap:"space-between-xs",$alignItems:"center",$justifyContent:"center",$borderRadius:"border-radius-s",$ba:"border-solid-s",$borderColor:"border-neutral",$background:l&&"grey20"},e.createElement(w,null),e.createElement(o,{$font:"body-2-bold",$color:"text-primary",$hoverColor:"text-primary"},"Sign-in with Google")))},v=function(t){var n=t.color,o=void 0===n?"#222222":n;return e.createElement("svg",{width:"30",height:"40",viewBox:"0 0 30 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z",fill:o}))},y=function(o){var s=o.getGoogleSignInLink,f=o.onSuccessfulSignIn,d=o.privacyPolicyUrl,p=e.useRef(null),w=h(e.useState(!1),2),y=w[0],b=w[1],E=e.useCallback(function(e){var t;e.data&&"oak-google-classroom-auth-complete"===e.data.type&&(p.current&&(p.current.close(),p.current=null),e.data.success&&e.data.session&&(null===(t=null===window||void 0===window?void 0:window.cookieStore)||void 0===t||t.set({name:"oak-gclassroom-auth",value:e.data.session,partitioned:!0,sameSite:"none",path:"/"}),f(y)))},[f,y]);return e.useEffect(function(){return window.addEventListener("message",E),function(){window.removeEventListener("message",E)}},[E]),e.createElement(r,{$pa:"inner-padding-xl3",$maxWidth:"all-spacing-21",$ma:"auto"},e.createElement(n,{$flexDirection:"column",$rowGap:"space-between-m"},e.createElement(v,null),e.createElement(a,{tag:"h1",$font:"heading-6"},"Sign in to Oak National Academy"),e.createElement(l,{$font:"body-2"},"Welcome back! Please sign-in to continue"),e.createElement(C,{onClick:function(){return m(void 0,void 0,void 0,function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,s()];case 1:if(!(e=t.sent()))throw new Error("Could not get Google Sign In link");return new RegExp(/^(https):/).test(e)?p.current=window.open(e,"popUpWindow","height=500,width=500,left=100,top=100,resizable=no,scrollbars=yes,toolbar=yes,menubar=no,location=yes,directories=no,status=yes"):console.error("getGoogleSignInLink did not return a valid URL"),[2]}})})}}),e.createElement(n,{$columnGap:"space-between-xs",$alignItems:"flex-start"},e.createElement(i,{id:"google-sign-in-newsletter-checkbox",value:"",checked:y,onChange:function(e){return b(e.target.checked)}}),e.createElement(c,null,e.createElement(u,{$font:"body-2",htmlFor:"google-sign-in-newsletter-checkbox"},"Sign up to receive helpful content via email. Unsubscribe at any time. Read our"," "),e.createElement(t,{href:d,isTrailingIcon:!0,iconName:"external",target:"_blank"},"privacy policy"),"."))))},b=function(t){var n=t.session;return e.useEffect(function(){var e;null===(e=null===window||void 0===window?void 0:window.opener)||void 0===e||e.postMessage({type:"oak-google-classroom-auth-complete",success:!0,session:n},"*"),setTimeout(function(){window.close()},3e3)},[n]),e.createElement(e.Fragment,null,e.createElement(a,{tag:"h1"},"Authentication Successful"),e.createElement(l,null,"This window will automatically close..."))},E=function(){return e.createElement(e.Fragment,null,e.createElement(a,{tag:"h1"},"Browsing curriculum content"),e.createElement(l,null,"This page is a work in progress..."))},k=function(t){var o=t.children,r=t.verifySessionAction,a=t.signInUrl,l=f(),i=d(),c=h(e.useState(!1),2),u=c[0],p=c[1];return e.useEffect(function(){p(!1),m(void 0,void 0,void 0,function(){var e,t,n;return g(this,function(o){switch(o.label){case 0:return e=function(){var e,t=null!==(e=null==i?void 0:i.toString())&&void 0!==e?e:"";l.push("".concat(a,"?").concat(t))},[4,window.cookieStore.get("oak-gclassroom-auth")];case 1:return(t=null===(n=o.sent())||void 0===n?void 0:n.value)?[4,r(t)]:(e(),[2]);case 2:return o.sent().authenticated?(p(!0),[2]):(e(),[2])}})})},[]),u?e.createElement(e.Fragment,null,o):e.createElement(n,{$justifyContent:"center",$alignItems:"center"},e.createElement(s,{$width:"all-spacing-15",$color:"oakGreen"}))};export{b as GoogleClassroomAuthSuccessView,E as GoogleClassroomBrowseView,y as GoogleSignInView,k as WithGoogleClassroomAuth};
1
+ import e from"react";import{OakLink as t,OakFlex as n,OakSpan as o,OakMaxWidth as r,OakHeading as a,OakP as i,OakCheckBox as l,OakBox as c,OakLabel as u,OakLoadingSpinner as s}from"@oaknational/oak-components";import{useRouter as f,useSearchParams as d}from"next/navigation";var p=function(){return p=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},p.apply(this,arguments)};function g(e,t,n,o){return new(n||(n=Promise))(function(r,a){function i(e){try{c(o.next(e))}catch(e){a(e)}}function l(e){try{c(o.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,l)}c((o=o.apply(e,t||[])).next())})}function m(e,t){var n,o,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(c){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&l[0]?o.return:l[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,l[1])).done)return r;switch(o=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,o=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){a.label=l[1];break}if(6===l[0]&&a.label<r[1]){a.label=r[1],r=l;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(l);break}r[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],o=0}finally{n=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return i}"function"==typeof SuppressedError&&SuppressedError;var C=function(){return e.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",xmlnsXlink:"http://www.w3.org/1999/xlink",style:{display:"block"},width:19,height:19},e.createElement("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),e.createElement("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),e.createElement("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),e.createElement("path",{fill:"#34A853",d:"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),e.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}))},v=function(r){var a=h(e.useState(!1),2),i=a[0],l=a[1];return e.createElement(t,p({},r,{element:"button",style:{textDecoration:"none"},onMouseEnter:function(){return l(!0)},onMouseLeave:function(){return l(!1)},"aria-label":"Sign in with Google"}),e.createElement(n,{$pa:"spacing-16",$width:"100%",$gap:"spacing-12",$alignItems:"center",$justifyContent:"center",$borderRadius:"border-radius-s",$ba:"border-solid-s",$borderColor:"border-neutral",$background:i&&"grey20"},e.createElement(C,null),e.createElement(o,{$font:"body-2-bold",$color:"text-primary",$hoverColor:"text-primary"},"Sign-in with Google")))},w=function(t){var n=t.color,o=void 0===n?"#222222":n;return e.createElement("svg",{width:"30",height:"40",viewBox:"0 0 30 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z",fill:o}))},y=function(o){var s=o.getGoogleSignInLink,f=o.onSuccessfulSignIn,d=o.privacyPolicyUrl,p=e.useRef(null),C=h(e.useState(!1),2),y=C[0],b=C[1],E=e.useCallback(function(e){var t;e.data&&"oak-google-classroom-auth-complete"===e.data.type&&(p.current&&(p.current.close(),p.current=null),e.data.success&&e.data.session&&(null===(t=null===window||void 0===window?void 0:window.cookieStore)||void 0===t||t.set({name:"oak-gclassroom-auth",value:e.data.session,partitioned:!0,sameSite:"none",path:"/"}),f(y)))},[f,y]);return e.useEffect(function(){return window.addEventListener("message",E),function(){window.removeEventListener("message",E)}},[E]),e.createElement(r,{$pa:"spacing-40",$maxWidth:"spacing-480",$ma:"auto"},e.createElement(n,{$flexDirection:"column",$rowGap:"spacing-24"},e.createElement(w,null),e.createElement(a,{tag:"h1",$font:"heading-6"},"Sign in to Oak National Academy"),e.createElement(i,{$font:"body-2"},"Welcome back! Please sign-in to continue"),e.createElement(v,{onClick:function(){return g(void 0,void 0,void 0,function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,s()];case 1:if(!(e=t.sent()))throw new Error("Could not get Google Sign In link");return new RegExp(/^(https):/).test(e)?p.current=window.open(e,"popUpWindow","height=500,width=500,left=100,top=100,resizable=no,scrollbars=yes,toolbar=yes,menubar=no,location=yes,directories=no,status=yes"):console.error("getGoogleSignInLink did not return a valid URL"),[2]}})})}}),e.createElement(n,{$columnGap:"spacing-12",$alignItems:"flex-start"},e.createElement(l,{id:"google-sign-in-newsletter-checkbox",value:"",checked:y,onChange:function(e){return b(e.target.checked)}}),e.createElement(c,null,e.createElement(u,{$font:"body-2",htmlFor:"google-sign-in-newsletter-checkbox"},"Sign up to receive helpful content via email. Unsubscribe at any time. Read our"," "),e.createElement(t,{href:d,isTrailingIcon:!0,iconName:"external",target:"_blank"},"privacy policy"),"."))))},b=function(t){var n=t.session;return e.useEffect(function(){var e;null===(e=null===window||void 0===window?void 0:window.opener)||void 0===e||e.postMessage({type:"oak-google-classroom-auth-complete",success:!0,session:n},"*"),setTimeout(function(){window.close()},3e3)},[n]),e.createElement(e.Fragment,null)},E=function(){return e.createElement(e.Fragment,null,e.createElement(a,{tag:"h1"},"Browsing curriculum content"),e.createElement(i,null,"This page is a work in progress..."))},k=function(t){var o=t.children,r=t.verifySessionAction,a=t.signInUrl,i=f(),l=d(),c=h(e.useState(!1),2),u=c[0],p=c[1];return e.useEffect(function(){p(!1),g(void 0,void 0,void 0,function(){var e,t,n;return m(this,function(o){switch(o.label){case 0:return e=function(){var e,t=null!==(e=null==l?void 0:l.toString())&&void 0!==e?e:"";i.push("".concat(a,"?").concat(t))},[4,window.cookieStore.get("oak-gclassroom-auth")];case 1:return(t=null===(n=o.sent())||void 0===n?void 0:n.value)?[4,r(t)]:(e(),[2]);case 2:return o.sent().authenticated?(p(!0),[2]):(e(),[2])}})})},[]),u?e.createElement(e.Fragment,null,o):e.createElement(n,{$justifyContent:"center",$alignItems:"center"},e.createElement(s,{$width:"spacing-100",$color:"oakGreen"}))};export{b as GoogleClassroomAuthSuccessView,E as GoogleClassroomBrowseView,y as GoogleSignInView,k as WithGoogleClassroomAuth};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/components/GoogleSignInButton/GoogleSignInButtonIcon.tsx","../../../src/components/GoogleSignInButton/GoogleSignInButton.tsx","../../../src/components/OakAcornIcon/OakAcornIcon.tsx","../../../src/views/GoogleSignInView/GoogleSignInView.tsx","../../../src/views/GoogleClassroomAuthSuccessView/GoogleClassroomAuthSuccessView.tsx","../../../src/views/GoogleClassroomBrowseView/GoogleClassroomBrowseView.tsx","../../../src/views/WithGoogleClassroomAuth/WithGoogleClassroomAuth.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\n\nexport const GoogleSignInButtonIcon = () => {\n return (\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: \"block\" }}\n width={19}\n height={19}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakFlex, OakLink, OakSpan } from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButtonIcon } from \"./GoogleSignInButtonIcon\";\n\ntype Props = {\n onClick?: () => void;\n};\nexport const GoogleSignInButton: React.FC<Props> = (props) => {\n const [isHovered, setIsHovered] = React.useState<boolean>(false);\n return (\n <OakLink\n {...props}\n element=\"button\"\n style={{\n textDecoration: \"none\",\n }}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n aria-label={\"Sign in with Google\"}\n >\n <OakFlex\n $pa={\"inner-padding-m\"}\n $width={\"100%\"}\n $gap={\"space-between-xs\"}\n $alignItems={\"center\"}\n $justifyContent={\"center\"}\n $borderRadius={\"border-radius-s\"}\n $ba={\"border-solid-s\"}\n $borderColor={\"border-neutral\"}\n $background={isHovered && \"grey20\"}\n >\n <GoogleSignInButtonIcon />\n <OakSpan\n $font={\"body-2-bold\"}\n $color={\"text-primary\"}\n $hoverColor={\"text-primary\"}\n >\n Sign-in with Google\n </OakSpan>\n </OakFlex>\n </OakLink>\n );\n};\n","import React from \"react\";\n\ntype Props = {\n color?: string;\n};\nexport const OakAcornIcon: React.FC<Props> = ({ color = \"#222222\" }) => {\n return (\n <svg\n width=\"30\"\n height=\"40\"\n viewBox=\"0 0 30 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z\"\n fill={color}\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n OakBox,\n OakCheckBox,\n OakFlex,\n OakHeading,\n OakLabel,\n OakLink,\n OakMaxWidth,\n OakP,\n} from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButton, OakAcornIcon } from \"@/components\";\n\ntype Props = {\n getGoogleSignInLink: () => Promise<string | null>;\n onSuccessfulSignIn: (signUpToNewsletter: boolean) => Promise<void> | void;\n privacyPolicyUrl: string;\n};\nexport const GoogleSignInView = ({\n getGoogleSignInLink,\n onSuccessfulSignIn,\n privacyPolicyUrl,\n}: Props) => {\n const popupRef = React.useRef<Window | null>(null);\n const [isNewsletterChecked, setIsNewsletterChecked] = React.useState(false);\n\n const onSignInClick = async () => {\n const signInLink = await getGoogleSignInLink();\n if (!signInLink) throw new Error(\"Could not get Google Sign In link\");\n const validLinkRegex = new RegExp(/^(https):/);\n if (validLinkRegex.test(signInLink)) {\n popupRef.current = window.open(\n signInLink,\n \"popUpWindow\",\n \"height=500,width=500,left=100,top=100,resizable=no,\" +\n \"scrollbars=yes,toolbar=yes,menubar=no,location=yes,\" +\n \"directories=no,status=yes\",\n );\n } else {\n // todo: show error toast\n console.error(\"getGoogleSignInLink did not return a valid URL\");\n }\n };\n const handleAuthMessage = React.useCallback(\n (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === \"oak-google-classroom-auth-complete\"\n ) {\n if (popupRef.current) {\n popupRef.current.close();\n popupRef.current = null;\n }\n if (event.data.success && event.data.session) {\n window?.cookieStore?.set({\n name: \"oak-gclassroom-auth\",\n value: event.data.session,\n partitioned: true,\n sameSite: \"none\",\n path: \"/\",\n });\n onSuccessfulSignIn(isNewsletterChecked);\n }\n }\n },\n [onSuccessfulSignIn, isNewsletterChecked],\n );\n\n React.useEffect(() => {\n window.addEventListener(\"message\", handleAuthMessage);\n return () => {\n window.removeEventListener(\"message\", handleAuthMessage);\n };\n }, [handleAuthMessage]);\n\n return (\n <OakMaxWidth\n $pa={\"inner-padding-xl3\"}\n $maxWidth={\"all-spacing-21\"}\n $ma={\"auto\"}\n >\n <OakFlex $flexDirection=\"column\" $rowGap={\"space-between-m\"}>\n <OakAcornIcon />\n <OakHeading tag={\"h1\"} $font={\"heading-6\"}>\n Sign in to Oak National Academy\n </OakHeading>\n <OakP $font={\"body-2\"}>Welcome back! Please sign-in to continue</OakP>\n <GoogleSignInButton onClick={onSignInClick} />\n <OakFlex $columnGap={\"space-between-xs\"} $alignItems={\"flex-start\"}>\n <OakCheckBox\n id={\"google-sign-in-newsletter-checkbox\"}\n value=\"\"\n checked={isNewsletterChecked}\n onChange={(e) => setIsNewsletterChecked(e.target.checked)}\n />\n <OakBox>\n <OakLabel\n $font={\"body-2\"}\n htmlFor={\"google-sign-in-newsletter-checkbox\"}\n >\n Sign up to receive helpful content via email. Unsubscribe at any\n time. Read our{\" \"}\n </OakLabel>\n <OakLink\n href={privacyPolicyUrl}\n isTrailingIcon={true}\n iconName={\"external\"}\n target={\"_blank\"}\n >\n privacy policy\n </OakLink>\n .\n </OakBox>\n </OakFlex>\n </OakFlex>\n </OakMaxWidth>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\ntype Props = {\n session: string;\n};\nexport const GoogleClassroomAuthSuccessView: React.FC<Props> = ({\n session,\n}) => {\n React.useEffect(() => {\n window?.opener?.postMessage(\n {\n type: \"oak-google-classroom-auth-complete\",\n success: true,\n session,\n },\n \"*\",\n );\n setTimeout(() => {\n window.close();\n }, 3000);\n }, [session]);\n return (\n <>\n <OakHeading tag=\"h1\">Authentication Successful</OakHeading>\n <OakP>This window will automatically close...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\nexport const GoogleClassroomBrowseView = () => {\n return (\n <>\n <OakHeading tag=\"h1\">Browsing curriculum content</OakHeading>\n <OakP>This page is a work in progress...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\nimport { OakFlex, OakLoadingSpinner } from \"@oaknational/oak-components\";\n\ntype Props = {\n children: React.ReactNode;\n verifySessionAction: (session: string) => Promise<{ authenticated: boolean }>;\n signInUrl: string;\n};\nexport const WithGoogleClassroomAuth: React.FC<Props> = ({\n children,\n verifySessionAction,\n signInUrl,\n}) => {\n const router = useRouter();\n const searchParams = useSearchParams();\n const [hasCheckedAuth, setHasCheckedAuth] = React.useState(false);\n\n const checkAuthenticated = async () => {\n const redirectToSignIn = () => {\n const currentParams = searchParams?.toString() ?? \"\";\n router.push(`${signInUrl}?${currentParams}`);\n };\n const session = (await window.cookieStore.get(\"oak-gclassroom-auth\"))\n ?.value;\n if (!session) {\n redirectToSignIn();\n return;\n }\n const { authenticated } = await verifySessionAction(session);\n if (!authenticated) {\n redirectToSignIn();\n return;\n }\n setHasCheckedAuth(true);\n };\n\n React.useEffect(() => {\n setHasCheckedAuth(false);\n checkAuthenticated();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!hasCheckedAuth)\n return (\n <OakFlex $justifyContent={\"center\"} $alignItems={\"center\"}>\n <OakLoadingSpinner $width={\"all-spacing-15\"} $color={\"oakGreen\"} />\n </OakFlex>\n );\n return <>{children}</>;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__read","o","m","r","ar","error","SuppressedError","GoogleSignInButtonIcon","React","createElement","version","xmlns","viewBox","xmlnsXlink","style","display","width","height","fill","d","GoogleSignInButton","props","_a","useState","isHovered","setIsHovered","OakLink","element","textDecoration","onMouseEnter","onMouseLeave","OakFlex","$width","$gap","$justifyContent","$borderRadius","$borderColor","$background","OakSpan","$font","$color","$hoverColor","OakAcornIcon","_b","color","GoogleSignInView","getGoogleSignInLink","onSuccessfulSignIn","privacyPolicyUrl","popupRef","useRef","isNewsletterChecked","setIsNewsletterChecked","handleAuthMessage","useCallback","event","data","type","current","close","success","session","window","cookieStore","set","name","partitioned","sameSite","path","useEffect","addEventListener","removeEventListener","OakMaxWidth","$pa","$maxWidth","$flexDirection","$rowGap","OakHeading","tag","OakP","onClick","signInLink","Error","RegExp","test","open","console","$columnGap","$alignItems","OakCheckBox","id","checked","onChange","target","OakBox","OakLabel","htmlFor","href","isTrailingIcon","iconName","GoogleClassroomAuthSuccessView","opener","postMessage","setTimeout","Fragment","GoogleClassroomBrowseView","WithGoogleClassroomAuth","children","verifySessionAction","signInUrl","router","useRouter","searchParams","useSearchParams","hasCheckedAuth","setHasCheckedAuth","redirectToSignIn","currentParams","toString","concat","get","authenticated","OakLoadingSpinner"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/components/GoogleSignInButton/GoogleSignInButtonIcon.tsx","../../../src/components/GoogleSignInButton/GoogleSignInButton.tsx","../../../src/components/OakAcornIcon/OakAcornIcon.tsx","../../../src/views/GoogleSignInView/GoogleSignInView.tsx","../../../src/views/GoogleClassroomAuthSuccessView/GoogleClassroomAuthSuccessView.tsx","../../../src/views/GoogleClassroomBrowseView/GoogleClassroomBrowseView.tsx","../../../src/views/WithGoogleClassroomAuth/WithGoogleClassroomAuth.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\n\nexport const GoogleSignInButtonIcon = () => {\n return (\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: \"block\" }}\n width={19}\n height={19}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakFlex, OakLink, OakSpan } from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButtonIcon } from \"./GoogleSignInButtonIcon\";\n\ntype Props = {\n onClick?: () => void;\n};\nexport const GoogleSignInButton: React.FC<Props> = (props) => {\n const [isHovered, setIsHovered] = React.useState<boolean>(false);\n return (\n <OakLink\n {...props}\n element=\"button\"\n style={{\n textDecoration: \"none\",\n }}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n aria-label={\"Sign in with Google\"}\n >\n <OakFlex\n $pa={\"spacing-16\"}\n $width={\"100%\"}\n $gap={\"spacing-12\"}\n $alignItems={\"center\"}\n $justifyContent={\"center\"}\n $borderRadius={\"border-radius-s\"}\n $ba={\"border-solid-s\"}\n $borderColor={\"border-neutral\"}\n $background={isHovered && \"grey20\"}\n >\n <GoogleSignInButtonIcon />\n <OakSpan\n $font={\"body-2-bold\"}\n $color={\"text-primary\"}\n $hoverColor={\"text-primary\"}\n >\n Sign-in with Google\n </OakSpan>\n </OakFlex>\n </OakLink>\n );\n};\n","import React from \"react\";\n\ntype Props = {\n color?: string;\n};\nexport const OakAcornIcon: React.FC<Props> = ({ color = \"#222222\" }) => {\n return (\n <svg\n width=\"30\"\n height=\"40\"\n viewBox=\"0 0 30 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.432 6.8134C17.2641 6.9574 17.9812 7.04602 18.6836 7.20479C21.7484 7.8766 24.5021 9.54441 26.5115 11.9458C28.4836 14.2363 29.6739 17.092 29.9102 20.1005C29.9584 20.6543 29.9899 21.2082 29.9992 21.7621C30.0103 22.3621 29.9158 22.4673 29.345 22.5504C27.2042 22.8558 25.0222 22.6855 22.9552 22.0519C21.6282 21.65 20.3666 21.0586 19.2099 20.2962C17.7721 19.3386 16.5419 18.1031 15.5925 16.6629C14.5377 15.0887 13.8529 13.2977 13.5892 11.4234C13.4854 10.744 13.4687 10.0535 13.4039 9.28915C11.091 9.66233 8.93039 10.6771 7.16974 12.2172C4.60492 14.4327 3.11311 17.2481 2.57568 20.6322C3.09458 20.7356 3.57085 20.8463 4.05823 20.922C4.49003 20.9885 4.74391 21.1547 4.75874 21.6476C4.80258 23.232 5.09201 24.8001 5.61677 26.2963C6.14643 27.7501 6.78768 29.1611 7.53482 30.5167C8.61709 32.5413 10.1406 34.2988 11.9936 35.6602C12.9644 36.3603 14.0068 36.9562 15.1032 37.4381C15.4739 37.6006 16.0854 37.3384 16.5376 37.1501C18.6647 36.296 20.5308 34.9029 21.9508 33.1088C22.7588 32.0805 23.4 30.9044 24.0023 29.7376C24.7324 28.3216 25.0308 26.7616 25.2198 25.1886C25.2569 24.8803 25.3643 24.7548 25.6849 24.7843C26.0679 24.8221 26.4531 24.8332 26.8376 24.8175C27.2954 24.7935 27.49 25.0298 27.4307 25.4268C27.2453 26.6822 27.1341 27.9671 26.782 29.1782C25.998 31.8118 24.5512 34.202 22.579 36.1218C20.8099 37.9148 18.6124 39.2305 16.1929 39.9453C15.7055 40.0893 15.2978 39.9194 14.866 39.7773C12.1771 38.8948 9.96435 37.2941 8.09819 35.2172C7.21482 34.2352 6.4035 33.1913 5.67051 32.0934C4.80076 30.7727 4.09919 29.3495 3.58196 27.8564C3.01314 26.3167 2.6632 24.7054 2.54233 23.0692C2.52168 22.9981 2.48437 22.9328 2.43346 22.8789C2.38255 22.825 2.31951 22.7839 2.24952 22.759C1.67689 22.5744 1.09128 22.447 0.513084 22.2882C0.432981 22.2769 0.356021 22.2495 0.286881 22.2077C0.217741 22.1658 0.157865 22.1104 0.110891 22.0448C0.0639177 21.9792 0.0308281 21.9047 0.0136336 21.826C-0.00356099 21.7472 -0.00450137 21.6658 0.0108695 21.5867C0.159848 19.1412 0.87059 16.7625 2.08829 14.6339C3.11333 12.8409 4.48597 11.2689 6.12639 10.0092C7.92657 8.6205 10.0163 7.65149 12.2419 7.1734C12.3432 7.13614 12.4493 7.11314 12.557 7.10509C13.6374 7.20294 13.9153 6.50323 14.1841 5.64291C14.8392 3.56486 16.0754 1.71595 17.7477 0.312931C18.2314 -0.10431 18.2926 -0.10431 18.7244 0.312931C18.9764 0.560321 19.2192 0.818789 19.4545 1.08095C19.8048 1.47234 19.8048 1.64773 19.4082 2.00405C18.4924 2.85935 17.7341 3.86784 17.1677 4.98381C16.8914 5.58083 16.6459 6.19149 16.432 6.8134ZM27.6104 20.4457C27.5789 20.2796 27.5474 20.1485 27.5289 20.0156C27.2709 18.1548 26.6074 16.3728 25.5849 14.7945C24.3948 12.9165 22.7197 11.3919 20.7351 10.3802C19.3935 9.71621 17.939 9.30796 16.4468 9.17653C16.1836 9.14699 16.041 9.22084 16.0465 9.51992C16.1003 11.8387 16.7248 13.9859 18.098 15.8635C19.3807 17.629 21.1515 18.9844 23.1943 19.7645C24.6119 20.3183 26.076 20.4845 27.6104 20.4457Z\"\n fill={color}\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n OakBox,\n OakCheckBox,\n OakFlex,\n OakHeading,\n OakLabel,\n OakLink,\n OakMaxWidth,\n OakP,\n} from \"@oaknational/oak-components\";\n\nimport { GoogleSignInButton, OakAcornIcon } from \"@/components\";\n\ntype Props = {\n getGoogleSignInLink: () => Promise<string | null>;\n onSuccessfulSignIn: (signUpToNewsletter: boolean) => Promise<void> | void;\n privacyPolicyUrl: string;\n};\nexport const GoogleSignInView = ({\n getGoogleSignInLink,\n onSuccessfulSignIn,\n privacyPolicyUrl,\n}: Props) => {\n const popupRef = React.useRef<Window | null>(null);\n const [isNewsletterChecked, setIsNewsletterChecked] = React.useState(false);\n\n const onSignInClick = async () => {\n const signInLink = await getGoogleSignInLink();\n if (!signInLink) throw new Error(\"Could not get Google Sign In link\");\n const validLinkRegex = new RegExp(/^(https):/);\n if (validLinkRegex.test(signInLink)) {\n popupRef.current = window.open(\n signInLink,\n \"popUpWindow\",\n \"height=500,width=500,left=100,top=100,resizable=no,\" +\n \"scrollbars=yes,toolbar=yes,menubar=no,location=yes,\" +\n \"directories=no,status=yes\",\n );\n } else {\n // todo: show error toast\n console.error(\"getGoogleSignInLink did not return a valid URL\");\n }\n };\n const handleAuthMessage = React.useCallback(\n (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === \"oak-google-classroom-auth-complete\"\n ) {\n if (popupRef.current) {\n popupRef.current.close();\n popupRef.current = null;\n }\n if (event.data.success && event.data.session) {\n window?.cookieStore?.set({\n name: \"oak-gclassroom-auth\",\n value: event.data.session,\n partitioned: true,\n sameSite: \"none\",\n path: \"/\",\n });\n onSuccessfulSignIn(isNewsletterChecked);\n }\n }\n },\n [onSuccessfulSignIn, isNewsletterChecked],\n );\n\n React.useEffect(() => {\n window.addEventListener(\"message\", handleAuthMessage);\n return () => {\n window.removeEventListener(\"message\", handleAuthMessage);\n };\n }, [handleAuthMessage]);\n\n return (\n <OakMaxWidth $pa={\"spacing-40\"} $maxWidth={\"spacing-480\"} $ma={\"auto\"}>\n <OakFlex $flexDirection=\"column\" $rowGap={\"spacing-24\"}>\n <OakAcornIcon />\n <OakHeading tag={\"h1\"} $font={\"heading-6\"}>\n Sign in to Oak National Academy\n </OakHeading>\n <OakP $font={\"body-2\"}>Welcome back! Please sign-in to continue</OakP>\n <GoogleSignInButton onClick={onSignInClick} />\n <OakFlex $columnGap={\"spacing-12\"} $alignItems={\"flex-start\"}>\n <OakCheckBox\n id={\"google-sign-in-newsletter-checkbox\"}\n value=\"\"\n checked={isNewsletterChecked}\n onChange={(e) => setIsNewsletterChecked(e.target.checked)}\n />\n <OakBox>\n <OakLabel\n $font={\"body-2\"}\n htmlFor={\"google-sign-in-newsletter-checkbox\"}\n >\n Sign up to receive helpful content via email. Unsubscribe at any\n time. Read our{\" \"}\n </OakLabel>\n <OakLink\n href={privacyPolicyUrl}\n isTrailingIcon={true}\n iconName={\"external\"}\n target={\"_blank\"}\n >\n privacy policy\n </OakLink>\n .\n </OakBox>\n </OakFlex>\n </OakFlex>\n </OakMaxWidth>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\n\ntype Props = {\n session: string;\n};\nexport const GoogleClassroomAuthSuccessView: React.FC<Props> = ({\n session,\n}) => {\n React.useEffect(() => {\n window?.opener?.postMessage(\n {\n type: \"oak-google-classroom-auth-complete\",\n success: true,\n session,\n },\n \"*\",\n );\n setTimeout(() => {\n window.close();\n }, 3000);\n }, [session]);\n return <></>;\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { OakHeading, OakP } from \"@oaknational/oak-components\";\n\nexport const GoogleClassroomBrowseView = () => {\n return (\n <>\n <OakHeading tag=\"h1\">Browsing curriculum content</OakHeading>\n <OakP>This page is a work in progress...</OakP>\n </>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\nimport { OakFlex, OakLoadingSpinner } from \"@oaknational/oak-components\";\n\ntype Props = {\n children: React.ReactNode;\n verifySessionAction: (session: string) => Promise<{ authenticated: boolean }>;\n signInUrl: string;\n};\nexport const WithGoogleClassroomAuth: React.FC<Props> = ({\n children,\n verifySessionAction,\n signInUrl,\n}) => {\n const router = useRouter();\n const searchParams = useSearchParams();\n const [hasCheckedAuth, setHasCheckedAuth] = React.useState(false);\n\n const checkAuthenticated = async () => {\n const redirectToSignIn = () => {\n const currentParams = searchParams?.toString() ?? \"\";\n router.push(`${signInUrl}?${currentParams}`);\n };\n const session = (await window.cookieStore.get(\"oak-gclassroom-auth\"))\n ?.value;\n if (!session) {\n redirectToSignIn();\n return;\n }\n const { authenticated } = await verifySessionAction(session);\n if (!authenticated) {\n redirectToSignIn();\n return;\n }\n setHasCheckedAuth(true);\n };\n\n React.useEffect(() => {\n setHasCheckedAuth(false);\n checkAuthenticated();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!hasCheckedAuth)\n return (\n <OakFlex $justifyContent={\"center\"} $alignItems={\"center\"}>\n <OakLoadingSpinner $width={\"spacing-100\"} $color={\"oakGreen\"} />\n </OakFlex>\n );\n return <>{children}</>;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__read","o","m","r","ar","error","SuppressedError","GoogleSignInButtonIcon","React","createElement","version","xmlns","viewBox","xmlnsXlink","style","display","width","height","fill","d","GoogleSignInButton","props","_a","useState","isHovered","setIsHovered","OakLink","element","textDecoration","onMouseEnter","onMouseLeave","OakFlex","$width","$gap","$justifyContent","$borderRadius","$borderColor","$background","OakSpan","$font","$color","$hoverColor","OakAcornIcon","_b","color","GoogleSignInView","getGoogleSignInLink","onSuccessfulSignIn","privacyPolicyUrl","popupRef","useRef","isNewsletterChecked","setIsNewsletterChecked","handleAuthMessage","useCallback","event","data","type","current","close","success","session","window","cookieStore","set","name","partitioned","sameSite","path","useEffect","addEventListener","removeEventListener","OakMaxWidth","$pa","$maxWidth","$flexDirection","$rowGap","OakHeading","tag","OakP","onClick","signInLink","Error","RegExp","test","open","console","$columnGap","$alignItems","OakCheckBox","id","checked","onChange","target","OakBox","OakLabel","htmlFor","href","isTrailingIcon","iconName","GoogleClassroomAuthSuccessView","opener","postMessage","setTimeout","GoogleClassroomBrowseView","Fragment","WithGoogleClassroomAuth","children","verifySessionAction","signInUrl","router","useRouter","searchParams","useSearchParams","hasCheckedAuth","setHasCheckedAuth","redirectToSignIn","currentParams","toString","concat","get","authenticated","OakLoadingSpinner"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oaknational/google-classroom-addon",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "Components and helpers for the Oak Google Classroom Add-on",
5
5
  "exports": {
6
6
  "./ui": {
@@ -47,8 +47,9 @@
47
47
  },
48
48
  "homepage": "https://github.com/oaknational/google-classroom-addon#readme",
49
49
  "peerDependencies": {
50
+ "@googleapis/classroom": ">=11.0.0",
50
51
  "@google-cloud/firestore": ">=7.11.2",
51
- "@oaknational/oak-components": ">=1.144.0",
52
+ "@oaknational/oak-components": ">=1.165.0",
52
53
  "google-auth-library": ">=9.15.1",
53
54
  "next": ">=15.4.3",
54
55
  "react": ">=18.3.1",