pxt-core 8.2.13 → 8.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/buildengine.js +3 -3
- package/built/cli.js +5 -5
- package/built/gdb.js +4 -4
- package/built/nodeutil.d.ts +1 -0
- package/built/pxt.js +360 -360
- package/built/pxtblockly.js +35 -35
- package/built/pxtblocks.js +35 -35
- package/built/pxtcompiler.js +156 -156
- package/built/pxteditor.d.ts +15 -3
- package/built/pxteditor.js +6 -6
- package/built/pxtlib.d.ts +2 -1
- package/built/pxtlib.js +162 -161
- package/built/pxtpy.js +34 -35
- package/built/pxtsim.d.ts +5 -5
- package/built/pxtsim.js +3 -3
- package/built/server.js +5 -5
- package/built/storage.js +4 -4
- package/built/target.js +1 -1
- package/built/web/main.js +1 -1
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtasseteditor.js +1 -1
- package/built/web/pxteditor.js +1 -1
- package/built/web/pxtembed.js +2 -2
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtpy.js +1 -1
- package/built/web/pxtsim.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/rtlsemantic.css +1 -1
- package/built/web/semantic.css +1 -1
- package/built/web/skillmap/js/2.960f04a5.chunk.js +2 -0
- package/built/web/skillmap/js/main.44b2383f.chunk.js +1 -0
- package/common-docs/static/logo/social-buttons/google-classroom.png +0 -0
- package/common-docs/static/logo/social-buttons/microsoft-teams.png +0 -0
- package/docfiles/pxtweb/tsconfig.json +2 -1
- package/localtypings/dom.d.ts +3 -0
- package/localtypings/react.d.ts +1 -1
- package/package.json +6 -6
- package/react-common/components/controls/Modal.tsx +2 -2
- package/react-common/components/share/ShareInfo.tsx +1 -1
- package/react-common/tsconfig.json +3 -2
- package/theme/common.less +5 -3
- package/theme/highcontrast.less +3 -0
- package/theme/toolbox.less +25 -0
- package/theme/tutorial-sidebar.less +171 -115
- package/webapp/public/skillmap.html +1 -1
- package/built/web/skillmap/js/2.26325281.chunk.js +0 -2
- package/built/web/skillmap/js/main.d94a2bd9.chunk.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(this.webpackJsonpskillsmap=this.webpackJsonpskillsmap||[]).push([[0],[,,,,,,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0;var r=a(0),n=a(10);t.Button=function(e){var t=e.id,a=e.className,i=e.ariaLabel,s=e.ariaHidden,o=e.ariaDescribedBy,c=e.ariaControls,l=e.ariaExpanded,d=e.ariaHasPopup,u=e.ariaPosInSet,p=e.ariaSetSize,h=e.ariaSelected,f=e.role,v=e.onClick,m=e.onKeydown,b=e.onBlur,g=e.buttonRef,y=e.title,j=e.label,x=e.leftIcon,k=e.rightIcon,O=e.disabled,S=e.href,w=e.target,I=e.tabIndex,C=(0,n.classList)("common-button",a,O&&"disabled");return(0,r.jsx)("button",Object.assign({id:t,className:C,title:y,ref:g,onClick:O?void 0:function(e){v&&v(),S&&window.open(S,w||"_blank","noopener,noreferrer"),e.stopPropagation(),e.preventDefault()},onKeyDown:m||n.fireClickOnEnter,onBlur:b,role:f||"button",tabIndex:I||(O?-1:0),"aria-label":i,"aria-hidden":s,"aria-controls":c,"aria-expanded":l,"aria-haspopup":d,"aria-posinset":u,"aria-setsize":p,"aria-describedby":o,"aria-selected":h},{children:(0,r.jsxs)("span",Object.assign({className:"common-button-flex"},{children:[x&&(0,r.jsx)("i",{className:x,"aria-hidden":!0}),(0,r.jsx)("span",Object.assign({className:"common-button-label"},{children:j})),k&&(0,r.jsx)("i",{className:"right "+k,"aria-hidden":!0})]}))}))}},,,function(e,t,a){"use strict";var r=a(34).default;Object.defineProperty(t,"__esModule",{value:!0}),t.screenToSVGCoord=t.clientCoord=t.CheckboxStatus=t.nodeListToArray=t.classList=t.fireClickOnEnter=t.jsxLF=void 0;var n=a(0);t.jsxLF=function(e){var t=[];e.replace(/\{\d\}/g,(function(e){return t.push(parseInt(e.substr(1,1))),e}));for(var a,r=[],i=0,s=arguments.length,o=new Array(s>1?s-1:0),c=1;c<s;c++)o[c-1]=arguments[c];for(var l=0,d=t;l<d.length;l++){var u=d[l];a=e.split("{".concat(u,"}")),pxt.U.assert(2===a.length),r.push((0,n.jsx)("span",{children:a[0]},i++)),r.push((0,n.jsx)("span",{children:o[u]},i++)),e=a[1]}return r.push((0,n.jsx)("span",{children:e},i++)),r},t.fireClickOnEnter=function(e){var t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.currentTarget.click())},t.classList=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((function(e){return"string"==typeof e})).reduce((function(e,t){return e.concat(t.split(" "))}),[]).map((function(e){return e.trim()})).filter((function(e){return!!e})).join(" ")},t.nodeListToArray=function(e){var t,a=[],n=r(e);try{for(n.s();!(t=n.n()).done;){var i=t.value;a.push(i)}}catch(e){n.e(e)}finally{n.f()}return a},function(e){e[e.Selected=0]="Selected",e[e.Unselected=1]="Unselected",e[e.Waiting=2]="Waiting"}(t.CheckboxStatus||(t.CheckboxStatus={})),t.clientCoord=function(e){if(e.touches){var t=e;return t.touches.length?t.touches[0]:t.changedTouches[0]}return e},t.screenToSVGCoord=function(e,t){var a=e.createSVGPoint();return a.x=t.clientX,a.y=t.clientY,a.matrixTransform(e.getScreenCTM().inverse())}},,,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modal=void 0;var r=a(0),n=a(42),i=a(10),s=a(7),o=a(24);t.Modal=function(e){var t=e.children,a=e.id,c=e.className,l=e.ariaLabel,d=e.ariaHidden,u=e.ariaDescribedBy,p=e.role,h=e.title,f=e.helpUrl,v=e.actions,m=e.onClose,b=e.parentElement,g=e.fullscreen,y=function(e){m&&m()},j=(0,i.classList)("common-modal-container",g&&"fullscreen",c);return n.createPortal((0,r.jsx)(o.FocusTrap,Object.assign({className:j,onEscape:y},{children:(0,r.jsxs)("div",Object.assign({id:a,className:"common-modal",role:p||"dialog","aria-hidden":d,"aria-label":l,"aria-describedby":u,"aria-labelledby":"modal-title"},{children:[(0,r.jsxs)("div",Object.assign({className:"common-modal-header"},{children:[g&&(0,r.jsx)("div",Object.assign({className:"common-modal-back"},{children:(0,r.jsx)(s.Button,{className:"menu-button",onClick:y,title:lf("Go Back"),label:lf("Go Back"),leftIcon:"fas fa-arrow-left"})})),(0,r.jsx)("div",Object.assign({id:"modal-title",className:"common-modal-title"},{children:h})),g&&f&&(0,r.jsx)("div",Object.assign({className:"common-modal-help"},{children:(0,r.jsx)(s.Button,{className:"menu-button",title:lf("Help on {0} dialog",h),href:e.helpUrl,onClick:function(){},rightIcon:"fas fa-question"})})),!g&&(0,r.jsx)("div",Object.assign({className:"common-modal-close"},{children:(0,r.jsx)(s.Button,{className:"menu-button inverted",onClick:y,title:lf("Close"),rightIcon:"fas fa-times-circle"})}))]})),(0,r.jsx)("div",Object.assign({className:"common-modal-body"},{children:t})),(null==v?void 0:v.length)&&(0,r.jsx)("div",Object.assign({className:"common-modal-footer"},{children:v.map((function(e,t){return(0,r.jsx)(s.Button,{className:"primary inverted",disabled:e.disabled,onClick:e.onClick,href:e.url,label:e.label,title:e.label,rightIcon:(e.xicon?"xicon ":"")+e.icon},t)}))}))]}))})),b||document.body)}},,,,,,,,function(e,t,a){"use strict";var r=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.MenuDropdown=void 0;var n=a(0),i=a(4),s=a(10),o=a(7),c=a(24);t.MenuDropdown=function(e){var t,a,l=e.id,d=e.className,u=e.ariaHidden,p=e.ariaLabel,h=e.role,f=e.items,v=e.label,m=e.title,b=e.icon,g=e.tabIndex,y=i.useState(!1),j=r(y,2),x=j[0],k=j[1],O=(0,s.classList)("common-menu-dropdown",d),S=l+"-menu";return(0,n.jsxs)("div",Object.assign({className:O,ref:function(e){e&&(t=e)},onBlur:function(e){t&&x&&!t.contains(e.relatedTarget)&&k(!1)}},{children:[(0,n.jsx)(o.Button,{id:l,label:v,tabIndex:g,buttonRef:function(e){e&&(a=e)},title:m,leftIcon:b,role:h||"menuitem",className:(0,s.classList)("menu-button",x&&"expanded"),onClick:function(){k(!x)},ariaHasPopup:"true",ariaExpanded:x,ariaControls:x?S:void 0,ariaLabel:p,ariaHidden:u}),x&&(0,n.jsx)("div",Object.assign({role:"menu",className:"common-menu-dropdown-pane",tabIndex:0,id:S,"aria-labelledby":l},{children:(0,n.jsx)(c.FocusTrap,Object.assign({arrowKeyNavigation:!0,onEscape:function(){k(!1),a&&a.focus()}},{children:(0,n.jsx)("ul",Object.assign({role:"presentation"},{children:f.map((function(e,t){return(0,n.jsx)("li",Object.assign({role:"presentation"},{children:(0,n.jsx)(o.Button,Object.assign({},e,{className:(0,s.classList)("common-menu-dropdown-item",e.className),onClick:function(){k(!1),e.onClick()},role:"menuitem",ariaPosInSet:t+1,ariaSetSize:f.length}))}),t)}))}))}))}))]}))}},,function(e,t,a){"use strict";var r=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.FocusTrap=void 0;var n=a(0),i=a(4),s=a(10);t.FocusTrap=function(e){var t,a=e.children,o=e.id,c=e.className,l=e.onEscape,d=e.arrowKeyNavigation,u=e.dontStealFocus,p=e.includeOutsideTabOrder,h=i.useState(!1),f=r(h,2),v=f[0],m=f[1],b=function(){return(0,s.nodeListToArray)(p?t.querySelectorAll("[tabindex]"):t.querySelectorAll('[tabindex]:not([tabindex="-1"])'))};return(0,n.jsx)("div",Object.assign({id:o,className:(0,s.classList)("common-focus-trap",c),ref:function(e){e&&(t=e,u||v||e.contains(document.activeElement)||!b().length||(t.focus(),m(!0)))},onKeyDown:function(e){if(t){var a=function(t,a){var r=b();if(r.length){var n=r.indexOf(e.target);t?a?r[r.length-1].focus():n===r.length-1?r[0].focus():r[n+1].focus():a?r[0].focus():0===n?r[r.length-1].focus():r[Math.max(n-1,0)].focus(),e.preventDefault(),e.stopPropagation()}};"Escape"===e.key?(l(),e.preventDefault(),e.stopPropagation()):"Tab"===e.key?e.shiftKey?a(!1,!1):a(!0,!1):d&&("ArrowDown"===e.key?a(!0,!1):"ArrowUp"===e.key?a(!1,!1):"Home"===e.key?a(!1,!0):"End"===e.key&&a(!0,!0))}},tabIndex:-1},{children:a}))}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Badge=void 0;var r=a(0),n=a(10);t.Badge=function(e){var t=e.badge,a=e.disabled,i=e.isNew,s=e.onClick,o=s&&function(){s(t)},c=a&&t.lockedImage||t.image,l=a?pxt.U.lf("Locked '{0}' badge",t.title):t.title;return(0,r.jsxs)("div",Object.assign({className:"profile-badge ".concat(s?"clickable":""),role:s?"button":void 0,tabIndex:s?0:void 0,title:lf("{0} Badge",t.title),onClick:o,onKeyDown:n.fireClickOnEnter},{children:[i&&(0,r.jsx)("div",Object.assign({className:"profile-badge-notification"},{children:pxt.U.lf("New!")})),(0,r.jsx)("img",{src:c,alt:l})]}))}},,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuBar=void 0;var r=a(0),n=a(10),i=a(41);t.MenuBar=function(e){return(0,r.jsx)(i.FocusList,Object.assign({},e,{role:"menubar",className:(0,n.classList)("common-menubar",e.className)}))}},,,,,,,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Checkbox=void 0;var r=a(0),n=a(10);t.Checkbox=function(e){var t=e.id,a=e.className,i=e.ariaHidden,s=e.ariaLabel,o=e.role,c=e.isChecked,l=e.onChange,d=e.label;return(0,r.jsxs)("div",Object.assign({className:(0,n.classList)("common-checkbox",a)},{children:[(0,r.jsx)("input",{id:t,tabIndex:0,type:"checkbox",checked:c,onChange:function(){l(!c)},onKeyDown:n.fireClickOnEnter,role:o,"aria-hidden":i,"aria-label":s}),d&&(0,r.jsx)("label",Object.assign({htmlFor:t},{children:d}))]}))}},,function(e,t,a){"use strict";var r=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.SignInModal=void 0;var n=a(0),i=a(4),s=a(36),o=a(7),c=a(75),l=a(14);t.SignInModal=function(e){var t,a,d=e.onSignIn,u=e.onClose,p=e.appMessage,h=null!==(t=e.resolvePath)&&void 0!==t?t:function(e){return e},f=i.useState(!1),v=r(f,2),m=v[0],b=v[1],g=i.useState(null!==(a=e.mode)&&void 0!==a?a:"signin"),y=r(g,2),j=y[0],x=y[1],k=i.useMemo((function(){return"signin"===j?lf("Sign in"):lf("Sign up")}),[j]),O=i.useMemo((function(){return"signin"===j?lf("Sign in to save your progress and access your work anytime, anywhere."):lf("Join now to save your progress and access your work anytime, anywhere.")}),[j]),S=i.useMemo((function(){return"signin"===j?(0,n.jsxs)("div",Object.assign({className:"switch"},{children:[(0,n.jsx)("span",{children:lf("Don't have an account?")}),(0,n.jsx)(o.Button,{className:"link-button",onClick:function(){return x("signup")},title:lf("Sign up"),label:lf("Sign up")})]})):(0,n.jsxs)("div",Object.assign({className:"switch"},{children:[(0,n.jsx)("span",{children:lf("Have an account?")}),(0,n.jsx)(o.Button,{className:"link-button",onClick:function(){return x("signin")},title:lf("Sign in"),label:lf("Sign in")})]}))}),[j]);return(0,n.jsx)(l.Modal,Object.assign({title:k,onClose:u},{children:(0,n.jsxs)("div",Object.assign({className:"signin-form"},{children:[(0,n.jsxs)("div",Object.assign({className:"signin-header"},{children:[p||void 0," ",O]})),(0,n.jsx)("div",Object.assign({className:"signin-body"},{children:(0,n.jsxs)("div",Object.assign({className:"providers"},{children:[pxt.auth.identityProviders().map((function(e,t){var a="signin"===j?lf("Continue with {0}",e.name):lf("Sign up with {0}",e.name);return(0,n.jsx)(o.Button,{className:"teal inverted provider",onClick:function(){return d(e,m)},title:a,ariaLabel:a,label:(0,n.jsxs)("div",Object.assign({className:"label"},{children:[(0,n.jsx)("div",{children:(0,n.jsx)("img",{className:"logo",src:h(e.icon)})}),(0,n.jsx)("div",Object.assign({className:"title"},{children:a}))]}))},t)})),(0,n.jsx)("div",Object.assign({className:"rememberme"},{children:(0,n.jsx)(s.Checkbox,{id:"rememberme",label:lf("Remember me"),isChecked:m,onChange:b})}))]}))})),(0,n.jsxs)("div",Object.assign({className:"signin-footer"},{children:[S,(0,n.jsx)("div",Object.assign({className:"learn"},{children:(0,n.jsx)(c.Link,Object.assign({href:"/identity/sign-in",target:"_blank"},{children:lf("Learn more")}))}))]}))]}))}))}},,,function(e,t,a){"use strict";var r=a(34).default;Object.defineProperty(t,"__esModule",{value:!0}),t.FocusList=void 0;var n=a(0);t.FocusList=function(e){var t,a,i=e.id,s=e.className,o=e.role,c=e.ariaHidden,l=e.ariaLabel,d=e.childTabStopId,u=e.children,p=e.onItemReceivedFocus,h=e.useUpAndDownArrowKeys;return(0,n.jsx)("div",Object.assign({id:i,className:s,role:o,tabIndex:d?void 0:0,onKeyDown:function(e){if(null==t?void 0:t.length){var r=document.activeElement,n=t.indexOf(r),i=function(e){e.focus(),p&&p(e)};-1===n&&r!==a||("Enter"===e.key||" "===e.key?(e.preventDefault(),e.stopPropagation(),r.click?r.click():r.dispatchEvent(new Event("click"))):e.key===(h?"ArrowDown":"ArrowRight")?(n===t.length-1||r===a?i(t[0]):i(t[n+1]),e.preventDefault(),e.stopPropagation()):e.key===(h?"ArrowUp":"ArrowLeft")?(i(0===n||r===a?t[t.length-1]:t[Math.max(n-1,0)]),e.preventDefault(),e.stopPropagation()):"Home"===e.key?(i(t[0]),e.preventDefault(),e.stopPropagation()):"End"===e.key&&(i(t[t.length-1]),e.preventDefault(),e.stopPropagation()))}},ref:function(e){if(e&&!a){a=e;var n=e.querySelectorAll('[tabindex]:not([tabindex="-1"]),[data-isfocusable]');t=[];var i,s=r(n.values());try{for(s.s();!(i=s.n()).done;){var o=i.value;t.push(o),o.setAttribute("tabindex","-1"),o.setAttribute("data-isfocusable","true")}}catch(e){s.e(e)}finally{s.f()}if(d){var c=a.querySelector("#"+d);c&&c.setAttribute("tabindex","0")}}},"aria-hidden":c,"aria-label":l},{children:u}))}},,,,,,,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Share=void 0;var r=a(0),n=a(76);t.Share=function(e){var t=e.projectName,a=e.screenshotUri,i=e.isLoggedIn,s=e.simRecorder,o=e.publishAsync;return(0,r.jsx)("div",Object.assign({className:"project-share"},{children:(0,r.jsx)(n.ShareInfo,{projectName:t,isLoggedIn:i,screenshotUri:a,simRecorder:s,publishAsync:o})}))}},function(e,t,a){"use strict";var r=a(89).default,n=a(90).default,i=a(91).default,s=a(93).default;Object.defineProperty(t,"__esModule",{value:!0}),t.pushNotificationMessage=t.Notification=void 0;var o=a(0),c=a(4),l=a(42),d=function(e){i(a,e);var t=s(a);function a(e){var n;return r(this,a),(n=t.call(this,e)).state={notifications:{}},n}return n(a,[{key:"push",value:function(e){var t=this,a=this.state.notifications,r=ts.pxtc.Util.guidGen();Object.keys(a).filter((function(t){return a[t].kind==e.kind})).forEach((function(e){return t.remove(e)})),a[r]=e;var n=this;setTimeout((function(){n.remove(r)}),3e3),this.setState({notifications:a})}},{key:"remove",value:function(e){var t=this.state.notifications;t[e]&&(delete t[e],this.setState({notifications:t}))}},{key:"render",value:function(){var e=this.state.notifications;return(0,o.jsx)("div",Object.assign({id:"msg","aria-live":"polite"},{children:Object.keys(e).map((function(t){return function(e,t){var a=t.kind,r=t.text,n=t.hc,i="ignored info message";switch(a){case"err":i="red inverted segment";break;case"warn":i="orange inverted segment";break;case"info":i="teal inverted segment";break;case"compile":i="ignored info message"}return(0,o.jsx)("div",Object.assign({id:"".concat(a,"msg"),className:"ui ".concat(n," ").concat(i)},{children:r}),"".concat(e))}(t,e[t])}))}))}}]),a}(c.Component);t.Notification=d;var u,p=!1;t.pushNotificationMessage=function(e){if(p)u&&u.push(e);else{p=!0;var t=document.body.appendChild(document.createElement("div"));(u=l.render(c.createElement(d,e),t)).push(e)}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Profile=void 0;var r=a(0),n=a(99),i=a(100),s=a(102);t.Profile=function(e){var t,a=e.user,o=e.signOut,c=e.deleteProfile,l=e.onClickedEmail,d=e.notification,u=e.checkedEmail,p=e.showModalAsync,h=(null==a?void 0:a.profile)||{idp:{}},f=(null===(t=null==a?void 0:a.preferences)||void 0===t?void 0:t.badges)||{badges:[]};return(0,r.jsxs)("div",Object.assign({className:"user-profile"},{children:[(0,r.jsx)(i.UserPane,{profile:h,onSignOutClick:o,onDeleteProfileClick:c,notification:d,emailChecked:u,onEmailCheckClick:l}),(0,r.jsx)(n.BadgeList,{availableBadges:pxt.appTarget.defaultBadges||[],userState:f,onBadgeClick:function(e){p({header:lf("{0} Badge",e.title),size:"tiny",hasCloseIcon:!0,onClose:function(){var e=document.body.querySelector(".common-modal-container.fullscreen [tabindex]");e&&e.focus()},jsx:(0,r.jsx)(s.BadgeInfo,{badge:e})})}})]}))}},,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},,,,function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Link=void 0;var r=a(0),n=a(10);t.Link=function(e){var t=e.id,a=e.className,i=e.ariaLabel,s=e.href,o=e.target,c=e.children,l=(0,n.classList)("common-link",a);return(0,r.jsx)("a",Object.assign({id:t,className:l,"aria-label":i,href:s,target:o,rel:"_blank"===o?"noopener noreferrer":""},{children:c}))}},function(e,t,a){"use strict";var r=a(2),n=a(43).default,i=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.ShareInfo=void 0;var s=a(0),o=a(4),c=a(7),l=a(77),d=a(82),u=a(83),p=a(14),h=a(84),f=a(85),v=a(36);t.ShareInfo=function(e){var t,a,m,b,g,y=e.projectName,j=(e.description,e.screenshotUri),x=e.isLoggedIn,k=e.simRecorder,O=e.publishAsync,S=o.useState(y),w=i(S,2),I=w[0],C=w[1],N=o.useState(j),A=i(N,2),U=A[0],P=A[1],M=o.useState("share"),L=i(M,2),E=L[0],T=L[1],R=o.useState(),B=i(R,2),_=B[0],H=B[1],D=o.useState("none"),F=i(D,2),V=F[0],q=F[1],K=o.useState(!1),W=i(K,2),z=W[0],G=W[1],Q=o.useState(!1),Y=i(Q,2),$=Y[0],J=Y[1],X=o.useState(!x),Z=i(X,2),ee=Z[0],te=Z[1],ae=!!k,re="publish"!==E;o.useEffect((function(){P(j)}),[j]);var ne=function(){T("share")},ie=function(){var e=n(r.mark((function e(){var t;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return T("publishing"),e.next=3,O(I,U,ee);case 3:t=e.sent,H(t),(null==t?void 0:t.error)?T("share"):T("publish");case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),se=function(){var e=n(r.mark((function e(){var t,a;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pxt.tickEvent("share.device"),a={title:document.title,url:_.url,text:lf("Check out my new MakeCode project!")},!(null===(t=null===navigator||void 0===navigator?void 0:navigator.canShare)||void 0===t?void 0:t.call(navigator,a))){e.next=4;break}return e.abrupt("return",navigator.share(a));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=[{name:"code",label:lf("Code"),title:lf("Code"),focusable:!0,onClick:function(){return q("code")}},{name:"editor",label:lf("Editor"),title:lf("Editor"),focusable:!0,onClick:function(){return q("editor")}},{name:"simulator",label:lf("Simulator"),title:lf("Simulator"),focusable:!0,onClick:function(){return q("simulator")}}],ce="share"===E||"publishing"===E,le=ce?lf("Project Title"):lf("Project Link");return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",Object.assign({className:"project-share-info"},{children:[ae&&"gifrecord"!==E&&(0,s.jsxs)("div",Object.assign({className:"project-share-thumbnail"},{children:[U?(0,s.jsx)("img",{src:U}):(0,s.jsx)("div",Object.assign({className:"project-thumbnail-placeholder"},{children:(0,s.jsx)("div",{className:"common-spinner"})})),"publish"!==E&&(0,s.jsx)(c.Button,{className:"link-button",title:lf("Update project thumbnail"),label:lf("Update project thumbnail"),onClick:function(){return T("gifrecord")}})]})),(0,s.jsxs)("div",Object.assign({className:"project-share-content"},{children:[(ce||"publish"===E)&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",Object.assign({className:"project-share-title project-share-label",id:"share-input-title"},{children:le})),re&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.Input,{ariaDescribedBy:"share-input-title",className:"name-input",initialValue:I,placeholder:lf("Name your project"),onChange:C}),x&&(0,s.jsx)(v.Checkbox,{id:"persistent-share-checkbox",label:lf("Allow people to see future changes to my project"),isChecked:!ee,onChange:function(e){return te(!e)}})]}),ce&&(0,s.jsxs)(s.Fragment,{children:[(null==_?void 0:_.error)&&(0,s.jsx)("div",Object.assign({className:"project-share-error"},{children:413===_.error.statusCode&&(null===(m=null===(a=null===(t=pxt.appTarget)||void 0===t?void 0:t.cloud)||void 0===a?void 0:a.cloudProviders)||void 0===m?void 0:m.github)?lf("Oops! Your project is too big. You can create a GitHub repository to share it."):lf("Oops! There was an error. Please ensure you are connected to the Internet and try again.")})),(0,s.jsxs)("div",{children:["share"===E&&(0,s.jsx)(c.Button,{className:"primary share-publish-button",title:lf("Continue"),label:lf("Continue"),onClick:ie}),"publishing"===E&&(0,s.jsx)(c.Button,{className:"primary share-publish-button",title:lf("Publishing..."),label:(0,s.jsx)("div",{className:"common-spinner"}),onClick:function(){}})]})]}),"publish"===E&&(0,s.jsxs)("div",Object.assign({className:"project-share-data"},{children:[(0,s.jsxs)("div",Object.assign({className:"common-input-attached-button"},{children:[(0,s.jsx)(d.Input,{ariaDescribedBy:"share-input-title",handleInputRef:function(e){e&&(g=e)},initialValue:_.url,readOnly:!0,onChange:C}),(0,s.jsx)(c.Button,{className:$?"green":"primary",title:lf("Copy link"),label:$?lf("Copied!"):lf("Copy"),leftIcon:"fas fa-link",onClick:function(){pxt.BrowserUtils.isIpcRenderer()?J(pxt.BrowserUtils.legacyCopyText(g)):(navigator.clipboard.writeText(_.url),J(!0))},onBlur:function(){J(!1)}})]})),(0,s.jsxs)("div",Object.assign({className:"project-share-actions"},{children:[(0,s.jsxs)("div",Object.assign({className:"project-share-social"},{children:[(0,s.jsx)(c.Button,{className:"square-button gray embed mobile-portrait-hidden",title:lf("Show embed code"),leftIcon:"fas fa-code",onClick:function(){"none"===V?(G(!1),q("code")):q("none")}}),(0,s.jsx)(f.SocialButton,{className:"square-button facebook",url:null==_?void 0:_.url,type:"facebook",heading:lf("Share on Facebook")}),(0,s.jsx)(f.SocialButton,{className:"square-button twitter",url:null==_?void 0:_.url,type:"twitter",heading:lf("Share on Twitter")}),(0,s.jsx)(f.SocialButton,{className:"square-button google-classroom",url:null==_?void 0:_.url,type:"google-classroom",heading:lf("Share on Google Classroom")}),(0,s.jsx)(f.SocialButton,{className:"square-button microsoft-teams",url:null==_?void 0:_.url,type:"microsoft-teams",heading:lf("Share on Microsoft Teams")}),(0,s.jsx)(f.SocialButton,{className:"square-button whatsapp",url:null==_?void 0:_.url,type:"whatsapp",heading:lf("Share on WhatsApp")}),navigator.share&&(0,s.jsx)(c.Button,{className:"square-button device-share",title:lf("Show device share options"),ariaLabel:lf("Show device share options"),leftIcon:"icon share",onClick:se})]})),(0,s.jsx)(c.Button,{className:"menu-button project-qrcode",buttonRef:function(e){e&&(b=e)},title:lf("Show QR Code"),label:(0,s.jsx)("img",{className:"qrcode-image",src:null==_?void 0:_.qr}),onClick:function(){pxt.tickEvent("share.qrtoggle"),z?G(!1):(q("none"),G(!0))}})]}))]})),"none"!==V&&(0,s.jsxs)("div",Object.assign({className:"project-embed"},{children:[(0,s.jsx)(l.EditorToggle,{id:"project-embed-toggle",className:"slim tablet-compact",items:oe,selected:oe.findIndex((function(e){return e.name===V}))}),(0,s.jsx)(u.Textarea,{readOnly:!0,rows:5,initialValue:null==_?void 0:_.embed[V]})]}))]}),"gifrecord"===E&&(0,s.jsx)(h.ThumbnailRecorder,{initialUri:U,onApply:function(e){P(e),ne()},onCancel:ne,simRecorder:k})]})),z&&(0,s.jsx)(p.Modal,Object.assign({title:lf("QR Code"),onClose:function(){G(!1),b&&b.focus()}},{children:(0,s.jsx)("div",Object.assign({className:"qrcode-modal-body"},{children:(0,s.jsx)("img",{className:"qrcode-image",src:null==_?void 0:_.qr})}))}))]}))})}},function(e,t,a){"use strict";var r=a(78).default;Object.defineProperty(t,"__esModule",{value:!0}),t.EditorToggle=void 0;var n=a(0),i=a(10),s=a(7),o=a(41),c=a(22);t.EditorToggle=function(e){var t=e.id,a=e.className,r=(e.ariaHidden,e.ariaLabel),s=e.role,o=e.items,p=e.selected,h=o.some((function(e){return u(e)})),f=function(e){};return(0,n.jsxs)("div",Object.assign({className:"common-editor-toggle-outer"},{children:[(0,n.jsx)(d,Object.assign({},e)),(0,n.jsxs)("div",Object.assign({id:t,className:(0,i.classList)("common-editor-toggle",h&&"has-dropdown",a),role:s||"tablist","aria-hidden":!0,"aria-label":r},{children:[o.map((function(e,t){var a=p===t;return(0,n.jsxs)("div",Object.assign({className:(0,i.classList)("common-editor-toggle-item",a&&"selected",u(e)&&"common-editor-toggle-item-dropdown")},{children:[(0,n.jsx)(l,{item:e,isSelected:a,onKeydown:f}),u(e)&&(0,n.jsx)(c.MenuDropdown,{id:"toggle-dropdown",className:"toggle-dropdown",icon:"fas fa-chevron-down",title:lf("More options"),tabIndex:-1,ariaHidden:!0,items:e.items.map((function(e){return{title:e.title,label:e.label,onClick:e.onClick,leftIcon:e.icon}}))})]}),t)})),(0,n.jsx)("div",{className:"common-editor-toggle-handle","aria-hidden":!0})]}))]}))};var l=function(e){var t=e.item,a=(e.isSelected,e.onKeydown),r=t.label,i=t.title,o=t.onClick,c=t.icon,l=t.focusable;return(0,n.jsx)(s.Button,{className:c?void 0:"no-icon",role:l?"tab":void 0,tabIndex:-1,onKeydown:a,label:r,title:i,onClick:o,leftIcon:c,ariaHidden:!0})},d=function(e){var t=e.items,a=e.id,i=e.selected,c=e.ariaHidden,l=t.reduce((function(e,t,a){var n=r(e);return n.push(Object.assign({},t)),i===a&&(n[n.length-1].selected=!0),u(t)&&n.push.apply(n,r(t.items.filter((function(e){return e.focusable})))),n}),[]);return(0,n.jsx)(o.FocusList,Object.assign({id:a,role:"tablist",className:"common-toggle-accessibility",childTabStopId:a+"-selected"},{children:l.map((function(e,t){return(0,n.jsx)(s.Button,{className:e.selected?"selected":void 0,id:e.selected?a+"-selected":void 0,role:"tab",title:e.title,label:e.label,onClick:e.onClick,ariaSelected:e.selected,ariaHidden:c},t)}))}))};function u(e){var t;return!!(null===(t=e.items)||void 0===t?void 0:t.length)}},,,,,function(e,t,a){"use strict";var r=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.Input=void 0;var n=a(0),i=a(4),s=a(10),o=a(7);t.Input=function(e){var t=e.id,a=e.className,c=e.role,l=e.ariaHidden,d=e.ariaLabel,u=e.initialValue,p=e.label,h=e.title,f=e.placeholder,v=e.icon,m=e.iconTitle,b=e.disabled,g=e.type,y=e.readOnly,j=e.autoComplete,x=e.selectOnClick,k=e.onChange,O=e.onEnterKey,S=e.onIconClick,w=e.onBlur,I=e.handleInputRef,C=i.useState(void 0),N=r(C,2),A=N[0],U=N[1];return(0,n.jsxs)("div",Object.assign({className:(0,s.classList)("common-input-wrapper",b&&"disabled",a)},{children:[p&&(0,n.jsx)("label",Object.assign({className:"common-input-label",htmlFor:t},{children:p})),(0,n.jsxs)("div",Object.assign({className:"common-input-group"},{children:[(0,n.jsx)("input",{id:t,className:(0,s.classList)("common-input",v&&"has-icon"),title:h,role:c||"textbox",tabIndex:b?-1:0,"aria-label":d,"aria-hidden":l,type:g||"text",placeholder:f,value:void 0!==A?A:u||"",readOnly:!!y,onClick:function(e){x&&e.target.select()},onChange:function(e){var t=e.target.value;y||A===t||U(t),k&&k(t)},onKeyDown:function(t){var a="number"==typeof t.which?t.which:t.keyCode;(13===a||e.treatSpaceAsEnter&&32===a)&&O&&(t.preventDefault(),O(A))},onBlur:function(){w&&w(A),U(void 0)},autoComplete:j?"":"off",autoCorrect:j?"":"off",autoCapitalize:j?"":"off",spellCheck:j,disabled:b,ref:I}),v&&(S?(0,n.jsx)(o.Button,{leftIcon:v,title:m,disabled:b,onClick:function(){S&&S(A)}}):(0,n.jsx)("i",{className:v,"aria-hidden":!0}))]}))]}))}},function(e,t,a){"use strict";var r=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.Textarea=void 0;var n=a(0),i=a(4),s=a(10);t.Textarea=function(e){var t=e.id,a=e.className,o=e.role,c=e.ariaHidden,l=e.ariaLabel,d=e.initialValue,u=e.label,p=e.title,h=e.placeholder,f=e.autoComplete,v=e.cols,m=e.rows,b=e.disabled,g=e.minLength,y=e.readOnly,j=e.resize,x=e.wrap,k=e.onChange,O=e.onEnterKey,S=i.useState(d||""),w=r(S,2),I=w[0],C=w[1];return i.useEffect((function(){C(d)}),[d]),(0,n.jsxs)("div",Object.assign({className:(0,s.classList)("common-textarea-wrapper",b&&"disabled",j&&"resize-".concat(j),a)},{children:[u&&(0,n.jsx)("label",Object.assign({className:"common-textarea-label"},{children:u})),(0,n.jsx)("div",Object.assign({className:"common-textarea-group"},{children:(0,n.jsx)("textarea",{id:t,className:"common-textarea",title:p,role:o||"textbox",tabIndex:b?-1:0,"aria-label":l,"aria-hidden":c,placeholder:h,value:I||"",cols:v,rows:m,minLength:g,wrap:x,readOnly:!!y,onChange:function(e){var t=e.target.value;y||I===t||C(t),k&&k(t)},onKeyDown:function(e){var t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||O&&(e.preventDefault(),O(I))},autoComplete:f?"":"off",autoCorrect:f?"":"off",autoCapitalize:f?"":"off",spellCheck:f,disabled:b})}))]}))}},function(e,t,a){"use strict";var r=a(2),n=a(43).default,i=a(18).default;Object.defineProperty(t,"__esModule",{value:!0}),t.ThumbnailRecorder=void 0;var s=a(0),o=a(4),c=a(7),l=a(10);t.ThumbnailRecorder=function(e){var t=e.initialUri,a=e.onApply,d=e.onCancel,u=e.simRecorder,p=o.useState(void 0),h=i(p,2),f=h[0],v=h[1],m=o.useState(void 0),b=i(m,2),g=(b[0],b[1]),y=o.useState(void 0),j=i(y,2),x=j[0],k=j[1],O=o.useState("default"),S=i(O,2),w=S[0],I=S[1];o.useEffect((function(){if(x)return x.addStateChangeListener(I),x.addThumbnailListener(v),x.addErrorListener(g),function(){x.removeStateChangeListener(I),x.removeThumbnailListener(v),x.removeErrorListener(g)}}),[x]);var C=function(){var e=n(r.mark((function e(){return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:g(void 0),x&&x.screenshotAsync();case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),N=function(){var e=n(r.mark((function e(){return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(g(void 0),x){e.next=3;break}return e.abrupt("return");case 3:"recording"===x.state?x.stopRecordingAsync():"default"===x.state&&x.startRecordingAsync();case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),A=pxt.appTarget.appTheme,U=lf("Screenshot ({0})",A.simScreenshotKey),P=lf("Record ({0})",A.simGifKey),M=lf("Stop recording ({0})",A.simGifKey),L=f?lf("New Thumbnail"):lf("Current Thumbnail"),E=(0,l.classList)("gif-recorder-content",f&&"has-uri");return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",Object.assign({className:E},{children:[(0,s.jsxs)("div",Object.assign({className:"gif-recorder-sim"},{children:[(0,s.jsx)("div",Object.assign({className:"gif-recorder-sim-embed"},{children:o.createElement(u,{onSimRecorderInit:function(e){k(e)}})})),(0,s.jsx)("div",Object.assign({className:"gif-recorder"},{children:(0,s.jsxs)("div",Object.assign({className:"gif-recorder-actions"},{children:[(0,s.jsx)(c.Button,{className:"teal inverted",title:U,label:U,leftIcon:"fas fa-camera",onClick:C}),(0,s.jsx)(c.Button,{className:"teal inverted",title:"recording"===w?M:P,label:"recording"===w?M:P,leftIcon:"fas fa-".concat("recording"===w?"square":"circle"),onClick:N}),(0,s.jsx)("div",{className:"spacer mobile-only"}),(0,s.jsx)(c.Button,{className:"mobile-only",title:lf("Cancel"),label:lf("Cancel"),onClick:d})]}))}))]})),(0,s.jsxs)("div",Object.assign({className:"thumbnail-controls"},{children:[(0,s.jsx)("div",Object.assign({className:"thumbnail-preview"},{children:(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",Object.assign({className:"thumbnail-header"},{children:[(0,s.jsx)("span",Object.assign({className:"project-share-label"},{children:L})),(0,s.jsx)(c.Button,{className:"link-button mobile-only",title:lf("Try again?"),label:lf("Try again?"),onClick:function(){return v(void 0)}})]})),(0,s.jsx)("div",Object.assign({className:"thumbnail-image"},{children:f||t?(0,s.jsx)("img",{src:f||t}):(0,s.jsx)("div",{className:"thumbnail-placeholder"})}))]})})),(0,s.jsxs)("div",Object.assign({className:"thumbnail-actions"},{children:[f&&(0,s.jsx)(c.Button,{className:"primary",title:lf("Apply"),label:lf("Apply"),onClick:function(e){a(f)}}),(0,s.jsx)(c.Button,{title:lf("Cancel"),label:lf("Cancel"),onClick:d})]}))]}))]}))})}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocialButton=void 0;var r=a(0),n=a(7),i=a(10);t.SocialButton=function(e){var t=e.className,a=e.url,s=e.type,o=e.heading,c=(0,i.classList)(t,"social-button","type"),l=function(){var e=pxt.appTarget.appTheme.socialOptions,t="";switch(s){case"facebook":t="https://www.facebook.com/sharer/sharer.php?u=".concat(encodeURIComponent(a));break;case"twitter":var r=lf("Check out what I made!");e.twitterHandle&&e.orgTwitterHandle?r=lf("Check out what I made with @{0} and @{1}!",e.twitterHandle,e.orgTwitterHandle):e.twitterHandle?r=lf("Check out what I made with @{0}!",e.twitterHandle):e.orgTwitterHandle&&(r=lf("Check out what I made with @{0}!",e.orgTwitterHandle)),t="https://twitter.com/intent/tweet?url=".concat(encodeURIComponent(a))+"&text=".concat(encodeURIComponent(r))+(e.hashtags?"&hashtags=".concat(encodeURIComponent(e.hashtags)):"")+(e.related?"&related=".concat(encodeURIComponent(e.related)):"");break;case"discourse":t="".concat(e.discourse||"https://forum.makecode.com/","new-topic?title=").concat(encodeURIComponent(a)),e.discourseCategory&&(t+="&category=".concat(encodeURIComponent(e.discourseCategory)));break;case"google-classroom":t="https://classroom.google.com/share?url=".concat(encodeURIComponent(a));break;case"microsoft-teams":t="https://teams.microsoft.com/share?href=".concat(encodeURIComponent(a));break;case"whatsapp":t="https://api.whatsapp.com/send?text=".concat(encodeURIComponent(a))}pxt.BrowserUtils.popupWindow(t,o,600,600)};switch(s){case"facebook":case"twitter":case"discourse":case"whatsapp":return(0,r.jsx)(n.Button,{className:c,ariaLabel:s,title:o,leftIcon:"icon ".concat(s),onClick:l});case"google-classroom":case"microsoft-teams":return(0,r.jsx)(n.Button,{className:c,ariaLabel:s,title:o,label:(0,r.jsx)("img",{src:"/static/logo/social-buttons/".concat(s,".png"),alt:o||pxt.U.rlf(s)}),onClick:l})}}},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,function(e,t,a){"use strict";var r=a(34).default;Object.defineProperty(t,"__esModule",{value:!0}),t.BadgeList=void 0;var n=a(0),i=a(25);t.BadgeList=function(e){var t,a=e.onBadgeClick,s=e.availableBadges,o=e.userState,c=s.slice(),l={},d=r(o.badges);try{var u=function(){var e=t.value;l[e.id]=!0;var a=c.findIndex((function(t){return t.id===e.id}));a>-1?c[a]=Object.assign(Object.assign({},c[a]),{timestamp:c[a].timestamp||e.timestamp}):c.push(e)};for(d.s();!(t=d.n()).done;)u()}catch(e){d.e(e)}finally{d.f()}for(var p=[],h=0;h<Math.max(c.length+10,20);h++)p.push((0,n.jsx)("div",{className:"placeholder-badge"},h));return(0,n.jsxs)("div",Object.assign({className:"profile-badge-list"},{children:[(0,n.jsxs)("div",Object.assign({className:"profile-badge-header",id:"profile-badge-header"},{children:[(0,n.jsx)("span",Object.assign({className:"profile-badge-title"},{children:lf("Badges")})),(0,n.jsx)("span",Object.assign({className:"profile-badge-subtitle"},{children:lf("Click each badge to see details")}))]})),(0,n.jsx)("div",Object.assign({className:"profile-badges-scroller"},{children:(0,n.jsxs)("div",Object.assign({className:"profile-badges",role:"list","aria-labelledby":"profile-badge-header"},{children:[(0,n.jsx)("div",Object.assign({className:"profile-badges-background-container","aria-hidden":"true"},{children:(0,n.jsx)("div",Object.assign({className:"profile-badges-background"},{children:p}))})),c.map((function(e){return(0,n.jsxs)("div",Object.assign({className:"profile-badge-and-title",role:"listitem"},{children:[(0,n.jsx)(i.Badge,{onClick:a,badge:e,disabled:!l[e.id]}),(0,n.jsx)("div",Object.assign({className:"profile-badge-name"},{children:e.title}))]}),e.id)}))]}))}))]}))}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserPane=void 0;var r=a(0),n=a(10),i=a(101),s=a(36),o=a(7);t.UserPane=function(e){var t=e.profile,a=e.onSignOutClick,c=e.onDeleteProfileClick,l=e.onEmailCheckClick,d=e.notification,u=e.emailChecked,p=t.idp,h=p.username,f=p.displayName,v=p.picture,m=p.pictureUrl,b=null!=m?m:null==v?void 0:v.dataUrl,g=(0,r.jsxs)(r.Fragment,{children:[u===n.CheckboxStatus.Waiting?(0,r.jsx)("div",{className:"common-spinner"}):void 0,lf("I would like to receive the MakeCode newsletter. "),(0,r.jsx)("a",Object.assign({href:"https://makecode.com/privacy",target:"_blank",rel:"noopener noreferrer",tabIndex:0},{children:lf("View Privacy Statement")}))]});return(0,r.jsxs)("div",Object.assign({className:"profile-user-pane"},{children:[(0,r.jsx)("div",Object.assign({className:"profile-portrait"},{children:b?(0,r.jsx)("div",{children:(0,r.jsx)("img",{src:b,alt:pxt.U.lf("Profile Picture"),referrerPolicy:"no-referrer"})}):(0,r.jsx)("div",Object.assign({className:"profile-initials-portrait"},{children:pxt.auth.userInitials(t)}))})),(0,r.jsxs)("div",Object.assign({className:"profile-user-details"},{children:[(0,r.jsx)("div",Object.assign({className:"profile-display-name"},{children:f})),h&&(0,r.jsx)("div",Object.assign({className:"profile-username"},{children:h}))]})),d&&(0,r.jsx)(i.UserNotification,{notification:d}),(0,r.jsx)("div",{className:"profile-spacer"}),(0,r.jsx)("div",Object.assign({className:"profile-email"},{children:(0,r.jsx)(s.Checkbox,{id:"profile-email-checkbox",className:u===n.CheckboxStatus.Waiting?"loading":"",isChecked:u===n.CheckboxStatus.Selected,onChange:l,label:g})})),(0,r.jsxs)("div",Object.assign({className:"profile-actions"},{children:[(0,r.jsx)(o.Button,{className:"link-button",title:lf("Delete Profile"),label:lf("Delete Profile"),onClick:c}),(0,r.jsx)(o.Button,{className:"sign-out",leftIcon:"fas fa-sign-out-alt",title:lf("Sign Out"),label:lf("Sign Out"),onClick:a})]}))]}))}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserNotification=void 0;var r=a(0);t.UserNotification=function(e){var t=e.notification,a=t.message,n=t.icon,i=t.actionText,s=t.link,o=t.xicon,c=t.title;return(0,r.jsxs)("div",Object.assign({className:"profile-notification"},{children:[(0,r.jsx)("div",Object.assign({className:"profile-notification-icon"},{children:(0,r.jsx)("i",{className:"".concat(o?"xicon":"ui large circular icon "," ").concat(n)})})),(0,r.jsx)("div",Object.assign({className:"profile-notification-title"},{children:c})),(0,r.jsx)("div",Object.assign({className:"profile-notification-message"},{children:a})),(0,r.jsxs)("button",Object.assign({className:"ui icon button profile-notification-button",onClick:function(){window.open(s,"_blank")},role:"link"},{children:[(0,r.jsx)("i",{className:"icon external alternate"}),i]}))]}))}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.badgeDescription=t.BadgeInfo=void 0;var r=a(0),n=a(10),i=a(25);function s(e){var t;if(-1!==e.indexOf("/api/md/")){var a=e.split("/api/md/")[1].split("/").slice(1).join("/");return(null===(t=pxt.webConfig)||void 0===t?void 0:t.skillmapUrl)+"#docs:"+a}var r=e.split("#");return 2==r.length?pxt.webConfig.skillmapUrl+"#github:https://github.com/"+r[0]+"/"+r[1]:pxt.BrowserUtils.isLocalHostDev()?"http://localhost:3000#local:"+e:e}t.BadgeInfo=function(e){var a=e.badge,n=new Date(a.timestamp);return(0,r.jsxs)("div",Object.assign({className:"profile-badge-info"},{children:[(0,r.jsx)("div",Object.assign({className:"profile-badge-info-image"},{children:(0,r.jsx)(i.Badge,{badge:a,disabled:!a.timestamp})})),(0,r.jsxs)("div",Object.assign({className:"profile-badge-info-item",id:"profile-badge-info-"+a.id},{children:[(0,r.jsx)("div",Object.assign({className:"profile-badge-info-header"},{children:lf("Awarded For:")})),(0,r.jsx)("div",Object.assign({className:"profile-badge-info-text"},{children:(0,t.badgeDescription)(a)}))]})),a.timestamp?(0,r.jsxs)("div",Object.assign({className:"profile-badge-info-item"},{children:[(0,r.jsx)("div",Object.assign({className:"profile-badge-info-header"},{children:lf("Awarded On:")})),(0,r.jsx)("div",Object.assign({className:"profile-badge-info-text"},{children:n.toLocaleDateString(pxt.U.userLanguage())}))]})):void 0]}))},t.badgeDescription=function(e){if("skillmap-completion"===e.type)return(0,r.jsx)("span",{children:(0,n.jsxLF)(lf("Completing {0}"),(0,r.jsx)("a",Object.assign({tabIndex:0,"aria-labelledby":"profile-badge-info-"+e.id,target:"_blank",rel:"noopener noreferrer",href:s(e.sourceURL)},{children:pxt.U.rlf(e.title)})))})}},function(e,t,a){},function(e,t,a){},function(e,t,a){"use strict";a.r(t);var r,n,i=a(4),s=a.n(i),o=a(44),c=a.n(o),l=a(12),d=a(31),u=a(11),p=a(13),h=a(1),f="ADD_SKILL_MAP",v="CLEAR_SKILL_MAPS",m="CLEAR_METADATA",b="CHANGE_SELECTED_ITEM",g="SET_SKILL_MAP_COMPLETED",y="SET_HEADERID_FOR_ACTIVITY",j="OPEN_ACTIVITY",x="CLOSE_ACTIVITY",k="SAVE_AND_CLOSE_ACTIVITY",O="RESTART_ACTIVITY",S="SET_USER",w="UPDATE_USER_COMPLETED_TAGS",I="RESET_USER",C="SET_PAGE_TITLE",N="SET_PAGE_DESCRIPTION",A="SET_PAGE_INFO_URL",U="SET_PAGE_BACKGROUND_IMAGE_URL",P="SET_PAGE_BANNER_IMAGE_URL",M="SET_PAGE_THEME",L="SET_PAGE_SOURCE_URL",E="SET_PAGE_ALTERNATE_URLS",T="ENQUEUE_MODALS",R="SET_MODAL",B="NEXT_MODAL",_="HIDE_MODAL",H="SHOW_COMPLETION_MODAL",D="GRANT_SKILLMAP_BADGE",F="SET_USER_PROFILE",V="SET_USER_PREFERENCES",q="USER_LOG_OUT",K="SHOW_USER_PROFILE",W="HIDE_USER_PROFILE",z="SET_SHARE_STATUS",G="SET_CLOUD_STATUS",Q="SET_READY_RESOURCES",Y=a(3),$=a(2),J=a.n($),X="-SHOWN-LOGIN-PROMPT";function Z(e){var t={cmd:"",arg:""},a=/^(\w+)(:([:./\-+=\w]+))?/.exec((e||window.location.hash).replace(/^#/,""));return a&&(t={cmd:a[1],arg:a[3]||""}),t}function ee(){var e={},t=window.location.search;return t&&new URLSearchParams(t).forEach((function(t,a){"true"!==t.toLowerCase()&&"1"!==t||(t="true"),e[a]=t})),e}function te(e,t){return ae.apply(this,arguments)}function ae(){return(ae=Object(Y.a)(J.a.mark((function e(t,a){var r,n,i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&a){e.next=2;break}return e.abrupt("return",void 0);case 2:n="unknown",e.t0=t,e.next="docs"===e.t0?6:"github"===e.t0?7:"local"===e.t0?10:13;break;case 6:return e.abrupt("return",re(a));case 7:return e.next=9,ie(a);case 9:return e.abrupt("return",e.sent);case 10:return e.next=12,oe(a);case 12:return e.abrupt("return",e.sent);case 13:return r=a,e.abrupt("break",15);case 15:if(!pxt.BrowserUtils.isSafari()){e.next=29;break}return e.prev=16,e.next=19,he(r);case 19:i=e.sent,e.next=27;break;case 22:return e.prev=22,e.t1=e.catch(16),e.next=26,he(r);case 26:i=e.sent;case 27:e.next=32;break;case 29:return e.next=31,he(r);case 31:i=e.sent;case 32:return e.abrupt("return",{text:i,identifier:r,status:n});case 33:case"end":return e.stop()}}),e,null,[[16,22]])})))).apply(this,arguments)}function re(e){return ne.apply(this,arguments)}function ne(){return(ne=Object(Y.a)(J.a.mark((function e(t){var a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pxt.Cloud.markdownAsync(le(t));case 2:if(!(a=e.sent)){e.next=5;break}return e.abrupt("return",{text:a,identifier:de(t),status:"approved"});case 5:return e.abrupt("return",void 0);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e){return se.apply(this,arguments)}function se(){return(se=Object(Y.a)(J.a.mark((function e(t){var a,r,n,i,s,o,c,l,d,u,p;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=pxt.github.parseRepoId(t),e.next=3,pxt.packagesConfigAsync();case 3:if(e.t0=e.sent,e.t0){e.next=6;break}e.t0={};case 6:r=e.t0,n=pxt.github.parseRepoId(a.slug),i=pxt.github.repoStatus(n,r),s="unknown",e.t1=i,e.next=e.t1===pxt.github.GitRepoStatus.Banned?13:e.t1===pxt.github.GitRepoStatus.Approved?16:19;break;case 13:return s="banned",o="https://github.com/"+a.fullName,e.abrupt("break",21);case 16:return s="approved",o=void 0,e.abrupt("break",21);case 19:return o="https://github.com/"+a.fullName,e.abrupt("break",21);case 21:if(e.t2=a.tag,e.t2){e.next=26;break}return e.next=25,pxt.github.latestVersionAsync(a.slug,r,!0);case 25:e.t2=e.sent;case 26:if(c=e.t2){e.next=30;break}return pxt.log("skillmap github tag not found at ".concat(a.fullName)),e.abrupt("return",void 0);case 30:return a.tag=c,e.next=33,pxt.github.downloadPackageAsync("".concat(a.slug,"#").concat(a.tag),r);case 33:if(!(l=e.sent)){e.next=37;break}return d=ue(a),u=d.identifier,p=d.fileName,e.abrupt("return",{text:pxt.tutorial.resolveLocalizedMarkdown(a,l.files,p),identifier:u,reportId:o,status:s});case 37:return e.abrupt("return",void 0);case 38:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function oe(e){return ce.apply(this,arguments)}function ce(){return(ce=Object(Y.a)(J.a.mark((function e(t){var a,r;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!me()){e.next=9;break}return t=t.replace(/^\//,"").replace(/\.md$/,""),e.next=4,fetch("docs/"+t+".md");case 4:return a=e.sent,e.next=7,a.text();case 7:return r=e.sent,e.abrupt("return",{text:r,identifier:t,status:"approved"});case 9:return e.abrupt("return",void 0);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function le(e){return e.trim().replace(/^[\\/]/i,"").replace(/\.md$/i,"")}function de(e){var t;e=le(e);var a=(null===(t=window.pxtTargetBundle)||void 0===t?void 0:t.name)||"arcade";return"".concat("https://www.makecode.com/api","/md/").concat(a,"/").concat(e)}function ue(e){var t=function(e){return(e=(e=e.replace(/^\/?blob\/main\//,"")).replace(/^\/?blob\/master\//,"")).replace(/\.md$/,"")}(e.fileName||"skillmap");return{identifier:e.fullName+"#"+t,fileName:t}}function pe(){return(pe=Object(Y.a)(J.a.mark((function e(t,a){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=3;break}return e.next=3,fe("/api/".concat(encodeURIComponent(t),"/abusereports"),a);case 3:return e.abrupt("return");case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function he(e){return new Promise((function(t,a){var r=new XMLHttpRequest;r.addEventListener("error",(function(e){a(e)})),r.addEventListener("load",(function(){try{t(r.responseText)}catch(e){a(e)}})),r.open("GET",e),r.send()}))}function fe(e,t){return new Promise((function(a,r){var n=new XMLHttpRequest;n.addEventListener("error",(function(e){r(e)})),n.addEventListener("load",(function(){try{a(n.responseText)}catch(e){r(e)}})),n.open("POST",e,!0),n.setRequestHeader("Content-type","application/json"),n.send(JSON.stringify(t))}))}function ve(){function e(){return(65536|function(){var e=new Uint8Array(4);return function(e){if(window.crypto)window.crypto.getRandomValues(e);else for(var t=0;t<e.length;++t)e[t]=Math.floor(255*Math.random())}(e),new Uint32Array(e.buffer)[0]}()).toString(16).slice(-4)}return e()+e()+"-"+e()+"-4"+e().slice(-3)+"-"+e()+"-"+e()+e()+e()}function me(){return"localhost"===window.location.hostname}function be(e){return"".concat(me()?"":"/static/skillmap","/").concat(e.replace(/^\//,""))}function ge(e){n=e}function ye(e,t){var a,i;(t=t||{}).page=n,t.pageTitle=r,null===(a=(i=window).pxtTickEvent)||void 0===a||a.call(i,e,t)}function je(e,t,a,r){return!Object.keys(null==a?void 0:a.activities).some((function(n){var i,s;return!(null!==(i=we(e,t,a.mapId))&&void 0!==i&&null!==(s=i.activityState[n])&&void 0!==s&&s.isCompleted)&&n!==r}))}function xe(e,t,a,r){var n;return!(null===(n=Ie(e,t,a,r))||void 0===n||!n.isCompleted)}function ke(e,t,a,r){var n,i,s,o=e&&a&&Se(e,t,a,r)?"notstarted":"locked";if(e)if(a&&t&&!function(e,t,a){var r,n=Object(u.a)(t.prerequisites);try{for(n.s();!(r=n.n()).done;){var i=r.value;if("tag"===i.type){if(!e.completedTags[a])return!1;var s=e.completedTags[a][i.tag];if(void 0===s||s<i.numberCompleted)return!1}else if("map"===i.type&&!je(e,a,t))return!1}}catch(e){n.e(e)}finally{n.f()}return!0}(e,a,t))o="locked";else{var c=Ie(e,t,a.mapId,r);c&&(c.isCompleted?(o=c.currentStep&&c.maxSteps&&c.currentStep<c.maxSteps?"restarted":"completed",s=c.headerId):c.headerId&&(o="inprogress"),n=null==c?void 0:c.currentStep,i=null==c?void 0:c.maxSteps)}return{status:o,currentStep:n,maxSteps:i,completedHeadedId:s}}function Oe(e,t,a){var r,n={},i=Object(u.a)(a);try{for(i.s();!(r=i.n()).done;)for(var s=r.value,o=0,c=Object.keys(s.activities);o<c.length;o++){var l=c[o],d=s.activities[l];if(xe(e,t,s.mapId,d.activityId)&&"activity"===d.kind){var p,h=Object(u.a)(d.tags);try{for(h.s();!(p=h.n()).done;){var f=p.value;n[f]||(n[f]=0),n[f]++}}catch(e){h.e(e)}finally{h.f()}}}}catch(e){i.e(e)}finally{i.f()}return n}function Se(e,t,a,r){return a.root.activityId===r||function n(i){if(xe(e,t,a.mapId,i.activityId)){if(i.next.some((function(e){return e.activityId===r})))return!0;var s,o=Object(u.a)(i.next);try{for(o.s();!(s=o.n()).done;){if(n(s.value))return!0}}catch(e){o.e(e)}finally{o.f()}}return!1}(a.root)}function we(e,t,a){return e.mapProgress[t]?e.mapProgress[t][a]:void 0}function Ie(e,t,a,r){var n;return null===(n=we(e,t,a))||void 0===n?void 0:n.activityState[r]}function Ce(e,t){return!!(e.mapProgress&&e.mapProgress[t]&&0!=Object.keys(e.mapProgress[t]).length&&Object.keys(e.mapProgress[t]).some((function(a){return 0!=Object.keys(e.mapProgress[t][a].activityState).length})))}function Ne(e,t){return Object.keys(e.activities).filter((function(t){return!Le(e.activities[t])})).filter((function(a){return Me(e.activities[a],Le(e.activities[t])).map((function(e){return e.activityId})).some((function(e){return e===t}))})).map((function(t){return e.activities[t]}))}function Ae(e,t,a,r){return Ne(a,r).map((function(r){return Ie(e,t,a.mapId,r.activityId)})).filter((function(e){return!!e}))}function Ue(e,t,a,r){var n=Ae(e,t,a,r).filter((function(e){return(null==e?void 0:e.isCompleted)&&e.maxSteps===e.currentStep})).sort((function(e,t){return(t.completedTime||0)-(e.completedTime||0)}));return null==n?void 0:n[0]}function Pe(e,t,a,r){if(!e||!a||!r||"activity"!==r.kind)return!1;var n=Ae(e,t,a,r.activityId),i=null==n?void 0:n.some((function(e){return(null==e?void 0:e.isCompleted)&&e.maxSteps===e.currentStep}));return r.allowCodeCarryover&&n.length>0&&i&&Se(e,t,a,r.activityId)}function Me(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=[];return e.next.forEach((function(e){t||!Le(e)?a.push(e):a=a.concat(Me(e))})),a}function Le(e){return"reward"===e.kind||"completion"===e.kind}function Ee(e,t,a){for(var r=[],n=0,i=Object.keys(a.activities);n<i.length;n++){var s=i[n];if(Le(a.activities[s])&&Se(e,t,a,s)){var o,c=a.activities[s],l=Object(u.a)(c.rewards);try{for(l.s();!(o=l.n()).done;)"completion-badge"===o.value.type&&r.push(Te(t,a,c))}catch(e){l.e(e)}finally{l.f()}}}return r}function Te(e,t,a){var r=a.rewards.filter((function(e){return"completion-badge"===e.type}))[0];return{id:"skillmap-completion-".concat(t.mapId),image:null==r?void 0:r.imageUrl,sourceURL:e,type:"skillmap-completion",title:(null==r?void 0:r.displayName)||t.displayName}}function Re(e,t,a){var r;return Object.values(null!==(r=e.mapProgress[t])&&void 0!==r?r:[]).filter((function(e){var r;return!a||!(null!==(r=a.mapProgress[t])&&void 0!==r&&r[e.mapId])||0===Object.keys(a.mapProgress[t][e.mapId].activityState).length})).map((function(e){return Object.values(e.activityState)})).reduce((function(e,t){return e.concat(t,[])}),[]).map((function(e){return e.headerId})).filter((function(e){return!!e}))}function Be(e,t,a,r){var n=pxt.semver.parse(e.version||"0.0.0"),i=pxt.semver.parse(t),s=e;if(0===pxt.semver.cmp(n,i))return s;if(0===pxt.semver.cmp(n,pxt.semver.parse("0.0.0"))){var o=(null==e?void 0:e.mapProgress)&&Object.keys(null==e?void 0:e.mapProgress);if((null==o?void 0:o.length)>0&&e.mapProgress[o[0]].activityState){var c=e,l={};Object.keys(r).forEach((function(e){c.mapProgress[e]&&(l[e]=c.mapProgress[e])})),s=Object(h.a)(Object(h.a)({},c),{},{mapProgress:Object(p.a)({},a,l)})}}return s}function _e(e,t,a){if(0===a.length)return e;var r=e.mapProgress[t]||{};return a.forEach((function(t){var a=Z(t),n=a.cmd,i=a.arg,s=i;switch(n){case"github":var o=pxt.github.parseRepoId(i),c=o&&ue(o);s=(null==c?void 0:c.identifier)||i;break;case"docs":s=de(i)}var l=e.mapProgress[s];l&&Object.keys(l).forEach((function(e){if(r[e]){var t=l[e].activityState;Object.keys(t).forEach((function(a){r[e].activityState[a]||(r[e].activityState[a]=t[a])}))}else r[e]=l[e]}))})),Object(h.a)(Object(h.a)({},e),{},{mapProgress:Object(h.a)(Object(h.a)({},e.mapProgress),{},Object(p.a)({},t,r))})}var He={title:lf("Game Maker Guide"),description:lf("Level up your game making skills by completing the tutorials in this guide."),pageSourceStatus:"unknown",pageSourceUrl:"default",user:{version:pxt.skillmap.USER_VERSION,isDebug:!0,id:ve(),mapProgress:{},completedTags:{}},theme:{backgroundColor:"var(--body-background-color)",pathColor:"#BFBFBF",strokeColor:"#000000",rewardNodeColor:"var(--primary-color)",rewardNodeForeground:"#000000",unlockedNodeColor:"var(--secondary-color)",unlockedNodeForeground:"#000000",lockedNodeColor:"#BFBFBF",lockedNodeForeground:"#000000",completedNodeColor:"var(--secondary-color)",completedNodeForeground:"#000000",selectedStrokeColor:"var(--hover-color)",pathOpacity:.5},maps:{},auth:{signedIn:!1},cloudState:{}};function De(e,t,a,r,n,i,s){var o,c,l=arguments.length>7&&void 0!==arguments[7]&&arguments[7],d=a.mapId,u=Ie(e,t,d,r);u||(u={isCompleted:!1,activityId:r,currentStep:i,maxSteps:s,headerId:n});var f=(null===(o=e.mapProgress)||void 0===o?void 0:o[t])||{};return Object(h.a)(Object(h.a)({},e),{},{mapProgress:Object(h.a)(Object(h.a)({},e.mapProgress),{},Object(p.a)({},t,Object(h.a)(Object(h.a)({},f),{},Object(p.a)({},d,Object(h.a)(Object(h.a)({},(null==f?void 0:f[d])||{mapId:d}),{},{activityState:Object(h.a)(Object(h.a)({},(null==f||null===(c=f[d])||void 0===c?void 0:c.activityState)||{}),{},Object(p.a)({},r,Object(h.a)(Object(h.a)({},u),{},{headerId:n,currentStep:i,maxSteps:s,isCompleted:u.isCompleted||l})))})))))})}function Fe(e,t,a,r){var n,i,s,o=a.mapId,c=!1,l={};r.forEach((function(r){var n=Ie(e,t,o,r);c=c||Le(a.activities[r])&&!(null!=n&&n.isCompleted),l[r]=n||{isCompleted:!0,activityId:r,headerId:"",currentStep:0},l[r].isCompleted=!0,l[r].completedTime=Date.now()}));var d=(null===(n=e.mapProgress)||void 0===n?void 0:n[t])||{};return Object(h.a)(Object(h.a)({},e),{},{mapProgress:Object(h.a)(Object(h.a)({},e.mapProgress),{},Object(p.a)({},t,Object(h.a)(Object(h.a)({},d),{},Object(p.a)({},o,Object(h.a)(Object(h.a)({},(null==d?void 0:d[o])||{mapId:o}),{},{activityState:Object(h.a)(Object(h.a)({},(null==d||null===(i=d[o])||void 0===i?void 0:i.activityState)||{}),l),completionState:c?"transitioning":null==d||null===(s=d[o])||void 0===s?void 0:s.completionState})))))})}function Ve(e,t){var a=[e.activities[t]],r=e.activities[t].next.filter((function(e){return Le(e)}));return a.concat(r)}function qe(e,t){var a=[{type:"completion",currentMapId:e.mapId,currentActivityId:t}],r=e.activities[t];if(1===r.rewards.length&&"certificate"===r.rewards[0].type)return a[0].currentReward=r.rewards[0],a;var n,i=Object(u.a)(r.rewards);try{for(i.s();!(n=i.n()).done;){var s=n.value;a.push({type:"reward",currentMapId:e.mapId,currentActivityId:t,currentReward:s})}}catch(e){i.e(e)}finally{i.f()}return a}var Ke,We,ze=Object(d.b)((function(){var e,t,a,r,n,i,s,o,c,l,d,u,Y,$,J=arguments.length>0&&void 0!==arguments[0]?arguments[0]:He,Z=arguments.length>1?arguments[1]:void 0;switch(Z.type){case f:return Object(h.a)(Object(h.a)({},J),{},{maps:Object(h.a)(Object(h.a)({},J.maps),{},Object(p.a)({},Z.map.mapId,Z.map))});case v:return Object(h.a)(Object(h.a)({},J),{},{maps:{}});case m:return Object(h.a)(Object(h.a)({},J),{},{title:He.title,description:He.description,infoUrl:He.infoUrl,backgroundImageUrl:void 0,bannerImageUrl:void 0,alternateSourceUrls:void 0,theme:Object(h.a)({},He.theme)});case b:return Object(h.a)(Object(h.a)({},J),{},{selectedItem:{mapId:Z.mapId,activityId:Z.activityId}});case g:return Object(h.a)(Object(h.a)({},J),{},{user:Object(h.a)(Object(h.a)({},J.user),{},{mapProgress:Object(h.a)(Object(h.a)({},J.user.mapProgress),{},Object(p.a)({},J.pageSourceUrl,Object(h.a)(Object(h.a)({},null===(e=J.user.mapProgress)||void 0===e?void 0:e[J.pageSourceUrl]),{},Object(p.a)({},Z.mapId,Object(h.a)(Object(h.a)({},null===(t=J.user.mapProgress)||void 0===t||null===(a=t[J.pageSourceUrl])||void 0===a?void 0:a[Z.mapId]),{},{completionState:"completed"})))))})});case j:return Object(h.a)(Object(h.a)({},J),{},{editorView:{currentMapId:Z.mapId,currentActivityId:Z.activityId,state:"active",allowCodeCarryover:!!Z.carryoverCode,previousHeaderId:Z.previousHeaderId,currentHeaderId:null===(r=Ie(J.user,J.pageSourceUrl,Z.mapId,Z.activityId))||void 0===r?void 0:r.headerId}});case k:return Object(h.a)(Object(h.a)({},J),{},{editorView:Object(h.a)(Object(h.a)({},J.editorView),{},{state:"saving"})});case x:var ee=J.maps[J.editorView.currentMapId],te=J.editorView.currentActivityId,ae=Z.finished?Ve(ee,te):[],re=ae.find((function(e){return Le(e)})),ne=re&&(null===(n=J.user.mapProgress[J.pageSourceUrl])||void 0===n||null===(i=n[ee.mapId])||void 0===i?void 0:i.activityState[re.activityId]);return Object(h.a)(Object(h.a)({},J),{},{selectedItem:re&&!ne?{mapId:ee.mapId,activityId:re.activityId}:J.selectedItem,editorView:void 0,user:Z.finished?Fe(J.user,J.pageSourceUrl,ee,ae.map((function(e){return e.activityId}))):J.user});case O:return Object(h.a)(Object(h.a)({},J),{},{modalQueue:[],editorView:{state:"active",currentMapId:Z.mapId,currentActivityId:Z.activityId,allowCodeCarryover:!!Z.carryoverCode,previousHeaderId:Z.previousHeaderId},user:De(J.user,J.pageSourceUrl,J.maps[Z.mapId],Z.activityId)});case y:var ie=(null===(s=J.editorView)||void 0===s?void 0:s.currentActivityId)===Z.activityId&&(null===(o=J.editorView)||void 0===o?void 0:o.currentMapId)===Z.mapId;return Object(h.a)(Object(h.a)({},J),{},{editorView:ie?Object(h.a)(Object(h.a)({},J.editorView),{},{currentHeaderId:Z.id}):J.editorView,user:De(J.user,J.pageSourceUrl,J.maps[Z.mapId],Z.activityId,Z.id,Z.currentStep,Z.maxSteps,Z.isCompleted)});case S:var se=J.pageSourceUrl,oe=Be(Z.user,pxt.skillmap.USER_VERSION,se,J.maps);return J.alternateSourceUrls&&(oe=_e(oe,se,J.alternateSourceUrls)),oe.mapProgress[se]||(oe.mapProgress[se]={}),Object.keys(J.maps).forEach((function(e){oe.mapProgress[se][e]||(oe.mapProgress[se][e]={completionState:"incomplete",mapId:e,activityState:{}})})),Object(h.a)(Object(h.a)({},J),{},{user:oe});case I:return pxt.storage.removeLocal(J.pageSourceUrl+X),Object(h.a)(Object(h.a)({},J),{},{user:Object(h.a)(Object(h.a)({},J.user),{},{completedTags:Object(h.a)(Object(h.a)({},J.user.completedTags),{},Object(p.a)({},J.pageSourceUrl,{})),mapProgress:Object(h.a)(Object(h.a)({},J.user.mapProgress),{},Object(p.a)({},J.pageSourceUrl,{}))})});case w:return J.pageSourceUrl?Object(h.a)(Object(h.a)({},J),{},{user:Object(h.a)(Object(h.a)({},J.user),{},{completedTags:Object(h.a)(Object(h.a)({},J.user.completedTags),{},Object(p.a)({},J.pageSourceUrl,Oe(J.user,J.pageSourceUrl,Object.keys(J.maps).map((function(e){return J.maps[e]})))))})}):J;case z:return Object(h.a)(Object(h.a)({},J),{},{shareState:Z.headerId||Z.url?{headerId:Z.headerId,projectName:Z.projectName,data:Z.data,rewardsShare:null===(c=J.shareState)||void 0===c?void 0:c.rewardsShare}:void 0});case G:return Object(h.a)(Object(h.a)({},J),{},{cloudState:Object(h.a)(Object(h.a)({},J.cloudState),{},Object(p.a)({},Z.headerId,Z.status))});case C:return Object(h.a)(Object(h.a)({},J),{},{title:Z.title});case N:return Object(h.a)(Object(h.a)({},J),{},{description:Z.description});case A:return Object(h.a)(Object(h.a)({},J),{},{infoUrl:Z.infoUrl});case U:return Object(h.a)(Object(h.a)({},J),{},{backgroundImageUrl:Z.backgroundImageUrl});case P:return Object(h.a)(Object(h.a)({},J),{},{bannerImageUrl:Z.bannerImageUrl});case M:return Object(h.a)(Object(h.a)({},J),{},{theme:Z.theme});case L:return Object(h.a)(Object(h.a)({},J),{},{pageSourceUrl:Z.url,pageSourceStatus:Z.status});case E:return Object(h.a)(Object(h.a)({},J),{},{alternateSourceUrls:Z.urls});case R:return Object(h.a)(Object(h.a)({},J),{},{shareState:void 0!==Z.rewardsShare?{headerId:(null===(l=J.shareState)||void 0===l?void 0:l.headerId)||"",projectName:(null===(d=J.shareState)||void 0===d?void 0:d.projectName)||"",data:null===(u=J.shareState)||void 0===u?void 0:u.data,rewardsShare:Z.rewardsShare}:J.shareState,modalQueue:[Z.modal]});case T:return Object(h.a)(Object(h.a)({},J),{},{modalQueue:Z.modals});case B:return Object(h.a)(Object(h.a)({},J),{},{modalQueue:null===(Y=J.modalQueue)||void 0===Y?void 0:Y.slice(1)});case _:return Object(h.a)(Object(h.a)({},J),{},{modalQueue:[]});case H:return Object(h.a)(Object(h.a)({},J),{},{modalQueue:qe(J.maps[Z.mapId],Z.activityId)});case K:return Object(h.a)(Object(h.a)({},J),{},{showProfile:!0});case W:return Object(h.a)(Object(h.a)({},J),{},{showProfile:!1});case F:return Object(h.a)(Object(h.a)({},J),{},{auth:Object(h.a)(Object(h.a)({},J.auth),{},{profile:Z.profile,signedIn:!(null===($=Z.profile)||void 0===$||!$.id)})});case V:return Object(h.a)(Object(h.a)({},J),{},{auth:Object(h.a)(Object(h.a)({},J.auth),{},{preferences:Z.preferences})});case q:return Object(h.a)(Object(h.a)({},J),{},{auth:Object(h.a)(Object(h.a)({},J.auth),{},{signedIn:!1})});case Q:return Object(h.a)(Object(h.a)({},J),{},{readyResources:Z.resources});case D:return Object(h.a)({},J);default:return J}})),Ge=a(17),Qe=a(5),Ye=a(6),$e=a(8),Je=a(9),Xe=a(52),Ze=a(19),et=function(e,t){return{type:b,mapId:e,activityId:t}},tt=function(e,t,a,r){return{type:j,mapId:e,activityId:t,previousHeaderId:a,carryoverCode:r}},at=function(){return{type:k}},rt=function(e,t,a,r){return{type:O,mapId:e,activityId:t,previousHeaderId:a,carryoverCode:r}},nt=function(e){return{type:V,preferences:e}},it=function(){return{type:K}},st=function(){return{type:W}},ot=function(e,t,a){return{type:z,headerId:e,projectName:t,data:a}},ct=function(e,t){return{type:H,mapId:e,activityId:t}},lt=function(e,t,a){return ut({type:"share",currentMapId:e,currentActivityId:t},a)},dt=function(){return ut({type:"login"})},ut=function(e,t){return{type:R,modal:e,rewardsShare:t}};function pt(){return We||(Ke=new pxt.skillmap.IndexedDBWorkspace,We=Ke.initAsync().then((function(e){return Ke}))),We}function ht(){return ft.apply(this,arguments)}function ft(){return(ft=Object(Y.a)(J.a.mark((function e(){var t,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pt();case 2:return t=e.sent,e.next=5,t.getUserStateAsync();case 5:return(a=e.sent)||(a={id:ve(),completedTags:{},mapProgress:{},version:pxt.skillmap.USER_VERSION}),e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function vt(){return mt.apply(this,arguments)}function mt(){return(mt=Object(Y.a)(J.a.mark((function e(){var t,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ht();case 2:return t=e.sent,e.next=5,wt();case 5:if(!e.sent){e.next=10;break}return e.next=8,Tt();case 8:a=e.sent,t=Object(h.a)(Object(h.a)({},t),{},{mapProgress:(null==a?void 0:a.mapProgress)||{},completedTags:(null==a?void 0:a.completedTags)||{}});case 10:return e.abrupt("return",t);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function bt(e){return gt.apply(this,arguments)}function gt(){return(gt=Object(Y.a)(J.a.mark((function e(t){var a,r;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.isDebug){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,pt();case 4:return r=e.sent,e.next=7,null===(a=pxt.auth.client())||void 0===a?void 0:a.loggedInAsync();case 7:if(e.sent){e.next=10;break}return e.next=10,r.saveUserStateAsync(t);case 10:return e.next=12,Pt({mapProgress:t.mapProgress,completedTags:t.completedTags});case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var yt,jt=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){return Object(Qe.a)(this,a),t.apply(this,arguments)}return Object(Ye.a)(a,[{key:"onSignedIn",value:function(){return Promise.resolve()}},{key:"onSignedOut",value:function(){return ze.dispatch({type:q}),Promise.resolve()}},{key:"onSignInFailed",value:function(){return Promise.resolve()}},{key:"onUserProfileChanged",value:function(){var e,t=this.getState();return t.profile&&pxt.auth.generateUserProfilePicDataUrl(t.profile),ze.dispatch((e=t.profile,{type:F,profile:e})),Promise.resolve()}},{key:"onUserPreferencesChanged",value:function(e){return Promise.resolve()}},{key:"onStateCleared",value:function(){return Promise.resolve()}},{key:"onProfileDeleted",value:function(){var e=Object(Y.a)(J.a.mark((function e(t){var a,r;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=ze.getState(),e.next=3,null===(a=r.readyResources)||void 0===a?void 0:a.exportCloudProjectsToLocal(t);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"onApiError",value:function(e){return Promise.resolve()}},{key:"logoutAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(t){var r,n;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=ze.getState(),n=r.user,e.next=4,bt(n);case 4:Object(Xe.a)(Object(Ze.a)(a.prototype),"logoutAsync",this).call(this,t);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()}]),a}(pxt.auth.AuthClient);function xt(){return kt.apply(this,arguments)}function kt(){return(kt=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pxt.auth.hasIdentity()){e.next=2;break}return e.abrupt("return",void 0);case 2:if(!yt){e.next=4;break}return e.abrupt("return",yt);case 4:return yt=new Promise(function(){var e=Object(Y.a)(J.a.mark((function e(t,a){var r;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new jt,e.next=3,r.initAsync();case 3:return e.next=5,r.authCheckAsync();case 5:return e.next=7,r.initialUserPreferencesAsync();case 7:t(r);case 8:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}()),e.abrupt("return",yt);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ot(){return St.apply(this,arguments)}function St(){return(St=Object(Y.a)(J.a.mark((function e(){var t;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:return t=e.sent,e.next=5,null==t?void 0:t.authCheckAsync();case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wt(){return It.apply(this,arguments)}function It(){return(It=Object(Y.a)(J.a.mark((function e(){var t;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:return t=e.sent,e.next=5,null==t?void 0:t.loggedInAsync();case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ct(e){return Nt.apply(this,arguments)}function Nt(){return(Nt=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pxt.auth.loginCallbackAsync(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function At(e){return Ut.apply(this,arguments)}function Ut(){return(Ut=Object(Y.a)(J.a.mark((function e(t){var a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:return a=e.sent,e.next=5,null==a?void 0:a.logoutAsync(t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pt(e){return Mt.apply(this,arguments)}function Mt(){return(Mt=Object(Y.a)(J.a.mark((function e(t){var a,r,n;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:return a=e.sent,r=ze.getState(),n=r.pageSourceUrl,e.next=7,null==a?void 0:a.patchUserPreferencesAsync({op:"replace",path:["skillmap"],value:t},{filter:function(e){return e.path.includes(n)}});case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Lt(e,t){return Et.apply(this,arguments)}function Et(){return(Et=Object(Y.a)(J.a.mark((function e(t,a){var r;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:return r=e.sent,a=a.filter((function(e){return!t.some((function(t){return pxt.auth.badgeEquals(t,e)}))})),t=t.map((function(e){return Object(h.a)(Object(h.a)({},e),{},{timestamp:Date.now()})})),e.next=7,null==r?void 0:r.patchUserPreferencesAsync({op:"replace",path:["badges"],value:{badges:[].concat(Object(Ge.a)(a),Object(Ge.a)(t))}});case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Tt(){return Rt.apply(this,arguments)}function Rt(){return(Rt=Object(Y.a)(J.a.mark((function e(){var t,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:if(!(t=e.sent)){e.next=8;break}return e.next=6,t.userPreferencesAsync();case 6:return a=e.sent,e.abrupt("return",null==a?void 0:a.skillmap);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Bt(){return _t.apply(this,arguments)}function _t(){return(_t=Object(Y.a)(J.a.mark((function e(){var t,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:if(!(t=e.sent)){e.next=9;break}return e.next=6,t.userPreferencesAsync();case 6:if(!(a=e.sent)){e.next=9;break}return e.abrupt("return",a.badges);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ht(){return Dt.apply(this,arguments)}function Dt(){return(Dt=Object(Y.a)(J.a.mark((function e(){var t;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xt();case 2:if(!(t=e.sent)){e.next=7;break}return e.next=6,t.userPreferencesAsync();case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ft(e){return Vt.apply(this,arguments)}function Vt(){return(Vt=Object(Y.a)(J.a.mark((function e(t){var a,r,n=arguments;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.length>1&&void 0!==n[1]?n[1]:{},e.next=3,xt();case 3:return r=e.sent,e.next=6,null==r?void 0:r.patchUserPreferencesAsync(t,a);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qt(){return(qt=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ft({op:"replace",path:["email"],value:t},{immediate:!0});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Kt(){return(Kt=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ft({op:"replace",path:["highContrast"],value:t},{immediate:!0});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Wt=a(7),zt=a(28),Gt=a(22),Qt=a(0),Yt=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){var e;Object(Qe.a)(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))).reportAbuseUrl="https://github.com/contact/report-content",e.avatarPicUrl=function(){var t,a,r,n,i=e.props.profile;return null!==(t=null==i||null===(a=i.idp)||void 0===a?void 0:a.pictureUrl)&&void 0!==t?t:null==i||null===(r=i.idp)||void 0===r||null===(n=r.picture)||void 0===n?void 0:n.dataUrl},e.onBackClicked=function(){var t=e.props;ye("skillmap.activity.back",{path:t.currentMapId||"",activity:t.currentActivityId||""}),e.props.dispatchSaveAndCloseActivity()},e.onHomeClicked=function(){var e;ye("skillmap.home");var t,a,r=null===(e=pxt.webConfig)||void 0===e?void 0:e.relprefix.substr(0,pxt.webConfig.relprefix.length-3);pxt.appTarget.appTheme.homeUrl&&r?((null===(t=pxt.appTarget.appTheme.homeUrl)||void 0===t?void 0:t.lastIndexOf("/"))===(null===(a=pxt.appTarget.appTheme.homeUrl)||void 0===a?void 0:a.length)-1&&(r=r.substr(1)),window.open(pxt.appTarget.appTheme.homeUrl+r)):window.open(pxt.appTarget.appTheme.homeUrl)},e.onBugClicked=function(){var e,t;ye("skillmap.bugreport"),null===(e=(t=window).usabilla_live)||void 0===e||e.call(t,"click")},e.onLogoutClicked=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return pxt.tickEvent("skillmap.usermenu.signout"),e.next=3,At(location.hash);case 3:case"end":return e.stop()}}),e)}))),e.onProfileClicked=function(){pxt.tickEvent("skillmap.profile"),e.props.dispatchShowUserProfile()},e}return Object(Ye.a)(a,[{key:"getSettingItems",value:function(){var e=this,t=[];if(this.props.preferences){var a,r=null===(a=this.props.preferences)||void 0===a?void 0:a.highContrast;t.push({id:"highcontrast",title:r?lf("High Contrast Off"):lf("High Contrast On"),label:r?lf("High Contrast Off"):lf("High Contrast On"),onClick:function(){var t=!e.props.preferences.highContrast;ye("skillmap.highcontrast",{on:t?1:0}),function(e){Kt.apply(this,arguments)}(t),e.props.dispatchSetUserPreferences(Object(h.a)(Object(h.a)({},e.props.preferences),{},{highContrast:t}))}})}return this.props.showReportAbuse&&t.push({id:"report",title:lf("Report Abuse"),label:lf("Report Abuse"),onClick:function(){ye("skillmap.reportabuse"),window.open(e.reportAbuseUrl)}}),this.props.activityOpen||t.push({id:"reset",title:lf("Reset All"),label:lf("Reset All"),onClick:function(){ye("skillmap.reset.warning"),e.props.dispatchShowResetUserModal()}}),t}},{key:"getOrganizationLogo",value:function(e){var t=e.organizationWideLogo;return Object(Qt.jsx)("div",{className:"header-logo",children:t?Object(Qt.jsx)("img",{src:me()?"./assets/".concat(t):t,alt:lf("{0} Logo",e.organization)}):Object(Qt.jsx)("span",{className:"name",children:e.organization})})}},{key:"getTargetLogo",value:function(e){var t=this.props.activityOpen;return Object(Qt.jsx)("div",{className:"ui item logo brand ".concat(t?"":"noclick"),children:e.useTextLogo?[Object(Qt.jsx)("span",{className:"name",onClick:this.onBackClicked,children:e.organizationText},"org-name"),Object(Qt.jsx)("span",{className:"name-short",onClick:this.onBackClicked,children:e.organizationShortText||e.organizationText},"org-name-short")]:e.logo||e.portraitLogo?Object(Qt.jsx)("img",{className:"logo",src:e.logo||e.portraitLogo,alt:lf("{0} Logo",e.boardName)}):Object(Qt.jsxs)("span",{className:"name",children:[" ",e.boardName]})})}},{key:"getHelpItems",value:function(){var e=[];return this.props.activityOpen&&e.push({id:"feedback",title:lf("Feedback"),label:lf("Feedback"),onClick:this.onBugClicked}),e}},{key:"getUserMenu",value:function(){var e=this,t=this.props,a=t.signedIn,r=t.profile,n=[];a&&(n.push({id:"profile",title:lf("My Profile"),label:lf("My Profile"),onClick:this.onProfileClicked}),n.push({id:"signout",title:lf("Sign Out"),label:lf("Sign Out"),onClick:this.onLogoutClicked}));var i=this.avatarPicUrl()?Object(Qt.jsx)("div",{className:"avatar",children:Object(Qt.jsx)("img",{src:this.avatarPicUrl(),alt:lf("Profile Image"),referrerPolicy:"no-referrer","aria-hidden":"true"})}):void 0,s=Object(Qt.jsx)("span",{children:Object(Qt.jsx)("div",{className:"avatar-initials","aria-hidden":"true",children:pxt.auth.userInitials(r)})});return Object(Qt.jsx)("div",{className:"user-menu",children:a?Object(Qt.jsx)(Gt.MenuDropdown,{id:"profile-dropdown",items:n,label:i||s,title:lf("Profile Settings")}):Object(Qt.jsx)(Wt.Button,{className:"menu-button inverted",rightIcon:"xicon cloud-user",title:lf("Sign In"),label:lf("Sign In"),onClick:function(){pxt.tickEvent("skillmap.usermenu.signin"),e.props.dispatchShowLoginModal()}})})}},{key:"render",value:function(){var e,t=this.props.activityOpen,a=pxt.auth.hasIdentity(),r=null===(e=pxt.appTarget)||void 0===e?void 0:e.appTheme,n=this.getSettingItems(),i=this.getHelpItems();return Object(Qt.jsxs)(zt.MenuBar,{className:"header",ariaLabel:lf("Header"),children:[Object(Qt.jsxs)("div",{className:"header-left",children:[this.getOrganizationLogo(r),this.getTargetLogo(r)]}),Object(Qt.jsx)("div",{className:"spacer"}),Object(Qt.jsxs)("div",{className:"header-right",children:[t&&Object(Qt.jsx)(Wt.Button,{className:"menu-button",leftIcon:"fas fa-arrow-left large",title:lf("Return to activity selection"),onClick:this.onBackClicked}),Object(Qt.jsx)(Wt.Button,{className:"menu-button",leftIcon:"fas fa-home large",title:lf("Return to the editor homepage"),onClick:this.onHomeClicked}),(null==i?void 0:i.length)>0&&Object(Qt.jsx)(Gt.MenuDropdown,{id:"skillmap-help",title:lf("Help menu"),icon:"fas fa-question-circle large",items:i}),(null==n?void 0:n.length)>0&&Object(Qt.jsx)(Gt.MenuDropdown,{id:"settings-help",title:lf("Settings menu"),icon:"fas fa-cog large",items:n}),a&&this.getUserMenu()]})]})}}]),a}(i.Component),$t={dispatchSaveAndCloseActivity:at,dispatchShowResetUserModal:function(){return ut({type:"reset"})},dispatchShowLoginModal:dt,dispatchShowUserProfile:it,dispatchSetUserPreferences:nt},Jt=Object(l.b)((function(e,t){var a,r,n,i;if(!e)return{};null!==(a=e.editorView)&&void 0!==a&&a.currentHeaderId&&xe(e.user,e.pageSourceUrl,e.editorView.currentMapId,e.editorView.currentActivityId)&&e.editorView.currentHeaderId;var s,o=!!e.editorView;return null!==(r=e.editorView)&&void 0!==r&&r.currentActivityId&&(null===(s=e.maps[e.editorView.currentMapId])||void 0===s||s.activities[e.editorView.currentActivityId]),{activityOpen:o,currentMapId:o&&(null===(n=e.editorView)||void 0===n?void 0:n.currentMapId),currentActivityId:o&&(null===(i=e.editorView)||void 0===i?void 0:i.currentActivityId),showReportAbuse:"unknown"===e.pageSourceStatus,signedIn:e.auth.signedIn,profile:e.auth.profile,preferences:e.auth.preferences}}),$t)(Yt),Xt=a(53),Zt=(a(70),a(71),me()?"http://localhost:3232/index.html":function(e){var t,a;if(!pxt.webConfig&&window.pxtConfig&&pxt.setupWebConfig(window.pxtConfig),null!==(t=pxt.webConfig)&&void 0!==t&&t.targetUrl&&null!==(a=pxt.webConfig)&&void 0!==a&&a.relprefix)return pxt.webConfig.targetUrl+pxt.webConfig.relprefix.substr(0,pxt.webConfig.relprefix.length-3);var r=/\/([\da-zA-Z\.]+)(?:--)?/i.exec(window.location.pathname);return"".concat(e.replace(/\/$/,""),"/").concat((null==r?void 0:r[1])||"")}(window.pxtTargetBundle.appTheme.embedUrl)),ea=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).ref=void 0,r.messageQueue=[],r.finishedActivityState=void 0,r.nextId=0,r.pendingMessages={},r.isNewActivity=!1,r.handleFrameRef=function(e){if(e&&e.contentWindow){window.addEventListener("message",r.onMessageReceived),e.addEventListener("load",r.handleFrameReload),r.ref=e,ta(".usabilla_live_button_container",!1),ta("footer",!1);var t=document.getElementById("root");t&&pxt.BrowserUtils.addClass(t,"editor")}},r.handleFrameReload=function(){r.setState({frameState:"loading"})},r.onMessageReceived=function(e){var t=e.data;if("opening-project"===r.state.frameState&&r.setState({loadPercent:Math.min((r.state.loadPercent||0)+4,95)}),"pxteditor"===t.type&&t.id&&r.pendingMessages[t.id])return r.pendingMessages[t.id].handler(t),void delete r.pendingMessages[t.id];switch(t.action){case"newproject":r.state.workspaceReady||(r.setState({workspaceReady:!0}),r.sendMessageAsync(),r.props.onWorkspaceReady((function(e){return r.sendMessageAsync(e)}))),"loading"===r.state.frameState&&r.setState({frameState:"no-project"});break;case"tutorialevent":r.handleTutorialEvent(t);break;case"projectcloudstatus":var a=t;r.props.dispatchSetCloudStatus(a.headerId,a.status)}},r.state={frameState:"loading",workspaceReady:!1,loadPercent:0,pendingShare:!1},r}return Object(Ye.a)(a,[{key:"UNSAFE_componentWillReceiveProps",value:function(e){this.props.highContrast!=e.highContrast&&this.sendMessageAsync({type:"pxteditor",action:"sethighcontrast",on:e.highContrast})}},{key:"componentDidUpdate",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r,n,i,s=this;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.props,a=t.shareHeaderId,t.highContrast,r=this.state,n=r.frameState,i=r.pendingShare,"project-open"===n&&this.props.save?this.setState({frameState:"closing-project"},Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.closeActivityAsync();case 2:case"end":return e.stop()}}),e)})))):"no-project"===n&&this.props.activityId&&this.setState({frameState:"opening-project",loadPercent:0},Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.startActivityAsync();case 2:case"end":return e.stop()}}),e)})))),a&&!i&&this.setState({pendingShare:!0},Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.shareProjectAsync();case 2:case"end":return e.stop()}}),e)}))));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"componentWillUnmount",value:function(){window.removeEventListener("message",this.onMessageReceived),ta(".usabilla_live_button_container",!0),ta("footer",!0);var e=document.getElementById("root");e&&pxt.BrowserUtils.removeClass(e,"editor")}},{key:"render",value:function(){var e=this.props,t=e.title,a=e.activityId,r=this.state,n=r.frameState,i=r.loadPercent,s=lf("Loading..."),o="opening-project"===n,c=o||"closing-project"===n,l=Zt;return"/"!==Zt.charAt(Zt.length-1)||me()||(l=Zt.substr(0,Zt.length-1)),l+="?controller=1&skillsMap=1&noproject=1&nocookiebanner=1&ws=browser",Object(Qt.jsxs)("div",{className:"makecode-frame-outer",style:{display:a?"block":"none"},children:[Object(Qt.jsxs)("div",{className:"makecode-frame-loader ".concat(c?"":"hidden"),children:[Object(Qt.jsx)("img",{src:be("assets/logo.svg"),alt:"MakeCode Logo"}),o&&Object(Qt.jsx)("div",{className:"makecode-frame-loader-bar",children:Object(Qt.jsx)("div",{className:"makecode-frame-loader-fill",style:{width:i+"%"}})}),Object(Qt.jsx)("div",{className:"makecode-frame-loader-text",children:s})]}),Object(Qt.jsx)("iframe",{className:"makecode-frame",src:l,title:t,ref:this.handleFrameRef})]})}},{key:"sendMessageAsync",value:function(e){var t=this;return new Promise((function(a){var r=function(e){e.response=!0,e.id=t.nextId+++"",t.pendingMessages[e.id]={original:e,handler:a},t.ref.contentWindow.postMessage(e,"*")};if(t.ref)if(t.state.workspaceReady){for(;t.messageQueue.length;)r(t.messageQueue.shift());e&&r(e)}else t.messageQueue.push(e)}))}},{key:"startActivityAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.props.activityHeaderId){e.next=5;break}return e.next=3,this.sendMessageAsync({type:"pxteditor",action:"openheader",headerId:this.props.activityHeaderId});case 3:e.next=8;break;case 5:return this.isNewActivity=!0,e.next=8,this.sendMessageAsync({type:"pxteditor",action:"startactivity",path:this.props.tutorialPath,title:this.props.title,activityType:"tutorial",carryoverPreviousCode:this.props.carryoverCode,previousProjectHeaderId:this.props.previousHeaderId});case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"closeActivityAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sendMessageAsync({type:"pxteditor",action:"saveproject"});case 2:return this.props.dispatchCloseActivity("finished"===this.finishedActivityState),this.props.dispatchUpdateUserCompletedTags(),this.finishedActivityState=void 0,e.next=7,this.sendMessageAsync({type:"pxteditor",action:"unloadproject"});case 7:this.setState({frameState:"no-project"});case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"shareProjectAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r,n,i;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props,a=t.shareHeaderId,r=t.shareProjectName,n=t.dispatchSetShareStatus,e.next=3,this.sendMessageAsync({type:"pxteditor",action:"shareproject",headerId:a,projectName:r});case 3:i=e.sent,n(a,r,i.resp),this.setState({pendingShare:!1});case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleTutorialEvent",value:function(e){var t=this.props,a=t.dispatchSetHeaderIdForActivity,r=t.dispatchSaveAndCloseActivity,n=t.mapId,i=t.activityId,s=t.progress;switch(e.tutorialEvent){case"progress":i&&a(n,i,e.projectHeaderId,e.currentStep+1,e.totalSteps,e.isCompleted||!(null==s||!s.isCompleted));break;case"loaded":this.onEditorLoaded();break;case"completed":this.onTutorialFinished();break;case"exit":r()}}},{key:"onEditorLoaded",value:function(){var e=this.props,t=e.mapId,a=e.activityId;t&&a&&(ye("skillmap.activity.loaded",{path:t,activity:a}),this.setState({frameState:"project-open"}),this.isNewActivity&&(this.isNewActivity=!1))}},{key:"onTutorialFinished",value:function(){var e=this.props,t=e.mapId,a=e.activityId,r=e.signedIn,n=e.pageSourceUrl;ye("skillmap.activity.complete",{path:t,activity:a}),this.finishedActivityState="finished",this.props.dispatchSaveAndCloseActivity();var i=pxt.storage.getLocal(n+X);r||i||(this.props.dispatchShowLoginPrompt(),pxt.storage.setLocal(n+X,"true"))}}]),a}(i.Component);function ta(e,t){var a=document.querySelector(e);null!=a&&a.style&&(a.style.display=t?"":"none")}var aa={dispatchSetHeaderIdForActivity:function(e,t,a,r,n,i){return{type:y,mapId:e,activityId:t,id:a,currentStep:r,maxSteps:n,isCompleted:i}},dispatchCloseActivity:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{type:x,finished:e}},dispatchSaveAndCloseActivity:at,dispatchUpdateUserCompletedTags:function(){return{type:w}},dispatchSetShareStatus:ot,dispatchShowLoginPrompt:function(){return ut({type:"login-prompt"})},dispatchSetCloudStatus:function(e,t){return{type:G,headerId:e,status:t}}},ra=Object(l.b)((function(e,t){var a,r,n,i,s=null!==(a=e.shareState)&&void 0!==a&&a.data||null===(r=e.shareState)||void 0===r?void 0:r.headerId,o=null===(n=e.shareState)||void 0===n?void 0:n.projectName;if(!e||!e.editorView)return{shareHeaderId:s,shareProjectName:o};var c,l=e.editorView,d=l.currentActivityId,u=l.currentMapId,p=l.currentHeaderId,h=l.state,f=l.allowCodeCarryover,v=l.previousHeaderId,m=e.maps[u],b=null==m?void 0:m.activities[d];c=null==b?void 0:b.displayName;var g=Ie(e.user,e.pageSourceUrl,u,d);return{tutorialPath:b.url,title:c,mapId:u,activityId:d,activityHeaderId:p,activityType:b.type,carryoverCode:f,previousHeaderId:v,progress:g,save:"saving"===h,shareHeaderId:s,shareProjectName:o,signedIn:e.auth.signedIn,highContrast:null===(i=e.auth.preferences)||void 0===i?void 0:i.highContrast,pageSourceUrl:e.pageSourceUrl}}),aa)(ea),na=a(14),ia=a(10),sa=a(25),oa=a(38),ca=a(49),la=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).handleOnClose=function(){r.setState({loading:!1,resolvePublish:void 0,checkboxSelected:!1}),r.props.dispatchHideModal(),r.props.dispatchSetShareStatus()},r.handleRewardShareClick=function(){var e=r.props,t=e.mapId,a=e.userState,n=e.pageSourceUrl,i=e.skillMap,s=e.activity,o=(e.shareState,Ue(a,n,i,s.activityId));o&&r.props.dispatchShowShareModal(t,o.activityId,!0)},r.handleShareCopyClick=function(){var e=r.props;ye("skillmap.share.copy",{path:e.mapId,activity:e.activity.activityId});var t=document.querySelector(".share-input input");t&&(t.select(),document.execCommand("copy"))},r.state={},r}return Object(Ye.a)(a,[{key:"componentDidUpdate",value:function(e,t,a){var r;if(this.state.resolvePublish&&null!==(r=this.props.shareState)&&void 0!==r&&r.data){var n=this.state.resolvePublish;this.setState({resolvePublish:void 0}),n(this.props.shareState.data)}}},{key:"render",value:function(){var e=this.props,t=e.activity;switch(e.type){case"completion":return t?this.renderCompletionModal():Object(Qt.jsx)("div",{});case"restart-warning":return t?this.renderRestartWarning():Object(Qt.jsx)("div",{});case"report-abuse":return this.renderReportAbuse();case"reset":return this.renderResetWarning();case"carryover":return this.renderCodeCarryoverModal();case"share":return this.renderShareModal();case"login":return this.renderLoginModal(!1);case"login-prompt":return this.renderLoginModal(!0);case"delete-account":return this.renderDeleteAccountModal();case"reward":return this.renderRewardModal();default:return Object(Qt.jsx)("div",{})}}},{key:"getCompletionActionText",value:function(e){switch(e.kind){case"activity":return lf("Start Activity");case"map":return lf("Start Skill Map");case"editor":return lf("Keep Building");case"tutorial":return lf("Start Tutorial");default:return lf("Learn More")}}},{key:"getCompletionActions",value:function(e){var t=this,a=this.props,r=a.userState,n=a.pageSourceUrl,i=a.mapId,s=a.skillMap,o=a.activity,c=a.dispatchOpenActivity,l=a.dispatchShowCarryoverModal,d=o,u=[];return null==e||e.forEach((function(e){var a={label:e.label||t.getCompletionActionText(e),url:e.url};switch(e.kind){case"activity":var p=null==s?void 0:s.activities[e.activityId||""];p&&(a.onClick=function(){ye("skillmap.reward.action.activity",{path:i,activity:d.activityId,nextActivityId:p.activityId}),t.handleOnClose(),Pe(r,n,s,p)?l(s.mapId,p.activityId):c(i,p.activityId)},u.push(a));break;case"editor":var h=Ue(r,n,s,o.activityId);null!=h&&h.headerId&&(a.onClick=function(){ye("skillmap.reward.action.editor",{path:i,activity:d.activityId}),window.open("".concat(Zt,"#skillmapimport:").concat(h.headerId))},u.push(a));break;default:a.onClick=function(){return ye("skillmap.reward.action.".concat(e.kind),{path:i,activity:d.activityId,url:a.url||""})},u.push(a)}})),u}},{key:"renderConfetti",value:function(){return Array(100).fill(0).map((function(e,t){var a={animationDelay:"".concat(t%100*.1,"s"),left:"".concat(1*Math.floor(100*Math.random()),"%")};return Object(Qt.jsx)("div",{style:a,className:"confetti ".concat(Math.random()>.5?"reverse":""," color-").concat(Math.floor(9*Math.random()))},t)}))}},{key:"renderCompletionModal",value:function(){var e=this.props,t=e.skillMap,a=e.type,r=e.activity,n=e.userState,i=e.pageSourceUrl,s=e.dispatchNextModal,o=e.reward,c=e.mapId;if(!a||!t)return Object(Qt.jsx)("div",{});var l=r,d=lf("You Did It!"),u=lf("Congratulations on completing {0}. Take some time to explore any activities you missed, or reset your progress to try again. But first, be sure to claim your reward using the button below.","{0}").split("{0}"),p=Ue(n,i,t,r.activityId),h=o?function(){ye("skillmap.openCertificate",{path:c,activity:r.activityId}),window.open(o.url||t.completionUrl)}:s;return Object(Qt.jsxs)("div",{className:"confetti-container",children:[Object(Qt.jsxs)(na.Modal,{title:d,actions:this.getCompletionActions(l.actions),className:"completion",onClose:this.handleOnClose,children:[u[0],Object(Qt.jsx)("strong",{children:t.displayName}),u[1],Object(Qt.jsx)(Wt.Button,{className:"primary completion-reward",title:lf("Claim your reward!"),label:lf("Claim your reward!"),leftIcon:"fas fa-gift",onClick:h}),p&&p.headerId&&Object(Qt.jsx)(Wt.Button,{className:"primary completion-reward",title:lf("Share your game!"),label:lf("Share your game!"),leftIcon:"fas fa-share",onClick:this.handleRewardShareClick})]}),this.renderConfetti()]})}},{key:"renderRestartWarning",value:function(){var e=this.props,t=e.userState,a=e.pageSourceUrl,r=e.skillMap,n=e.mapId,i=e.activity,s=e.dispatchRestartActivity,o=e.showCodeCarryoverModal,c=(e.dispatchShowCarryoverModal,lf("Restart Activity?")),l=lf("Are you sure you want to restart {0}? You won't lose your path progress but the code you have written for this activity will be deleted.","{0}").split("{0}"),d=[{label:lf("CANCEL"),onClick:this.handleOnClose},{label:lf("RESTART"),onClick:function(){if(ye("skillmap.activity.restart",{path:n,activity:i.activityId}),o){var e=Ue(t,a,r,i.activityId);s(n,i.activityId,e.headerId,!!e.headerId)}else s(n,i.activityId)}}];return Object(Qt.jsxs)(na.Modal,{title:c,actions:d,onClose:this.handleOnClose,children:[l[0],Object(Qt.jsx)("strong",{children:i.displayName}),l[1]]})}},{key:"renderResetWarning",value:function(){var e=this.props,t=e.dispatchResetUser,a=e.dispatchHideModal,r=lf("Reset All Activities?"),n=lf("Are you sure you want to reset? This will permanently erase all progress and delete the project created for each tutorial. This action cannot be undone."),i=[{label:lf("CANCEL"),onClick:this.handleOnClose},{label:lf("RESET"),onClick:function(){ye("skillmap.reset"),t(),a()}}];return Object(Qt.jsx)(na.Modal,{title:r,actions:i,onClose:this.handleOnClose,children:n})}},{key:"renderReportAbuse",value:function(){var e=this.props,t=e.pageSourceUrl,a=e.dispatchHideModal,r=[{label:"REPORT",onClick:function(){ye("skillmap.reportabuse"),function(e,t){pe.apply(this,arguments)}(t||"",{text:document.querySelector(".report-abuse-text").value}),a()}}];return Object(Qt.jsx)(na.Modal,{title:"Report Abuse",actions:r,onClose:this.handleOnClose,children:Object(Qt.jsx)("textarea",{className:"report-abuse-text",placeholder:"Describe the content and explain why you are reporting it for abuse. Provide as much detail as possible!"})})}},{key:"renderCodeCarryoverModal",value:function(){var e=this.props,t=e.skillMap,a=e.activity,r=e.pageSourceUrl,n=e.userState,i=e.dispatchHideModal,s=e.dispatchRestartActivity,o=lf("Keep code from previous activity?"),c=lf("Do you want to start with your code from {0} or start fresh with starter code? Your images, tilemaps, tiles, and animations will stick around either way.").split("{0}"),l=Ue(n,r,t,a.activityId),d=t.activities[null==l?void 0:l.activityId];if(!d)return Object(Qt.jsx)("div",{});var u=[{label:lf("START FRESH"),onClick:function(){var e=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:ye("skillmap.startfresh",{path:t.mapId,activity:a.activityId,previousActivity:d.activityId}),s(t.mapId,a.activityId,l.headerId,!1),i();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{label:lf("KEEP CODE"),onClick:function(){var e=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:ye("skillmap.keepcode",{path:t.mapId,activity:a.activityId,previousActivity:d.activityId}),s(t.mapId,a.activityId,l.headerId,!0),i();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}];return Object(Qt.jsxs)(na.Modal,{title:o,actions:u,onClose:this.handleOnClose,children:[c[0],Object(Qt.jsx)("strong",{children:d.displayName}),c[1]]})}},{key:"renderShareModal",value:function(){var e=this,t=this.props,a=t.userState,r=t.pageSourceUrl,n=t.mapId,i=t.activity,s=t.dispatchSetShareStatus,o=function(){var t=Object(Y.a)(J.a.mark((function t(o){var c;return J.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return ye("skillmap.share",{path:n,activity:i.activityId}),c=Ie(a,r,n,i.activityId),s(null==c?void 0:c.headerId,o),t.abrupt("return",new Promise((function(t){e.setState({resolvePublish:t})})));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return Object(Qt.jsx)(na.Modal,{title:lf("Share Project"),className:"sharedialog wide",parentElement:document.getElementById("root")||void 0,onClose:this.handleOnClose,children:Object(Qt.jsx)(ca.Share,{projectName:i.displayName,isLoggedIn:!1,publishAsync:o,simRecorder:void 0})})}},{key:"renderLoginModal",value:function(e){var t=function(){var e=Object(Y.a)(J.a.mark((function e(t,a){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return pxt.tickEvent("identity.loginClick",{provider:t.name,rememberMe:a.toString()}),e.next=3,pxt.auth.client().loginAsync(t.id,a,{hash:location.hash});case 3:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}();return Object(Qt.jsxs)(Qt.Fragment,{children:[e&&Object(Qt.jsx)(oa.SignInModal,{appMessage:lf("Nice work! You've completed this activity."),onSignIn:t,onClose:this.handleOnClose}),!e&&Object(Qt.jsx)(oa.SignInModal,{onSignIn:t,onClose:this.handleOnClose})]})}},{key:"renderDeleteAccountModal",value:function(){var e=this,t=this.state.checkboxSelected,a=[];return a.push({label:lf("Confirm"),disabled:!t,onClick:function(){var a=Object(Y.a)(J.a.mark((function a(){return J.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!t){a.next=7;break}return ye("skillmap.profile.delete"),e.props.dispatchHideModal(),e.props.dispatchCloseUserProfile(),a.next=6,pxt.auth.client().deleteProfileAsync();case 6:location.reload();case 7:case"end":return a.stop()}}),a)})));return function(){return a.apply(this,arguments)}}()}),a.push({label:lf("Back to safety"),onClick:this.props.dispatchHideModal}),Object(Qt.jsxs)(na.Modal,{title:lf("Delete Profile"),className:"delete",actions:a,onClose:this.handleOnClose,children:[Object(Qt.jsxs)("div",{children:[" ",lf("Are you sure? This cannot be reversed! Your cloud-saved projects will be converted to local projects on this device.")]}),Object(Qt.jsxs)("div",{className:"confirm-delete checkbox",onClick:function(){e.setState({checkboxSelected:!t})},children:[Object(Qt.jsx)("i",{className:"far ".concat(t?"fa-check-square":"fa-square")}),lf("I understand this is permanent. No undo.")]})]})}},{key:"renderRewardModal",value:function(){var e,t=this.props.reward;return"certificate"===(null==t?void 0:t.type)?e=this.renderCertificateModal(t):"completion-badge"===(null==t?void 0:t.type)&&(e=this.renderBadgeModal(t)),Object(Qt.jsxs)("div",{className:"confetti-container",children:[e,this.renderConfetti()]})}},{key:"renderCertificateModal",value:function(e){var t=lf("Rewards"),a=this.props,r=a.mapId,n=a.skillMap,i=a.activity,s=a.hasPendingModals,o=a.dispatchNextModal,c=[];return c.push({label:lf("Open Certificate"),className:"completion-reward inverted",icon:"file outline",onClick:function(){ye("skillmap.openCertificate",{path:r,activity:i.activityId}),window.open(e.url||n.completionUrl)}}),s&&c.push({label:lf("Next Reward"),className:"completion-reward",icon:"right circle arrow",onClick:function(){ye("skillmap.nextReward",{path:r,activity:i.activityId,currentReward:e.type}),o()}}),Object(Qt.jsxs)(na.Modal,{title:t,onClose:this.handleOnClose,actions:c,children:[lf("Use the button below to get your completion certificate!"),e.previewUrl&&Object(Qt.jsx)("div",{className:"certificate-reward",children:Object(Qt.jsx)("img",{src:e.previewUrl,alt:lf("certificate Preview")})})]})}},{key:"renderBadgeModal",value:function(e){var t,a=lf("Rewards"),r=this.props,n=r.mapId,i=r.skillMap,s=r.activity,o=r.hasPendingModals,c=r.badge,l=r.dispatchNextModal,d=r.dispatchShowUserProfile,u=r.dispatchHideModal,p=r.signedIn,h=r.dispatchShowLoginModal,f=function(){ye("skillmap.goToBadges",{path:n,activity:s.activityId}),u(),d()},v=function(){ye("skillmap.badgeSignIn",{path:n,activity:s.activityId}),u(),h()},m=[];return p?(t=Object(ia.jsxLF)(lf("You’ve received the {0} Badge! Find it in the badges section of your {1}."),Object(Qt.jsx)("span",{children:pxt.U.rlf(c.title)}),Object(Qt.jsx)("a",{onClick:f,children:lf("User Profile")})),m.push({label:lf("Go to Badges"),className:"completion-reward inverted",icon:"trophy",onClick:f})):(t=Object(ia.jsxLF)(lf("You’ve received the {0} Badge! {1} to save your progress"),Object(Qt.jsx)("span",{children:pxt.U.rlf(i.displayName)}),Object(Qt.jsx)("a",{onClick:v,children:lf("Sign In")})),m.push({label:lf("Sign In"),className:"completion-reward inverted",xicon:!0,icon:"cloud-user",onClick:v})),o&&m.push({label:lf("Next Reward"),className:"completion-reward",icon:"right circle arrow",onClick:function(){ye("skillmap.nextReward",{path:n,activity:s.activityId,currentReward:e.type}),l()}}),Object(Qt.jsxs)(na.Modal,{title:a,onClose:this.handleOnClose,actions:m,children:[t,Object(Qt.jsx)("div",{className:"badge-modal-image",children:Object(Qt.jsx)(sa.Badge,{badge:c})})]})}}]),a}(i.Component),da={dispatchHideModal:function(){return{type:_}},dispatchRestartActivity:rt,dispatchOpenActivity:tt,dispatchResetUser:function(){return{type:I}},dispatchShowCarryoverModal:function(e,t){return ut({type:"carryover",currentMapId:e,currentActivityId:t})},dispatchCloseUserProfile:st,dispatchSetShareStatus:ot,dispatchShowShareModal:lt,dispatchNextModal:function(){return{type:B}},dispatchShowUserProfile:it,dispatchShowLoginModal:dt},ua=Object(l.b)((function(e,t){var a,r,n;if(!e)return{};var i,s=e.pageSourceUrl,o=e.shareState,c=e.modalQueue||[],l=Object(Xt.a)(c,1)[0]||{},d=l.currentMapId,u=l.currentActivityId,p=l.type,h=l.currentReward,f=e.editorView?e.maps[e.editorView.currentMapId]:d&&e.maps[d],v=d&&u?null===(a=e.maps[d])||void 0===a?void 0:a.activities[u]:void 0;return f&&v&&Le(v)&&"completion-badge"===(null==h?void 0:h.type)&&(i=Te(s,f,v)),{type:p,pageSourceUrl:s,skillMap:f,userState:e.user,showCodeCarryoverModal:f&&v&&Pe(e.user,e.pageSourceUrl,f,v),mapId:d,activity:d&&u?e.maps[d].activities[u]:void 0,shareState:o,reward:h,hasPendingModals:(null===(r=e.modalQueue)||void 0===r?void 0:r.length)&&(null===(n=e.modalQueue)||void 0===n?void 0:n.length)>1,badge:i,signedIn:e.auth.signedIn}}),da)(la),pa=(a(86),function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).handleClick=function(){r.props.onItemSelect&&r.props.onItemSelect(r.props.node.activityId,r.props.kind)},r.handleDoubleClick=function(){r.props.onItemDoubleClick&&r.props.onItemDoubleClick(r.props.node.activityId,r.props.kind)},r.handleKeyDown=function(e){var t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.stopPropagation(),r.props.onItemSelect&&r.props.onItemSelect(r.props.node.activityId,r.props.kind))},r.handleRef=function(e){e&&(e.addEventListener("mouseenter",(function(){r.setState({hover:!0})})),e.addEventListener("mouseleave",(function(){r.setState({hover:!1})})))},r.state={hover:!1},r}return Object(Ye.a)(a,[{key:"getIcon",value:function(e,t){switch(t){case"reward":return"";case"completion":return"";default:switch(e){case"locked":return"";case"completed":return"";default:return""}}}},{key:"getIconClass",value:function(e,t){switch(t){case"reward":case"completion":return"fas graph-icon";default:switch(e){case"locked":case"completed":return"fas graph-icon";default:return"graph-icon-x"}}}},{key:"getAccessibilityStatusText",value:function(){switch(this.props.status){case"completed":return lf("Completed activity.");case"inprogress":return lf("Activity in progress.");case"locked":return lf("This activity is locked. Complete the previous activity to unlock it.");case"notstarted":case"restarted":return lf("Unstarted activity.")}}},{key:"getNodeMarker",value:function(e,t,a,r){var n,i,s=t/50,o=t/576;return"notstarted"===e?Object(Qt.jsxs)("g",{transform:"translate(".concat(t/2-12*s," ").concat(-t/2-9*s,")"),children:[Object(Qt.jsx)("title",{children:lf("Not Started")}),Object(Qt.jsx)("g",{transform:"scale(".concat(o/2,")"),children:(n=a,i=r,Object(Qt.jsx)("path",{fill:n,stroke:i,strokeWidth:"50",d:"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"}))})]}):Object(Qt.jsx)("g",{})}},{key:"render",value:function(){var e=this.state.hover,t=this.props,a=t.width,r=t.position,n=t.selected,i=t.status,s=t.kind,o=t.theme,c=t.node,l=e?o.unlockedNodeColor:o.unlockedNodeForeground,d=e?o.unlockedNodeForeground:o.unlockedNodeColor;"locked"===i?(d=e?o.lockedNodeForeground:o.lockedNodeColor,l=e?o.lockedNodeColor:o.lockedNodeForeground):"activity"!==s?(d=e?o.rewardNodeForeground:o.rewardNodeColor,l=e?o.rewardNodeColor:o.rewardNodeForeground):"completed"===i&&(d=e?o.completedNodeForeground:o.completedNodeColor,l=e?o.completedNodeColor:o.completedNodeForeground);var u,p=a/8,h=a/12.5,f="graph-node-"+c.activityId;switch(c.kind){case"activity":u=c.description||c.displayName;break;case"completion":u=lf("A reward for completing this skillmap.")}return Object(Qt.jsxs)("g",{ref:this.handleRef,className:"graph-activity ".concat(n?"selected":""," ").concat(e?"hover":""),transform:"translate(".concat(r.x," ").concat(r.y,")"),onKeyDown:this.handleKeyDown,onClick:this.handleClick,onDoubleClick:this.handleDoubleClick,"data-activity":c.activityId,children:[Object(Qt.jsxs)("foreignObject",{width:a,height:a,x:-a/2,y:-a/2,children:[Object(Qt.jsx)(Wt.Button,{className:"graph-node-button",title:c.displayName,onClick:this.handleClick,onKeydown:this.handleKeyDown,role:"menuitem",ariaHasPopup:"locked"!==i?"true":"false",ariaExpanded:n,ariaControls:n?"info-panel-actions":void 0,ariaDescribedBy:f}),Object(Qt.jsxs)("div",{id:f,style:{display:"none"},children:[Object(Qt.jsx)("p",{children:this.getAccessibilityStatusText()}),u&&Object(Qt.jsx)("p",{children:u})]})]}),n&&("activity"!==s?Object(Qt.jsx)("circle",{className:"highlight",cx:0,cy:0,r:a/2+p,stroke:o.selectedStrokeColor}):Object(Qt.jsx)("rect",{className:"highlight",x:-a/2-p,y:-a/2-p,width:a+2*p,height:a+2*p,rx:a/6,stroke:o.selectedStrokeColor})),"activity"!==s?Object(Qt.jsx)("circle",{className:"focus-outline",cx:0,cy:0,r:a/2+2*p,stroke:"none",fill:"none"}):Object(Qt.jsx)("rect",{className:"focus-outline",x:-a/2-2*p,y:-a/2-2*p,width:a+4*p,height:a+4*p,rx:a/6,stroke:"none",fill:"none"}),"activity"!==s?Object(Qt.jsx)("circle",{cx:0,cy:0,r:a/2,fill:d,stroke:l,strokeWidth:"2"}):Object(Qt.jsx)("rect",{x:-a/2,y:-a/2,width:a,height:a,rx:a/10,fill:d,stroke:l,strokeWidth:"2"}),"activity"===s&&this.getNodeMarker(i,a,o.selectedStrokeColor,o.strokeColor),Object(Qt.jsx)("text",{dy:h,textAnchor:"middle",alignmentBaseline:"middle",dominantBaseline:"middle",fill:l,className:this.getIconClass(i,s),children:this.getIcon(i,s)})]})}}]),a}(i.Component)),ha=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){return Object(Qe.a)(this,a),t.apply(this,arguments)}return Object(Ye.a)(a,[{key:"render",value:function(){var e,t,a=this.props,r=a.className,n=a.points,i=a.strokeWidth,s=a.color,o="M 0 0",c="";return n.forEach((function(a){var r,n,i,s;e=a,t&&(o+=" l ".concat(((null===(r=e)||void 0===r?void 0:r.x)||0)-t.x," ").concat(((null===(n=e)||void 0===n?void 0:n.y)||0)-t.y),c=" l ".concat(t.x-((null===(i=e)||void 0===i?void 0:i.x)||0)," ").concat(t.y-((null===(s=e)||void 0===s?void 0:s.y)||0)," ").concat(c)),t=e})),Object(Qt.jsx)("g",{transform:"translate(".concat(n[0].x||0," ").concat(n[0].y||0,")"),children:Object(Qt.jsx)("path",{className:r,stroke:s,strokeWidth:i,d:"".concat(o," ").concat(c)})})}}]),a}(i.Component),fa=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).onItemSelect=function(e,t){var a=r.props,n=a.user,i=a.pageSourceUrl,s=a.map,o=(a.completionState,a.selectedActivityId),c=a.dispatchChangeSelectedItem,l=a.dispatchShowCompletionModal,d=ke(n,i,s,e).status;"completion"===t&&"completed"===d?(ye("skillmap.graph.reward.select",{path:s.mapId,activity:e}),c(s.mapId,e),l(s.mapId,e)):e!==o?(ye("skillmap.graph.item.select",{path:s.mapId,activity:e}),c(s.mapId,e)):(ye("skillmap.graph.item.deselect",{path:s.mapId,activity:e}),c(void 0))},r.onItemDoubleClick=function(e,t){var a=r.props,n=a.user,i=a.pageSourceUrl,s=a.map,o=a.dispatchOpenActivity,c=a.dispatchRestartActivity,l=ke(n,i,s,e).status,d=s.activities[e];ye("skillmap.activity.open.doubleclick",{path:s.mapId,activity:e,status:l||""});var u=Ie(n,i,s.mapId,d.activityId),p=Ue(n,i,s,d.activityId);!Pe(n,i,s,d)||null!=u&&u.headerId?"activity"==t&&"locked"!==l&&o(s.mapId,e):c(s.mapId,e,p.headerId,!!p.headerId)},r}return Object(Ye.a)(a,[{key:"componentDidUpdate",value:function(e){"transitioning"===e.completionState&&setTimeout((function(){ye("skillmap.graph.reward.auto",{path:e.map.mapId,activity:e.selectedActivityId||""}),e.dispatchSetSkillMapCompleted(e.map.mapId),e.dispatchShowCompletionModal(e.map.mapId,e.selectedActivityId)}),400)}},{key:"render",value:function(){var e=this,t=this.props,a=t.unit,r=t.items,n=t.paths,i=t.map,s=t.user,o=t.selectedActivityId,c=t.pageSourceUrl,l=t.theme;return Object(Qt.jsxs)("g",{className:"skill-graph",children:[Object(Qt.jsxs)("g",{opacity:l.pathOpacity,children:[n.map((function(e,t){return Object(Qt.jsx)(ha,{className:"skill-graph-path-border",strokeWidth:3*a,color:l.strokeColor,points:e.points},"graph-activity-".concat(t))})),n.map((function(e,t){return Object(Qt.jsx)(ha,{className:"skill-graph-path",strokeWidth:3*a-4,color:l.pathColor,points:e.points},"graph-activity-".concat(t))}))]}),r.map((function(t,r){return Object(Qt.jsx)(pa,{node:t.activity,theme:l,kind:t.activity.kind,position:t.position,width:5*a,selected:t.activity.activityId===o,onItemSelect:e.onItemSelect,onItemDoubleClick:e.onItemDoubleClick,status:ke(s,c,i,t.activity.activityId).status},"graph-activity-".concat(r))}))]})}}]),a}(i.Component),va={dispatchChangeSelectedItem:et,dispatchShowCompletionModal:ct,dispatchSetSkillMapCompleted:function(e){return{type:g,mapId:e}},dispatchOpenActivity:tt,dispatchRestartActivity:rt},ma=Object(l.b)((function(e,t){var a,r,n,i;if(!e)return{};var s=null===(a=e.user)||void 0===a||null===(r=a.mapProgress)||void 0===r?void 0:r[e.pageSourceUrl];return{user:e.user,pageSourceUrl:e.pageSourceUrl,theme:e.theme,selectedActivityId:e.selectedItem&&(null===(n=t.map)||void 0===n?void 0:n.mapId)==e.selectedItem.mapId?e.selectedItem.activityId:void 0,completionState:null==s||null===(i=s[t.map.mapId])||void 0===i?void 0:i.completionState}}),va)(fa);function ba(e,t){return{x:ga(e),y:ya(t)}}function ga(e){return 10*(12*e+4)}function ya(e){return 10*(9*e+4)}function ja(e){for(var t=[],a=[e],r={};a.length>0;){var n=a.shift();n&&!r[n.activityId]&&(r[n.activityId]=!0,t.push(n),a=n.next.concat(a))}return t}function xa(e){var t=function(e){for(var t=[],a=[e],r={};a.length>0;){var n=a.shift();n&&!r[n.activityId]&&(r[n.activityId]=!0,t.push(n),a=a.concat(n.next))}return t}(e),a={};return t.forEach((function(e){var t=e.next.slice();e.next.length=0,a[e.activityId]=JSON.parse(JSON.stringify(e)),e.next=t})),Object.keys(a).forEach((function(e){return a[e].next=a[e].nextIds.map((function(e){return a[e]}))})),a[e.activityId]}a(87);var ka=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).onImageLoad=function(e){r.setState({backgroundSize:{width:e.target.naturalWidth,height:e.target.naturalHeight}})},r.state={backgroundSize:{width:0,height:0}},r}return Object(Ye.a)(a,[{key:"render",value:function(){var e=this.props,t=e.graphs,a=e.graphSize,r=e.backgroundImageUrl,n=this.state.backgroundSize,i=0,s=a.width/a.height,o=n.width/n.height,c=r&&n.width>0&&n.height>0,l=Math.max(400,a.height),d=Math.max(600,a.width);c&&(s-o>.05?l=d*(1/o):s-o<-.05&&(d=l*o));var u=Math.max(l-a.height,0)/2,p=Math.max(d-a.width,0)/2;return Object(Qt.jsx)("div",{className:"skill-graph-wrapper",children:Object(Qt.jsxs)("div",{className:"skill-graph-content ".concat(c?"has-background":""),children:[Object(Qt.jsx)(zt.MenuBar,{className:"skill-graph-activities",ariaLabel:lf("Skill Map"),children:Object(Qt.jsx)("svg",{viewBox:"-".concat(p+40," -").concat(u+40," ").concat(d+80," ").concat(l+80),preserveAspectRatio:"xMidYMid meet",children:t.map((function(e,t){return i+=e.height,Object(Qt.jsx)("g",{transform:"translate(0, ".concat(i-e.height,")"),children:Object(Qt.jsx)(ma,Object(h.a)({unit:10},e))},t)}))})}),r&&Object(Qt.jsx)("div",{className:"skill-graph-background",children:Object(Qt.jsx)("img",{src:r,alt:lf("Background Image"),onLoad:this.onImageLoad})})]})})}}]),a}(i.Component),Oa=Object(l.b)((function(e,t){if(!e)return{};var a=t.maps.map((function(e){return function(e){var t=[];t="manual"===e.layout?t.concat(function(e){var t=[],a=ja(xa(e)).filter((function(e){return"layout"!==e.kind}));return a.forEach((function(e){if(t.indexOf(e.activityId)<0){var a,r;t.push(e.activityId),e.depth=(null===(a=e.position)||void 0===a?void 0:a.depth)||0,e.offset=(null===(r=e.position)||void 0===r?void 0:r.offset)||0;var n=[];e.next.forEach((function(t,a){var r,i,s,o=(null===(r=t.position)||void 0===r?void 0:r.depth)||0,c=(null===(i=t.position)||void 0===i?void 0:i.offset)||0,l=[{depth:e.depth,offset:e.offset}];null!==(s=e.edges)&&void 0!==s&&s[a]&&e.edges[a].forEach((function(e){var t=l[l.length-1];e.depth!==t.depth&&e.offset!==t.offset&&l.push({depth:t.depth,offset:e.offset}),l.push(e)}));var d=l[l.length-1];o!==d.depth&&c!==d.offset&&l.push({depth:d.depth,offset:c}),l.push({depth:o,offset:c}),n.push(l)})),e.edges=n}})),a}(e.root)):t.concat(function(e){for(var t=xa(e),a=[t],r={},n={},i=0,s=function(){var e=a.shift();if(e&&!n[e.activityId]){var t;n[e.activityId]=!0;var s=null===(t=e.parents)||void 0===t?void 0:t[0];if(s){var o=r[s.activityId]||{depth:0,offset:0};0==o.depth?(o.depth=1,e.offset=s.offset+o.offset):(i+=1,o.offset=i,e.offset=i),e.depth=s.depth+o.depth,r[s.activityId]=o}else e.depth=0,e.offset=0;var c=e.next.map((function(t){var a=t;return a.parents?a.parents.push(e):a.parents=[e],a}));c.filter((function(e){return n[e.activityId]})).forEach((function(t){(function(e,t){return!(!e.parents||!t.parents||(e.parents.forEach((function(e){t.parents.indexOf(e)>=0&&(a=e)})),!a||1!=Math.abs(a.nextIds.indexOf(e.activityId)-a.nextIds.indexOf(t.activityId))||e.depth!=t.depth));var a})(t,e)||(t.offset+=1,i=Math.max(i,t.offset),t.depth=Math.max(t.depth,e.depth+1))})),a=c.concat(a)}};a.length>0;)s();var o=ja(t).filter((function(e){return"layout"!==e.kind})),c={};return o.forEach((function(e){null==c[e.depth]&&(c[e.depth]=[]),c[e.depth].push(e.offset)})),o.forEach((function(e){var t;if((!e.next||0==e.next.length)&&1==(null===(t=e.parents)||void 0===t?void 0:t.length)){var a=e.parents[0],r=c[e.depth],n=r[r.indexOf(e.offset)-1];(n?e.offset-n:Math.abs(e.depth-a.depth)+Math.abs(e.offset-a.offset))>2&&(e.depth=a.depth,e.offset=(n||a.offset)+1)}})),o.forEach((function(e){if(e.parents){e.edges=[];var t=e.parents.some((function(t){return t.offset==e.offset}))||e.parents.length>2;e.parents.forEach((function(a){var r,n=[{depth:a.depth,offset:a.offset}];if(t){var i=c[e.depth],s=i.indexOf(e.offset),o=e.offset>a.offset&&!(i[s+1]-i[s]<e.offset-a.offset),l=e.offset<a.offset&&!(i[s]-i[s-1]<a.offset-e.offset);o||l?n.push({depth:e.depth,offset:a.offset}):n.push({depth:a.depth,offset:e.offset})}else n.push({depth:a.depth,offset:e.offset});n.push({depth:e.depth,offset:e.offset}),null===(r=e.edges)||void 0===r||r.push(n)}))}})),o}(e.root));var a,r=0,n=0,i=[],s=[],o=Object(u.a)(t);try{for(o.s();!(a=o.n()).done;){var c=a.value,l=c.depth,d=c.offset;i.push({activity:c,position:ba(l,d)}),c.edges&&c.edges.forEach((function(e){var t=[];e.forEach((function(e){return t.push(ba(e.depth,e.offset))})),s.push({points:t})})),r=Math.max(r,c.depth),n=Math.max(n,c.offset)}}catch(e){o.e(e)}finally{o.f()}var p=ga(r)+40,h=ya(n)+40;return{map:e,items:i,paths:s,width:p,height:h}}(e)})),r=null!=a&&a.length?a.map((function(e){return e.width})).reduce((function(e,t){return Math.max(e,t)})):0,n=null!=a&&a.length?a.map((function(e){return e.height})).reduce((function(e,t){return e+t})):0;return{graphs:a,graphSize:{width:r,height:n}}}))(ka),Sa=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){var e;Object(Qe.a)(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))).handleActionButtonClick=function(){var t=e.props,a=t.status,r=t.mapId,n=t.activityId,i=t.previousHeaderId,s=t.dispatchOpenActivity,o=t.dispatchRestartActivity,c=t.showCodeCarryoverModal;"locked"!==a&&(ye("skillmap.activity.open",{path:r,activity:n,status:a||""}),"notstarted"===a&&c?o(r,n,i,!!i):s(r,n))},e.handleRestartButtonClick=function(){var t=e.props,a=t.mapId,r=t.activityId,n=t.status,i=t.dispatchShowRestartActivityWarning;ye("skillmap.sidebar.restart",{path:a,activity:r,status:n||""}),i(a,r)},e.handleShareButtonClick=function(){var t=e.props,a=t.mapId,r=t.activityId,n=t.status,i=t.dispatchShowShareModal;ye("skillmap.sidebar.share",{path:a,activity:r,status:n||""}),i(a,r)},e.handleSaveToProjectsClick=function(){var t=e.props,a=t.completedHeaderId;ye("skillmap.export",{path:t.mapId||"",activity:t.activityId||""}),window.open("".concat(Zt,"#skillmapimport:").concat(a))},e}return Object(Ye.a)(a,[{key:"getActivityActionText",value:function(){switch(this.props.status){case"locked":return lf("Locked");case"completed":return lf("View Code");case"inprogress":case"restarted":return lf("Continue");default:return lf("Start")}}},{key:"isCompleted",value:function(e){return"completed"===e||"restarted"===e}},{key:"render",value:function(){var e=this.props,t=e.status,a=e.completedHeaderId,r=e.signedIn,n=e.dispatchShowLoginModal,i=t&&"notstarted"!==t&&"locked"!==t;if("locked"===t)return Object(Qt.jsx)("div",{});var s=pxt.auth.hasIdentity()&&!r,o=1;return i&&(o+=2),a&&(o+=1),s&&(o+=1),Object(Qt.jsxs)("div",{className:"actions ".concat(a?"grid":""),children:[Object(Qt.jsx)(Wt.Button,{className:"teal",tabIndex:-1,ariaPosInSet:1,ariaSetSize:o,title:this.getActivityActionText(),label:this.getActivityActionText(),onClick:this.handleActionButtonClick}),i&&Object(Qt.jsxs)(Qt.Fragment,{children:[Object(Qt.jsx)(Wt.Button,{className:"primary inverted",tabIndex:-1,ariaPosInSet:2,ariaSetSize:o,title:lf("Restart"),label:lf("Restart"),onClick:this.handleRestartButtonClick}),Object(Qt.jsx)(Wt.Button,{className:"primary inverted",tabIndex:-1,ariaPosInSet:3,ariaSetSize:o,title:lf("Share"),label:lf("Share"),onClick:this.handleShareButtonClick})]}),a&&Object(Qt.jsx)(Wt.Button,{tabIndex:-1,ariaPosInSet:i?4:2,ariaSetSize:o,className:"primary inverted",title:lf("Save to My Projects"),label:lf("Save to My Projects"),onClick:this.handleSaveToProjectsClick}),s&&Object(Qt.jsx)(Wt.Button,{tabIndex:-1,ariaPosInSet:o,ariaSetSize:o,className:"primary inverted",onClick:n,label:lf("Sign in to Save"),title:lf("Sign in to Save")})]})}}]),a}(i.Component),wa={dispatchOpenActivity:tt,dispatchShowRestartActivityWarning:function(e,t){return ut({type:"restart-warning",currentMapId:e,currentActivityId:t})},dispatchShowShareModal:lt,dispatchRestartActivity:rt,dispatchShowLoginModal:dt},Ia=Object(l.b)((function(e,t){if(!e)return{};var a=t,r=e.maps[a.mapId],n=r.activities[a.activityId],i=Ue(e.user,e.pageSourceUrl,r,a.activityId);return{previousHeaderId:null==i?void 0:i.headerId,showCodeCarryoverModal:Pe(e.user,e.pageSourceUrl,r,n),signedIn:e.auth.signedIn}}),wa)(Sa),Ca=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){var e;Object(Qe.a)(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))).handleActionButtonClick=function(){var t=e.props,a=t.status,r=t.mapId,n=t.activityId,i=t.dispatchShowCompletionModal;if("locked"!==a)return ye("skillmap.sidebar.reward",{path:r,activity:n}),i(r,n)},e}return Object(Ye.a)(a,[{key:"render",value:function(){var e=this.props,t=e.status,a=e.signedIn,r=e.dispatchShowLoginModal;if("locked"===t)return Object(Qt.jsx)("div",{});var n=pxt.auth.hasIdentity()&&!a;return Object(Qt.jsxs)("div",{className:"actions",children:[Object(Qt.jsx)(Wt.Button,{tabIndex:-1,ariaPosInSet:1,ariaSetSize:n?2:1,className:"primary inverted",title:lf("Claim Reward"),label:lf("Claim Reward"),onClick:this.handleActionButtonClick}),n&&Object(Qt.jsx)(Wt.Button,{tabIndex:-1,ariaPosInSet:2,ariaSetSize:2,className:"teal",onClick:r,label:lf("Sign in to Save"),title:lf("Sign in to Save")})]})}}]),a}(i.Component),Na={dispatchOpenActivity:tt,dispatchShowCompletionModal:ct,dispatchShowLoginModal:dt},Aa=Object(l.b)((function(e,t){return e?{signedIn:e.auth.signedIn}:{}}),Na)(Ca),Ua=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){return Object(Qe.a)(this,a),t.apply(this,arguments)}return Object(Ye.a)(a,[{key:"render",value:function(){var e=this.props,t=e.cloudStatus,a=e.signedIn,r=pxt.cloud.cloudStatus[t];return Object(Qt.jsx)("div",{className:"cloud-action",children:a?Object(Qt.jsxs)("div",{className:"cloud-indicator",children:[Object(Qt.jsx)("div",{className:"ui tiny cloudicon xicon ".concat(r.icon),title:r.tooltip}),r.longStatus]}):Object(Qt.jsx)("div",{})})}}]),a}(i.Component),Pa=Object(l.b)((function(e,t){var a=e.user,r=e.pageSourceUrl,n=e.selectedItem,i="none";if(null!=n&&n.activityId){var s,o=null===(s=Ie(a,r,n.mapId,n.activityId))||void 0===s?void 0:s.headerId;o&&(i=e.cloudState&&e.cloudState[o]||i)}else i="synced";return{signedIn:e.auth.signedIn,cloudStatus:i}}),{})(Ua),Ma=a(24),La=(a(88),function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(){var e;Object(Qe.a)(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))).container=void 0,e.handleRef=function(t){t&&(e.container=t)},e}return Object(Ye.a)(a,[{key:"getStatusLabel",value:function(e){switch(e){case"locked":return lf("Locked");case"completed":return lf("Completed");default:return null}}},{key:"getStatusIcon",value:function(e){switch(e){case"locked":return"fas fa-lock";case"completed":return"fas fa-check-circle";default:return""}}},{key:"componentDidUpdate",value:function(e){var t,a,r;if(this.container&&null!==(t=this.props.node)&&void 0!==t&&t.activityId&&(null===(a=e.node)||void 0===a?void 0:a.activityId)!==(null===(r=this.props.node)||void 0===r?void 0:r.activityId)&&!this.container.contains(document.activeElement)){var n=this.container.querySelectorAll("button[tabindex]");n.length&&n.item(0).focus()}}},{key:"render",value:function(){var e=this.props,t=e.mapId,a=e.title,r=e.subtitle,n=e.description,i=e.infoUrl,s=e.imageUrl,o=e.details,c=e.node,l=e.status,d=e.completedHeaderId,u=e.onFocusEscape,p=e.dispatchShowLoginModal,h=e.signedIn,f=this.getStatusLabel(l),v=!c,m=c&&!Le(c),b=m&&c.tags||void 0,g=pxt.auth.hasIdentity();return Object(Qt.jsxs)("div",{className:"info-panel",ref:this.handleRef,children:[Object(Qt.jsx)("div",{className:"info-panel-image",children:s?Object(Qt.jsx)("img",{src:s,alt:lf("Preview of activity content")}):Object(Qt.jsx)("i",{className:"fas fa-image"})}),Object(Qt.jsxs)("div",{className:"info-panel-content",children:[r&&Object(Qt.jsx)("div",{className:"info-panel-subtitle",children:r}),Object(Qt.jsx)("div",{className:"info-panel-title",children:a}),f&&Object(Qt.jsxs)("div",{className:"info-panel-label",children:[Object(Qt.jsx)("i",{className:this.getStatusIcon(l)}),Object(Qt.jsx)("span",{children:f})]}),Object(Qt.jsx)("div",{className:"info-panel-description",children:n}),v&&i&&Object(Qt.jsx)("a",{className:"info-panel-link",href:i,target:"_blank",rel:"noopener noreferrer",children:lf("Learning Outcomes")}),b&&b.length>0&&Object(Qt.jsx)("div",{className:"info-panel-tags",children:b.map((function(e,t){return Object(Qt.jsx)("div",{children:e},t)}))}),Object(Qt.jsx)("div",{className:"info-panel-detail",children:null==o?void 0:o.map((function(e,t){return Object(Qt.jsx)("div",{children:e},"detail_".concat(t))}))}),Object(Qt.jsx)("div",{className:"tablet-spacer"}),Object(Qt.jsxs)(Ma.FocusTrap,{id:"info-panel-actions",onEscape:u,dontStealFocus:!0,arrowKeyNavigation:!0,includeOutsideTabOrder:!0,children:[!v&&(m?Object(Qt.jsx)(Ia,{mapId:t,activityId:c.activityId,status:l,completedHeaderId:d}):Object(Qt.jsx)(Aa,{mapId:t,activityId:c.activityId,status:l})),g&&Object(Qt.jsx)(Pa,{})]}),g&&v&&!h&&Object(Qt.jsx)(Wt.Button,{className:"primary inverted sign-in-button",onClick:p,label:lf("Sign in to Save"),title:lf("Sign in to Save")})]})]})}}]),a}(i.Component)),Ea={dispatchShowLoginModal:dt},Ta=Object(l.b)((function(e,t){var a,r,n,i,s=e.user,o=e.pageSourceUrl,c=e.maps,l=e.selectedItem,d=e.infoUrl,u=l&&(null===(a=e.maps[l.mapId])||void 0===a?void 0:a.activities[l.activityId]),p="activity"===(null==u?void 0:u.kind),h=[];if(c)if(null!=l&&l.activityId&&c[l.mapId]){var f=c[l.mapId],v=ke(e.user,e.pageSourceUrl,f,l.activityId),m=v.status,b=v.currentStep,g=v.maxSteps;r=m,i=v.completedHeadedId,p&&(h.push(g?"".concat(b,"/").concat(g," ").concat(lf("Steps")):lf("Not Started")),h.push(p?u.type:"")),f&&(n=f.displayName)}else if(s){var y=Object.keys(c),j=0,x=0,k=0,O=0;y.forEach((function(e){var t=c[e].activities;Object.keys(t).filter((function(e){return"activity"==t[e].kind})).forEach((function(t){return++x&&xe(s,o,e,t)&&++j})),Object.keys(t).filter((function(e){return Le(t[e])})).forEach((function(t){return++O&&xe(s,o,e,t)&&++k}))})),h.push("".concat(j,"/").concat(x," ").concat(lf("Complete"))),h.push(O?"".concat(k,"/").concat(O," ").concat(lf("Reward(s)")):"")}return{mapId:null==l?void 0:l.mapId,title:(null==u?void 0:u.displayName)||e.title,subtitle:n,description:p?u.description:e.description,infoUrl:d,imageUrl:u?null==u?void 0:u.imageUrl:e.bannerImageUrl,node:u,status:r,details:h,completedHeaderId:i,signedIn:e.auth.signedIn}}),Ea)(La),Ra=a(23);function Ba(e){var t=function(e){var t,a=e.split("\n"),r=[],n=null,i=null,s=null,o=[],c=0,l=Object(u.a)(a);try{for(l.s();!(t=l.n()).done;){var d=t.value;if(d.trim()){if(d.startsWith("#")){var p=/^(#+)\s*(.+)$/.exec(d);if(p){g(),n={headerKind:1===p[1].length?"single":2===p[1].length?"double":"triple",header:p[2],attributes:{}},i=null,s=null,c=0;continue}}if(n){var h=Qa(d),f=d.trim(),v=/^[*-]\s+(?:([^:]+):)?(.*)$/.exec(f);if(!v)continue;if(Math.abs(h-c)>1&&i){if(h>c){var m={key:i,items:[]};o.length?o[o.length-1].items.push(m):(n.listAttributes||(n.listAttributes={}),n.listAttributes[i]=m),i=null,o.push(m)}else{var b=o.pop();i&&s&&(null==b||b.items.push((i+":"+s).trim()),s=null)}c=h}v&&(v[1]?(i&&s&&(o.length?o[o.length-1].items.push((i+":"+s).trim()):n.attributes[i]=s.trim()),i=v[1].toLowerCase(),s=v[2]):i&&(s+=v[2]))}}else s&&(s+="\n")}}catch(e){l.e(e)}finally{l.f()}return g(),r;function g(){n&&(i&&s&&(o.length?o[o.length-1].items.push((i+":"+s).trim()):n.attributes[i]=s.trim()),r.push(n)),o=[]}}(e);null!=t&&t.length||Ga("Cannot parse content: ".concat(e));for(var a,r=[],n=-1,i=0;i<t.length;i++)"single"===t[i].headerKind?a=Fa(t[i]):"double"===t[i].headerKind&&(n>=0&&r.push(_a(t[n],t.slice(n+1,i))),n=i);return(n>0||0===r.length)&&r.push(_a(t[n],t.slice(n+1,t.length))),{maps:r,metadata:a}}function _a(e,t){var a=function(e){var t={mapId:e.header.toLowerCase(),displayName:e.attributes.name||e.header,description:e.attributes.description,completionUrl:e.attributes.completionurl,prerequisites:[],activities:{},allowCodeCarryover:!e.attributes.allowcodecarryover||!Da(e.attributes.allowcodecarryover)};if("manual"===e.attributes.layout&&(t.layout="manual"),e.attributes.required){var a,r=e.attributes.required.split(","),n=Object(u.a)(r);try{for(n.s();!(a=n.n()).done;){var i=a.value,s=/^\s*(?:(\d+) +)?(.+)$/.exec(i);s[1]?t.prerequisites.push({type:"tag",tag:s[2].trim(),numberCompleted:parseInt(s[1])}):t.prerequisites.push({type:"map",mapId:s[2].trim()})}}catch(e){n.e(e)}finally{n.f()}}return t}(e),r=t.map(Ha),n=r.filter((function(e){return"activity"===e.kind}));a.allowCodeCarryover&&n.forEach((function(e){void 0===e.allowCodeCarryover&&(e.allowCodeCarryover=!0)})),a.root=r[0];var i,s=Object(u.a)(r);try{for(s.s();!(i=s.n()).done;){var o=i.value;a.activities[o.activityId]&&Ga("Duplicate activity id '".concat(o.activityId,"' in map '").concat(a.mapId,"'")),a.activities[o.activityId]=o}}catch(e){s.e(e)}finally{s.f()}var c,l=Object(u.a)(r);try{for(l.s();!(c=l.n()).done;){var d,p=c.value,f=Object(u.a)(p.nextIds);try{for(f.s();!(d=f.n()).done;){var v=d.value;a.activities[v]||Ga("Unknown activity id '".concat(v,"' in map '").concat(a.mapId,"'")),p.next.push(a.activities[v])}}catch(e){f.e(e)}finally{f.f()}}}catch(e){l.e(e)}finally{l.f()}var m={};!function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r[t.activityId])console.warn("Loop in map '".concat(a.mapId,"' detected"));else{r[t.activityId]=!0,m[t.activityId]=!0;var n,i=Object(u.a)(t.next);try{for(i.s();!(n=i.n()).done;){var s=n.value;e(s,Object(h.a)({},r))}}catch(e){i.e(e)}finally{i.f()}}}(a.root);var b,g=Object(u.a)(r);try{for(g.s();!(b=g.n()).done;){var y=b.value;m[y.activityId]||console.warn("Unreachable activity detected '".concat(y.activityId,"' in map '").concat(a.mapId,"'"))}}catch(e){g.e(e)}finally{g.f()}return a}function Ha(e){var t={activityId:e.header.toLowerCase(),imageUrl:e.attributes.imageurl,next:[],displayName:e.attributes.name||e.header,nextIds:za(e.attributes.next)};if(e.attributes.position){var a=e.attributes.position.split(" ");t.position={depth:parseInt(a[0])||0,offset:parseInt(a[1])||0}}if(e.attributes.edges){var r;t.edges=[];var n=za(e.attributes.edges,!1,";");null===(r=t.nextIds)||void 0===r||r.forEach((function(e,a){var r,i=za(n[a])||[];null===(r=t.edges)||void 0===r||r.push(i.map((function(e){var t=e.split(" ");return{depth:parseInt(t[0])||0,offset:parseInt(t[1])||0}})))}))}return"reward"===e.attributes.kind||"completion"===e.attributes.kind?function(e,t){var a,r,n,i=Object(h.a)(Object(h.a)({},t),{},{kind:e.attributes.kind||"reward"});if(e.attributes.type&&"certificate"===e.attributes.type.toLowerCase()&&(i.rewards||(i.rewards=[]),null===(a=i.rewards)||void 0===a||a.push({type:"certificate",url:e.attributes.url})),null!==(r=e.listAttributes)&&void 0!==r&&r.actions){var s,o=[],c=e.listAttributes.actions.items.filter((function(e){return"string"==typeof e})),l=Object(u.a)(c);try{for(l.s();!(s=l.n()).done;){var d=s.value.split(":"),p=Object(Ra.a)(d),f=p[0],v=p.slice(1),m=/\s*\[\s*(.*)\s*\](?:\(([^\s]+)\))?/gi.exec(v.join(":")),b=null==m?void 0:m[1],g=null==m?void 0:m[2];switch(f){case"activity":o.push({kind:"activity",label:b,activityId:g});break;case"map":if(g){var y=qa(g)?"github":Ka(g)?"docs":void 0;y||Ga("URL: ".concat(g," must be to Github or MakeCode documentation")),o.push({kind:"map",label:b,url:"#".concat(y,":").concat(g)})}break;case"tutorial":g&&(qa(g)||Ka(g)||Ga("URL: ".concat(g," must be to Github or MakeCode documentation")),o.push({kind:"tutorial",label:b,url:"/#tutorial:".concat(g)}));break;case"docs":if(g){var j=(g.startsWith("/")?"":"/")+g;Ka(j)||Ga("URL: ".concat(j," must be to MakeCode documentation")),o.push({kind:"docs",label:b,url:j})}break;case"editor":o.push({kind:"editor",label:b})}}}catch(e){l.e(e)}finally{l.f()}o.length&&(i.actions=o)}if(null!==(n=e.listAttributes)&&void 0!==n&&n.rewards){var x,k=[],O=e.listAttributes.rewards,S=Object(u.a)(O.items);try{for(S.s();!(x=S.n()).done;){var w=x.value;if("string"==typeof w){var I=w.split(":"),C=Object(Ra.a)(I),N=C[0],A=C.slice(1);switch(N){case"certificate":k.push({type:"certificate",url:A.join(":").trim()});break;case"completion-badge":k.push({type:"completion-badge",imageUrl:A.join(":").trim()})}}else if("certificate"===w.key){var U,P=w.items.filter((function(e){return"string"==typeof e})),M={type:"certificate"},L=Object(u.a)(P);try{for(L.s();!(U=L.n()).done;){var E=U.value.split(":"),T=Object(Ra.a)(E),R=T[0],B=T.slice(1);"url"===R&&(M.url=B.join(":").trim()),"previewurl"!==R&&"preview"!==R||(M.previewUrl=B.join(":").trim())}}catch(e){L.e(e)}finally{L.f()}M.url||Ga("Certificate in activity ".concat(e.header," is missing url attribute")),k.push(M)}else if("completion-badge"===w.key){var _,H=w.items.filter((function(e){return"string"==typeof e})),D={type:"completion-badge"},F=Object(u.a)(H);try{for(F.s();!(_=F.n()).done;){var V=_.value.split(":"),q=Object(Ra.a)(V),K=q[0],W=q.slice(1);"imageurl"!==K&&"image"!==K||(D.imageUrl=W.join(":").trim()),"displayname"!==K&&"name"!==K||(D.displayName=W.join(":").trim())}}catch(e){F.e(e)}finally{F.f()}D.imageUrl||Ga("completion-badge in activity ".concat(e.header," is missing imageurl attribute")),k.push(D)}}}catch(e){S.e(e)}finally{S.f()}var z=["completion-badge","certificate"];k.sort((function(e,t){return z.indexOf(e.type)-z.indexOf(t.type)})),k.length&&(i.rewards=k)}return i}(e,t):"layout"===e.attributes.kind?function(e,t){return Object(h.a)(Object(h.a)({},t),{},{kind:"layout",next:[]})}(0,t):function(e,t){var a=Object(h.a)(Object(h.a)({},t),{},{kind:"activity",description:e.attributes.description,url:e.attributes.url,tags:za(e.attributes.tags),allowCodeCarryover:!e.attributes.allowcodecarryover||!Da(e.attributes.allowcodecarryover)});if(e.attributes.type){var r=e.attributes.type.toLowerCase();"tutorial"===r&&(a.type=r)}if(e.attributes.editor){var n=e.attributes.editor.toLowerCase();switch(n){case"py":case"blocks":case"js":a.editor=n;break;default:a.editor="blocks"}}return a.url||Ga("Activity '".concat(a.activityId,"' is missing attribute 'url'")),a.type||Ga("Activity '".concat(a.activityId,"' is missing attribute 'type'")),a}(e,t)}function Da(e){if(!e)return!1;switch(e.toLowerCase().trim()){case"0":case"no":case"n":case"off":case"false":return!0;default:return!1}}function Fa(e){var t=e.attributes.primarycolor,a=e.attributes.secondarycolor,r=e.attributes.tertiarycolor,n=e.attributes.highlightcolor,i=e.attributes.unlockednodecolor,s=e.attributes.lockednodecolor,o=e.attributes.completednodecolor;return{title:e.attributes.name||e.header,description:e.attributes.description,infoUrl:Wa(e.attributes.infourl),backgroundImageUrl:e.attributes.backgroundurl,bannerImageUrl:e.attributes.bannerurl,alternateSources:za(e.attributes.alternatesources),theme:{backgroundColor:r||"var(--body-background-color)",pathColor:t||"#BFBFBF",strokeColor:"#000000",rewardNodeColor:n||"var(--primary-color)",rewardNodeForeground:n?Va(n):"#000000",unlockedNodeColor:i||a||"var(--secondary-color)",unlockedNodeForeground:i||a?Va(i||a):"#000000",lockedNodeColor:s||t||"#BFBFBF",lockedNodeForeground:s||t?Va(s||t):"#000000",completedNodeColor:o||a||"var(--secondary-color)",completedNodeForeground:o||a?Va(o||a):"#000000",selectedStrokeColor:n||"var(--primary-color)",pathOpacity:.5}}}function Va(e){return e=e.replace("#",""),Number.parseInt(e.slice(0,2),16)+Number.parseInt(e.slice(2,4),16)+Number.parseInt(e.slice(4),16)>382.5?"#000000":"#ffffff"}function qa(e){return e.match(/^(https?:\/\/)?(www\.)?github\.com\//gi)}function Ka(e){return e.indexOf(".")<0}function Wa(e){if(e)return qa(e)?e.replace(/\?[\s\S]+$/gi,""):Ka(e)?"".concat(e.startsWith("/")?"":"/").concat(e):void Ga("URL: ".concat(e," must be to Github or MakeCode documentation"))}function za(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:",";if(!e)return[];var r=e.split(a).map((function(e){return e.trim().toLowerCase()})).filter((function(e){return!!e}));if(!t){var n={};return r.forEach((function(e){return n[e]=e})),Object.keys(n)}return r}function Ga(e){throw e}function Qa(e){for(var t=0,a=0;a<e.length;a++)if(" "===e.charAt(a))t++;else{if("\t"!==e.charAt(a))return t;t+=4}return 0}var Ya=a(50);function $a(e,t){Object(Ya.pushNotificationMessage)({kind:e,text:t,hc:!1})}var Ja=a(51),Xa=function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).renderUserProfile=function(){var e=r.props,t=e.profile,a=e.preferences,n=r.state,i=n.notification,s=n.modal,o=n.emailSelected;return Object(Qt.jsxs)(na.Modal,{title:lf("My Profile"),fullscreen:!0,onClose:r.handleOnClose,parentElement:document.querySelector(".app-container")||void 0,children:[Object(Qt.jsx)(Ja.Profile,{user:{profile:t,preferences:a},signOut:r.handleSignout,deleteProfile:r.handleDeleteAccountClick,notification:i,showModalAsync:r.showModalAsync,checkedEmail:o,onClickedEmail:r.handleEmailClick}),s&&Object(Qt.jsx)(na.Modal,{title:s.header,onClose:r.closeModal,className:s.className,children:s.jsx})]})},r.avatarPicUrl=function(){var e,t,a,n,i=r.props.profile;return null!==(e=null==i||null===(t=i.idp)||void 0===t?void 0:t.pictureUrl)&&void 0!==e?e:null==i||null===(a=i.idp)||void 0===a||null===(n=a.picture)||void 0===n?void 0:n.dataUrl},r.handleOnClose=function(){r.props.dispatchCloseUserProfile()},r.handleSignout=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:pxt.tickEvent("skillmap.userprofile.signout"),At(location.hash);case 2:case"end":return e.stop()}}),e)}))),r.handleDeleteAccountClick=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.props.dispatchShowDeleteAccountModal();case 1:case"end":return e.stop()}}),e)}))),r.handleEmailClick=function(e){r.setState({emailSelected:ia.CheckboxStatus.Waiting}),function(e){return qt.apply(this,arguments)}(e).then((function(t){var a,n;null!=t&&t.success?(n=lf("Settings saved"),pxt.debug(n),$a("info",n),r.setState({emailSelected:null!==(a=t.res)&&void 0!==a&&a.email?ia.CheckboxStatus.Selected:ia.CheckboxStatus.Unselected})):(function(e){pxt.tickEvent("notification.error",{message:e}),$a("err",e)}(lf("Oops, something went wrong")),r.setState({emailSelected:e?ia.CheckboxStatus.Unselected:ia.CheckboxStatus.Selected}))}))},r.showModalAsync=function(){var e=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.setState({modal:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.closeModal=function(){var e,t=null===(e=r.state.modal)||void 0===e?void 0:e.onClose;r.setState({modal:void 0}),t&&t()},Ht().then((function(e){return r.setState({emailSelected:null!=e&&e.email?ia.CheckboxStatus.Selected:ia.CheckboxStatus.Unselected})})),pxt.targetConfigAsync().then((function(e){return r.setState({notification:e.profileNotification})})),r}return Object(Ye.a)(a,[{key:"render",value:function(){return this.props.showProfile?this.renderUserProfile():Object(Qt.jsx)("div",{})}}]),a}(i.Component),Za={dispatchCloseUserProfile:st,dispatchShowDeleteAccountModal:function(){return ut({type:"delete-account"})}},er=Object(l.b)((function(e,t){return e?{signedIn:e.auth.signedIn,profile:e.auth.profile,showProfile:e.showProfile,preferences:e.auth.preferences}:{}}),Za)(Xa),tr=function(){function e(){Object(Qe.a)(this,e),this.sendMessageAsync=void 0}return Object(Ye.a)(e,[{key:"exportCloudProjectsToLocal",value:function(e){return this.sendMessageAsync({type:"pxteditor",action:"convertcloudprojectstolocal",userId:e})}}]),e}(),ar=function(){function e(){var t=this;Object(Qe.a)(this,e),this.promise_=void 0,this.resources=void 0,this.appMounted=void 0,this.resolve=void 0,this.promise=function(){return t.promise_},this.resources=new tr,this.promise_=new Promise((function(e){t.resolve=e,t.checkComplete()}))}return Object(Ye.a)(e,[{key:"setSendMessageAsync",value:function(e){this.resources.sendMessageAsync=e,this.checkComplete()}},{key:"setAppMounted",value:function(){this.appMounted=!0,this.checkComplete()}},{key:"checkComplete",value:function(){var e;this.resolve&&this.appMounted&&this.resources.sendMessageAsync&&(ze.dispatch((e=this.resources,{type:Q,resources:e})),this.resolve(this.resources))}}]),e}(),rr=(a(103),a(104),function(e){Object($e.a)(a,e);var t=Object(Je.a)(a);function a(e){var r;return Object(Qe.a)(this,a),(r=t.call(this,e)).queryFlags={},r.unsubscribeChangeListener=void 0,r.loadedUser=void 0,r.readyPromise=void 0,r.ready=function(){return r.readyPromise.promise()},r.handleHashChange=function(){var e=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.parseHashAsync();case 2:t.stopPropagation(),t.preventDefault();case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.handleError=function(e){var t=e||lf("Oops! Couldn't load content, please check the URL and markdown file.");console.error(t),r.setState({error:t})},r.onMakeCodeFrameLoaded=function(){var e=Object(Y.a)(J.a.mark((function e(t){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.readyPromise.setSendMessageAsync(t);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.focusCurrentActivity=function(){document.querySelector("[data-activity="+r.props.activityId+"] button").focus(),r.props.dispatchChangeSelectedItem(void 0)},r.onStoreChange=Object(Y.a)(J.a.mark((function e(){var t,a;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=ze.getState(),(a=t.user)===r.loadedUser||r.loadedUser&&a.id!==r.loadedUser.id){e.next=6;break}if(!(!r.props.signedIn||r.props.signedIn&&r.state.cloudSyncCheckHasFinished)){e.next=6;break}return e.next=5,bt(a);case 5:r.loadedUser=a;case 6:return e.next=8,r.syncBadgesAsync();case 8:case"end":return e.stop()}}),e)}))),r.state={cloudSyncCheckHasFinished:!1,badgeSyncLock:!1},r.readyPromise=new ar,window.addEventListener("hashchange",r.handleHashChange),r.cloudSyncCheckAsync(),r}return Object(Ye.a)(a,[{key:"parseHashAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r,n,i,s;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pxt.targetConfigAsync();case 2:return r=e.sent,i=window.location.hash.replace("#",""),n=i&&null!==(t=r.skillMap)&&void 0!==t&&null!==(a=t.pathAliases)&&void 0!==a&&a[i]?Z(r.skillMap.pathAliases[i]):Z(window.location.hash||(null===(s=r.skillMap)||void 0===s?void 0:s.defaultPath)),e.next=7,this.fetchAndParseSkillMaps(n.cmd,n.arg);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"initLocalizationAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r,n,i,s,o,c,l,d,u,p;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=pxt.appTarget.appTheme,r=window.location.href,n=!1,i=void 0,/[&?]translate=1/.test(r)&&!pxt.BrowserUtils.isIE()?i=ts.pxtc.Util.TRANSLATION_LOCALE:((s=/(live)?(force)?lang=([a-z]{2,}(-[A-Z]+)?)/i.exec(window.location.href))&&window.location.hash.indexOf(s[0])>=0&&pxt.BrowserUtils.changeHash(window.location.hash.replace(s[0],"")),i=s?s[3]:pxt.BrowserUtils.getCookieLang()||a.defaultLocale||navigator.userLanguage||navigator.language,n=!!s&&!!s[2]),o=pxt.appTarget.appTheme.defaultLocale,n||pxt.Util.isLocaleEnabled(i)||(i=o),c=pxt.appTarget.id,l=pxt.appTarget.versions.pxtCrowdinBranch,d=pxt.appTarget.versions.targetCrowdinBranch,u=null===(t=i)||void 0===t?void 0:t.toLocaleLowerCase(),p=pxt.BrowserUtils.isLocalHostDev()&&(!u||(o?o.toLocaleLowerCase()===u:"en"===u||"en-us"===u)),pxt.BrowserUtils.isPxtElectron()||p||pxt.Util.enableLiveLocalizationUpdates(),e.next=17,nr({targetId:c,baseUrl:"",code:i,pxtBranch:l,targetBranch:d,force:n});case 17:pxt.Util.isLocaleEnabled(i)&&(pxt.BrowserUtils.setCookieLang(i),pxt.Util.setUserLanguage(i));case 18:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"fetchAndParseSkillMaps",value:function(){var e=Object(Y.a)(J.a.mark((function e(t,a){var n,i,s,o,c,l,d,u,p,h,f,v,m,b,g,y,j,x=this;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,te(t,a);case 2:if(n=e.sent,i=null==n?void 0:n.text,s=null==n?void 0:n.identifier,o=null==n?void 0:n.status,i&&s&&o)try{"banned"===o?this.handleError(lf("This GitHub repository has been banned.")):(ge(s),this.props.dispatchSetPageSourceUrl(s,o),this.props.dispatchClearMetadata()),l=Ba(i),d=l.maps,u=l.metadata,(null==d?void 0:d.length)>0&&(c=d,this.props.dispatchClearSkillMaps(),d.forEach((function(e){x.props.dispatchAddSkillMap(e)}))),u&&(p=u.title,h=u.description,f=u.infoUrl,v=u.backgroundImageUrl,m=u.bannerImageUrl,b=u.theme,g=u.alternateSources,r=p,this.props.dispatchSetPageTitle(p),h&&this.props.dispatchSetPageDescription(h),f&&this.props.dispatchSetPageInfoUrl(f),v&&this.props.dispatchSetPageBackgroundImageUrl(v),m&&this.props.dispatchSetPageBannerImageUrl(m),g&&this.props.dispatchSetPageAlternateUrls(g),b&&this.props.dispatchSetPageTheme(b)),this.setState({error:void 0})}catch(e){this.handleError(e)}else this.setState({error:lf("No content loaded.")});return e.next=9,vt();case 9:return y=e.sent,s&&!y.completedTags[s]&&(y.completedTags[s]={}),this.applyQueryFlags(y,c,s),this.loadedUser=y,this.props.dispatchSetUser(y),e.next=16,Ht();case 16:(j=e.sent)&&this.props.dispatchSetUserPreferences(j);case 18:case"end":return e.stop()}}),e,this)})));return function(t,a){return e.apply(this,arguments)}}()},{key:"cloudSyncCheckAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r=this;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ready();case 2:return t=e.sent,e.next=5,wt();case 5:if(e.sent){e.next=9;break}this.setState({cloudSyncCheckHasFinished:!0}),e.next=13;break;case 9:return a=function(){var e=Object(Y.a)(J.a.mark((function e(){var a,n,i,s,o,c,l,d,u,p,f,v,m,b,g,y,j,x,k,O,S,w,I,C,N;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=ze.getState(),e.next=3,ht();case 3:return n=e.sent,e.next=6,vt();case 6:return i=e.sent,s=Re(n,a.pageSourceUrl,i),e.next=10,t.sendMessageAsync({type:"pxteditor",action:"savelocalprojectstocloud",headerIds:s});case 10:if(!(o=e.sent.resp.headerIdMap)){e.next=27;break}for(c=Object(h.a)(Object(h.a)({},i),{},{mapProgress:{}}),l=Object.keys(n.mapProgress),d=0,u=l;d<u.length;d++)for(p=u[d],c.mapProgress[p]=Object(h.a)({},n.mapProgress[p]),f=Object.keys(n.mapProgress[p]),v=0,m=f;v<m.length;v++)if(b=m[v],!Ce(i,p))for(c.mapProgress[p][b]=Object(h.a)({},n.mapProgress[p][b]),c.completedTags[p]=n.completedTags[p],g={},c.mapProgress[p][b].activityState=g,y=n.mapProgress[p][b].activityState,j=0,x=Object.keys(y);j<x.length;j++)k=x[j],(O=y[k]).headerId?g[k]=Object(h.a)(Object(h.a)({},O),{},{headerId:o[O.headerId]||O.headerId}):Le(a.maps[b].activities[k])&&(g[k]=Object(h.a)({},O));for(S=Object.keys(i.mapProgress),w=0,I=S;w<I.length;w++)C=I[w],Ce(i,C)&&(c.mapProgress[C]=Object(h.a)({},i.mapProgress[C]),c.completedTags[C]=i.completedTags[C]);return r.props.dispatchSetUser(c),e.next=20,bt(c);case 20:return i=c,e.next=23,Ht();case 23:return(N=e.sent)&&r.props.dispatchSetUserPreferences(N),e.next=27,r.syncBadgesAsync();case 27:return e.next=29,t.sendMessageAsync({type:"pxteditor",action:"requestprojectcloudstatus",headerIds:Re(i,a.pageSourceUrl)});case 29:r.setState({cloudSyncCheckHasFinished:!0,showingSyncLoader:!1});case 30:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=13,Promise.race([pxt.U.delay(1e4).then((function(){r.state.cloudSyncCheckHasFinished||r.setState({cloudSyncCheckHasFinished:!0,showingSyncLoader:!1})})),a()]);case 13:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"componentDidMount",value:function(){var e=Object(Y.a)(J.a.mark((function e(){return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.unsubscribeChangeListener=ze.subscribe(this.onStoreChange),this.queryFlags=ee(),!this.queryFlags.authcallback){e.next=5;break}return e.next=5,Ct(this.queryFlags);case 5:return e.next=7,Ot();case 7:return e.next=9,this.initLocalizationAsync();case 9:return e.next=11,this.parseHashAsync();case 11:return this.readyPromise.setAppMounted(),e.next=14,wt();case 14:if(e.t0=e.sent,!e.t0){e.next=17;break}e.t0=!this.state.cloudSyncCheckHasFinished;case 17:if(!e.t0){e.next=19;break}this.setState({showingSyncLoader:!0});case 19:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"componentDidUpdate",value:function(){var e=this.props.highContrast,t=document.body.classList.contains("high-contrast");e?t||document.body.classList.add("high-contrast"):t&&document.body.classList.remove("high-contrast")}},{key:"componentWillUnmount",value:function(){window.removeEventListener("hashchange",this.handleHashChange),this.unsubscribeChangeListener&&this.unsubscribeChangeListener()}},{key:"render",value:function(){var e=this.props,t=e.skillMaps,a=e.activityOpen,r=e.backgroundImageUrl,n=e.theme,i=this.state,s=i.error,o=i.showingSyncLoader,c=Object.keys(t).map((function(e){return t[e]}));return Object(Qt.jsxs)("div",{className:"app-container ".concat(pxt.appTarget.id),children:[Object(Qt.jsx)(Jt,{}),o&&Object(Qt.jsxs)("div",{className:"makecode-frame-loader",children:[Object(Qt.jsx)("img",{src:be("assets/logo.svg"),alt:lf("MakeCode Logo")}),Object(Qt.jsx)("div",{className:"makecode-frame-loader-text",children:lf("Saving to cloud...")})]}),Object(Qt.jsxs)("div",{className:"skill-map-container ".concat(a?"hidden":""),style:{backgroundColor:n.backgroundColor},children:[s?Object(Qt.jsx)("div",{className:"skill-map-error",children:s}):Object(Qt.jsx)(Oa,{maps:c,backgroundImageUrl:r}),!s&&Object(Qt.jsx)(Ta,{onFocusEscape:this.focusCurrentActivity})]}),Object(Qt.jsx)(ra,{onWorkspaceReady:this.onMakeCodeFrameLoaded}),Object(Qt.jsx)(ua,{}),Object(Qt.jsx)(er,{})]})}},{key:"applyQueryFlags",value:function(e,t,a){var r=a||"default";if("true"===this.queryFlags.debugNewUser&&(e.isDebug=!0,e.mapProgress=Object(p.a)({},r,{}),e.completedTags={}),"true"===this.queryFlags.debugCompleted&&(e.isDebug=!0,e.mapProgress=Object(p.a)({},r,{}),t)){var n,i=Object(u.a)(t);try{for(i.s();!(n=i.n()).done;){var s=n.value;e.mapProgress[r][s.mapId]={completionState:"completed",mapId:s.mapId,activityState:{}};for(var o=0,c=Object.keys(s.activities);o<c.length;o++){var l,d=c[o],h=s.activities[d];if(e.mapProgress[r][s.mapId].activityState[h.activityId]?e.mapProgress[r][s.mapId].activityState[h.activityId].isCompleted=!0:e.mapProgress[r][s.mapId].activityState[h.activityId]={activityId:h.activityId,isCompleted:!0},"activity"===h.kind&&null!==(l=h.tags)&&void 0!==l&&l.length&&a){var f,v=Object(u.a)(h.tags);try{for(v.s();!(f=v.n()).done;){var m=f.value;e.completedTags[a][m]||(e.completedTags[a][m]=0),e.completedTags[a][m]++}}catch(e){v.e(e)}finally{v.f()}}}}}catch(e){i.e(e)}finally{i.f()}}}},{key:"syncBadgesAsync",value:function(){var e=Object(Y.a)(J.a.mark((function e(){var t,a,r,n,i,s,o,c,l,d,u,p;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=ze.getState(),a=t.user,r=t.maps,n=t.pageSourceUrl,i=t.pageSourceStatus,!this.props.signedIn||!this.state.cloudSyncCheckHasFinished||"approved"!==i){e.next=24;break}for(s=[],o=0,c=Object.keys(r);o<c.length;o++)d=c[o],(l=s).push.apply(l,Object(Ge.a)(Ee(a,n,r[d])));if(!s.length){e.next=24;break}return e.next=7,Bt();case 7:if(e.t0=e.sent,e.t0){e.next=10;break}e.t0={badges:[]};case 10:if(u=e.t0,!(s=s.filter((function(e){return!pxt.auth.hasBadge(u,e)}))).length||this.state.badgeSyncLock){e.next=24;break}return this.setState({badgeSyncLock:!0}),e.prev=14,e.next=17,Lt(s,u.badges);case 17:return e.next=19,Ht();case 19:(p=e.sent)&&this.props.dispatchSetUserPreferences(p);case 21:return e.prev=21,this.setState({badgeSyncLock:!1}),e.finish(21);case 24:case"end":return e.stop()}}),e,this,[[14,,21,24]])})));return function(){return e.apply(this,arguments)}}()}]),a}(s.a.Component));function nr(e){return ir.apply(this,arguments)}function ir(){return(ir=Object(Y.a)(J.a.mark((function e(t){var a,r,n,i,s,o;return J.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.targetId,r=t.baseUrl,n=t.pxtBranch,i=t.targetBranch,t.force,s=t.code,e.next=4,pxt.Util.downloadTranslationsAsync(a,r,s,n,i,pxt.Util.liveLocalizationEnabled(),ts.pxtc.Util.TranslationsKind.SkillMap);case 4:(o=e.sent)&&pxt.Util.setLocalizedStrings(o);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var sr={dispatchAddSkillMap:function(e){return{type:f,map:e}},dispatchClearSkillMaps:function(){return{type:v}},dispatchClearMetadata:function(){return{type:m}},dispatchSetPageTitle:function(e){return{type:C,title:e}},dispatchSetPageDescription:function(e){return{type:N,description:e}},dispatchSetPageInfoUrl:function(e){return{type:A,infoUrl:e}},dispatchSetUser:function(e){return{type:S,user:e}},dispatchSetPageSourceUrl:function(e,t){return{type:L,url:e,status:t}},dispatchSetPageAlternateUrls:function(e){return{type:E,urls:e}},dispatchSetPageBackgroundImageUrl:function(e){return{type:U,backgroundImageUrl:e}},dispatchSetPageBannerImageUrl:function(e){return{type:P,bannerImageUrl:e}},dispatchSetPageTheme:function(e){return{type:M,theme:e}},dispatchSetUserPreferences:nt,dispatchChangeSelectedItem:et},or=Object(l.b)((function(e,t){var a,r;return e?{skillMaps:e.maps,activityOpen:!!e.editorView,backgroundImageUrl:e.backgroundImageUrl,theme:e.theme,signedIn:e.auth.signedIn,activityId:null===(a=e.selectedItem)||void 0===a?void 0:a.activityId,highContrast:null===(r=e.auth.preferences)||void 0===r?void 0:r.highContrast}:{}}),sr)(rr),cr=window.pxtTargetBundle;cr.bundledpkgs={},pxt.setAppTarget(cr),pxt.Cloud.apiRoot="https://www.makecode.com/api/",me()||pxt.setupWebConfig(window.pxtConfig),c.a.render(Object(Qt.jsx)(l.a,{store:ze,children:Object(Qt.jsx)(or,{})}),document.getElementById("root"))}],[[105,1,2]]]);
|
|
Binary file
|
|
Binary file
|
package/localtypings/react.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pxt-core",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.14",
|
|
4
4
|
"description": "Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"TypeScript",
|
|
@@ -104,8 +104,8 @@
|
|
|
104
104
|
"@types/marked": "0.3.0",
|
|
105
105
|
"@types/mocha": "2.2.44",
|
|
106
106
|
"@types/node": "10.14.2",
|
|
107
|
-
"@types/react": "
|
|
108
|
-
"@types/react-dom": "
|
|
107
|
+
"@types/react": "17.0.50",
|
|
108
|
+
"@types/react-dom": "17.0.17",
|
|
109
109
|
"@types/react-modal": "3.1.2",
|
|
110
110
|
"@types/react-redux": "5.0.19",
|
|
111
111
|
"@types/react-tooltip": "3.3.6",
|
|
@@ -134,14 +134,14 @@
|
|
|
134
134
|
"pouchdb": "7.2.1",
|
|
135
135
|
"pouchdb-adapter-memory": "7.2.1",
|
|
136
136
|
"pxt-blockly": "4.0.15",
|
|
137
|
-
"react": "
|
|
138
|
-
"react-dom": "
|
|
137
|
+
"react": "17.0.2",
|
|
138
|
+
"react-dom": "17.0.2",
|
|
139
139
|
"react-modal": "3.3.2",
|
|
140
140
|
"react-redux": "5.1.2",
|
|
141
141
|
"react-tooltip": "3.9.0",
|
|
142
142
|
"redux": "3.7.2",
|
|
143
143
|
"smoothie": "1.35.0",
|
|
144
|
-
"typescript": "4.
|
|
144
|
+
"typescript": "4.8.3",
|
|
145
145
|
"uglifyify": "5.0.2"
|
|
146
146
|
},
|
|
147
147
|
"scripts": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import ReactDOM
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as ReactDOM from "react-dom";
|
|
3
3
|
import { classList, ContainerProps } from "../util";
|
|
4
4
|
import { Button } from "./Button";
|
|
5
5
|
import { FocusTrap } from "./FocusTrap";
|
|
@@ -142,7 +142,7 @@ export const ShareInfo = (props: ShareInfoProps) => {
|
|
|
142
142
|
|
|
143
143
|
const prePublish = shareState === "share" || shareState === "publishing";
|
|
144
144
|
|
|
145
|
-
const inputTitle =
|
|
145
|
+
const inputTitle = prePublish ? lf("Project Title") : lf("Project Link")
|
|
146
146
|
|
|
147
147
|
return <>
|
|
148
148
|
<div className="project-share-info">
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"sourceMap": false,
|
|
12
12
|
"moduleResolution": "node",
|
|
13
13
|
"isolatedModules": false,
|
|
14
|
-
"jsx": "react",
|
|
14
|
+
"jsx": "react-jsx",
|
|
15
15
|
"experimentalDecorators": true,
|
|
16
16
|
"emitDecoratorMetadata": true,
|
|
17
17
|
"declaration": true,
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"react-dom",
|
|
29
29
|
"resize-observer-browser"
|
|
30
30
|
],
|
|
31
|
-
"incremental": false
|
|
31
|
+
"incremental": false,
|
|
32
|
+
"skipLibCheck": true
|
|
32
33
|
},
|
|
33
34
|
"exclude": [
|
|
34
35
|
"node_modules"
|
package/theme/common.less
CHANGED
|
@@ -1680,10 +1680,12 @@ p.ui.font.small {
|
|
|
1680
1680
|
display: block !important;
|
|
1681
1681
|
}
|
|
1682
1682
|
}
|
|
1683
|
-
.collapsedEditorTools .simPanel {
|
|
1683
|
+
.collapsedEditorTools:not(.tabTutorial) .simPanel {
|
|
1684
1684
|
> div {
|
|
1685
1685
|
display: none !important;
|
|
1686
1686
|
}
|
|
1687
|
+
}
|
|
1688
|
+
.collapsedEditorTools .simPanel {
|
|
1687
1689
|
aside.simtoolbar button:not(.expand-button) {
|
|
1688
1690
|
display: none !important;
|
|
1689
1691
|
}
|
|
@@ -1859,7 +1861,7 @@ p.ui.font.small {
|
|
|
1859
1861
|
|
|
1860
1862
|
/* >= Small Monitor (Small Monitor + Large Monitor + Wide Monitor) */
|
|
1861
1863
|
@media only screen and (min-width: @computerBreakpoint) {
|
|
1862
|
-
.collapsedEditorTools:not(.headless) #editorSidebar {
|
|
1864
|
+
.collapsedEditorTools:not(.headless):not(.tabTutorial) #editorSidebar {
|
|
1863
1865
|
min-width: 21px;
|
|
1864
1866
|
width: 21px;
|
|
1865
1867
|
padding: 0;
|
|
@@ -1872,7 +1874,7 @@ p.ui.font.small {
|
|
|
1872
1874
|
background: @editorToolsBackground;
|
|
1873
1875
|
}
|
|
1874
1876
|
|
|
1875
|
-
.collapsedEditorTools:not(.headless) #maineditor {
|
|
1877
|
+
.collapsedEditorTools:not(.headless):not(.tabTutorial) #maineditor {
|
|
1876
1878
|
left: 21px;
|
|
1877
1879
|
}
|
|
1878
1880
|
|
package/theme/highcontrast.less
CHANGED
|
@@ -849,6 +849,9 @@
|
|
|
849
849
|
.tutorial-scroll-gradient { display: none; }
|
|
850
850
|
.tutorial-title { color: @HCtextColor; }
|
|
851
851
|
|
|
852
|
+
.tutorial-step-counter {
|
|
853
|
+
border-color: @HCtextColor;
|
|
854
|
+
}
|
|
852
855
|
.tutorial-step-bar {
|
|
853
856
|
background-color: @HCbackground;
|
|
854
857
|
border: 1px solid @HCtextColor;
|
package/theme/toolbox.less
CHANGED
|
@@ -126,6 +126,24 @@ span.blocklyTreeLabel, text.blocklyText {
|
|
|
126
126
|
color: #fff;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/*******************************
|
|
130
|
+
Toolbox Label
|
|
131
|
+
*******************************/
|
|
132
|
+
|
|
133
|
+
.toolbox-title {
|
|
134
|
+
font-weight: 700;
|
|
135
|
+
font-size: 1.2rem;
|
|
136
|
+
padding: .5rem 1rem;
|
|
137
|
+
border-bottom: 2px solid darken(desaturate(@editorToolsBackground, 60%), 10%);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@media only screen and (max-width: @largestMobileScreen) {
|
|
141
|
+
.toolbox-title {
|
|
142
|
+
font-size: .75rem;
|
|
143
|
+
padding: 0 0.2rem;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
129
147
|
/*******************************
|
|
130
148
|
Toolbox search
|
|
131
149
|
*******************************/
|
|
@@ -136,6 +154,13 @@ span.blocklyTreeLabel, text.blocklyText {
|
|
|
136
154
|
border-radius: 0 !important;
|
|
137
155
|
}
|
|
138
156
|
|
|
157
|
+
@media only screen and (max-width: @largestMobileScreen) {
|
|
158
|
+
.blocklySearchInputField {
|
|
159
|
+
font-size: .75rem;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
|
|
139
164
|
/*******************************
|
|
140
165
|
Toolbox delete
|
|
141
166
|
*******************************/
|