1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[890],{890:function(e,l,n){n.d(l,{Z:function(){return RubricFeedbackPanel}});var r=n(85893),s=n(59965),i=n(68293),a=n(83505),o=n(55263),u=n(311),d=n(11163),c=n(67294),v=n(65996),f=n(9473),x=n(47740),feedback_tab=e=>{var l,n;let{handleHoverComment:s,clearHoverComment:m}=e,b=(0,d.useRouter)(),p=(0,f.I0)(),g=(0,c.useRef)(null),h=(0,f.v9)(e=>e.currentSubmission),y=(0,f.v9)(e=>e.currentRubricFeedbackSubmission),[w,j]=(0,c.useState)(!1),[N,R]=(0,c.useState)(250),T=window.innerHeight,handleDrag=e=>{let l=N+e.movementY;l<T&&R(l=>l+e.movementY)};return(0,r.jsxs)("div",{className:"h-full w-full bg-white",children:[(0,r.jsx)("div",{className:"flex-1 overflow-y-auto w-full p-4",style:{height:"".concat(N,"px")},children:(0,r.jsxs)("div",{className:"flex flex-col gap-y-2 w-full",children:[(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsx)("div",{className:"font-semibold text-gray-800 text-sm",children:"Overall Comments"}),"/student/view-result/"!=b.asPath.slice(0,21)&&(0,r.jsx)("button",{className:"inline-flex items-center rounded-md bg-white px-1 py-1 text-sm font-semibold text-gray-500 shadow-sm hover:bg-gray-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-600",onClick:()=>{j(e=>!e)},children:(0,r.jsx)("span",{className:"w-4 h-4",children:w?(0,r.jsx)(o.Z,{className:"text-gray-700"}):(0,r.jsx)(u.Z,{className:"text-gray-700"})})})]}),(0,r.jsx)("pre",{className:"flex flex-col gap-y-2 text-sm font-sans w-full whitespace-pre-wrap",children:w?(0,r.jsx)("textarea",{id:"overAllComments",className:"w-full h-full px-3 py-2 border-2 border-gray-300 rounded-md focus:outline-none focus:border-blue-500 ",value:null===(l=h.functionResult)||void 0===l?void 0:l.overallComments,onChange:e=>p((0,a.Ft)({overallComments:e.target.value})),rows:4,placeholder:"Enter your comments here..."}):(0,r.jsx)(v.U,{children:null===(n=h.functionResult)||void 0===n?void 0:n.overallComments})})]})}),(0,r.jsx)("div",{ref:g,className:"flex-1 w-full bg-gray-300 cursor-ns-resize h-1",onMouseDown:e=>{e.preventDefault(),document.addEventListener("mousemove",handleDrag),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",handleDrag)})}}),(0,r.jsx)("div",{className:"flex-1 overflow-auto p-4",style:{height:"calc(100% - ".concat(N,"px)")},children:(0,r.jsx)("div",{className:"flex flex-col gap-y-4",children:(0,r.jsx)("div",{className:"flex flex-col gap-y-2",children:y.feedbackItems.map(e=>(0,r.jsx)("div",{onMouseEnter:()=>s&&s(e.id),onMouseLeave:m||void 0,children:(0,r.jsx)(x.Z,{f:e,currentRubricOrFeedbackSubmission:y,setRubricOrFeedbackFeedbackItems:i.FL,setRubricOrFeedbackProcessedHtml:i.JF},e.id)},e.id))})})})]})},m=n(72804),grade_tab=()=>{var e,l,n;let s=(0,f.v9)(e=>e.currentSubmission),i=(0,f.I0)(),v=(0,d.useRouter)(),[x,b]=(0,c.useState)(),[p,g]=(0,c.useState)();return(0,r.jsx)("div",{className:"flex-1 overflow-y-auto w-full p-2",children:(0,r.jsx)("ul",{role:"list",className:" space-y-3",children:null==s?void 0:null===(n=s.functionResult)||void 0===n?void 0:null===(l=n.rubric)||void 0===l?void 0:null===(e=l.criteria)||void 0===e?void 0:e.map((e,l)=>{var n,d,c,f,h,y,w,j,N,R,T,I,P;return(0,r.jsx)(m.UQ,{collapseAll:!0,children:(0,r.jsxs)(m.UQ.Panel,{children:[(0,r.jsxs)(m.UQ.Title,{children:[(0,r.jsxs)("span",{className:"font-semibold",children:[l+1,". ",e.criterionDescription," "]}),(0,r.jsxs)("span",{className:"text-green-500 font-bold",children:["(Level: ",null==s?void 0:null===(n=s.functionResult)||void 0===n?void 0:n.criteriaLevels[l],e.useRange?", Points: "+(null==s?void 0:null===(d=s.functionResult)||void 0===d?void 0:d.criteriaPoints[l]):"",")"]})]}),(0,r.jsxs)(m.UQ.Content,{children:[(0,r.jsxs)("div",{className:"text-sm font-semibold text-gray-900",children:["Criterion Levels"," ","/student/view-result/"!=v.asPath.slice(0,21)&&(0,r.jsx)("span",{className:"text-xs font-semibold text-gray-500",children:"(Click to change level, then 'Save')"})]}),(0,r.jsx)("ul",{className:"mt-3 gap-y-1 flex flex-col ",children:null==e?void 0:null===(c=e.levelDescriptions)||void 0===c?void 0:c.map((e,n)=>{var o,u,d,c,f,x,m,b,p,g,h,y,w,j,N,R,T,I,P,E,k;let C=!1;(null==s?void 0:null===(o=s.functionResult)||void 0===o?void 0:o.criteriaLevels)&&(null==s?void 0:null===(u=s.functionResult)||void 0===u?void 0:u.criteriaLevels.length)>l&&(C=Number(null==s?void 0:null===(k=s.functionResult)||void 0===k?void 0:k.criteriaLevels[l])===n+1);let O=e.split(/(?=\b(?:[ivxlcdm]+)\.\s+)/i),_=O.filter(e=>""!==e.trim());return(0,r.jsxs)("li",{className:"rounded-lg bg-gray-100 p-2 flex flex-col gap-y-0.5 hover:cursor-pointer border-2 ".concat(C?"border-green-400":"border-gray-100"),onClick:()=>{"/student/view-result/"!=v.asPath.slice(0,21)&&i((0,a.GD)({critIndex:l,newCritLevel:n+1}))},children:[(0,r.jsxs)("div",{className:"text-sm font-semibold ".concat(C?"text-gray-900":"text-gray-400"),children:["Level ",n+1,":"," ",(null==s?void 0:null===(x=s.functionResult)||void 0===x?void 0:null===(f=x.rubric)||void 0===f?void 0:null===(c=f.criteria)||void 0===c?void 0:null===(d=c[l])||void 0===d?void 0:d.useRange)?"["+(null==s?void 0:null===(w=s.functionResult)||void 0===w?void 0:null===(y=w.rubric)||void 0===y?void 0:null===(h=y.criteria)||void 0===h?void 0:null===(g=h[l])||void 0===g?void 0:null===(p=g.levelRanges)||void 0===p?void 0:null===(b=p.find(e=>e.levelDescriptionsIndex===n))||void 0===b?void 0:null===(m=b.values)||void 0===m?void 0:m.min)+" - "+(null==s?void 0:null===(E=s.functionResult)||void 0===E?void 0:null===(P=E.rubric)||void 0===P?void 0:null===(I=P.criteria)||void 0===I?void 0:null===(T=I[l])||void 0===T?void 0:null===(R=T.levelRanges)||void 0===R?void 0:null===(N=R.find(e=>e.levelDescriptionsIndex===n))||void 0===N?void 0:null===(j=N.values)||void 0===j?void 0:j.max)+" pts]":""]}),_.map((e,l)=>(0,r.jsx)("div",{className:"text-sm ".concat(C?"text-gray-900":"text-gray-400"),children:" ".concat(e)},l))]},n)})}),(null==s?void 0:null===(w=s.functionResult)||void 0===w?void 0:null===(y=w.rubric)||void 0===y?void 0:null===(h=y.criteria)||void 0===h?void 0:null===(f=h[l])||void 0===f?void 0:f.useRange)&&(0,r.jsxs)("div",{className:"flex flex-row w-full justify-between text-sm font-semibold text-gray-900 mt-4",children:[(0,r.jsxs)("div",{children:[" ","Points:"," ",(null==x?void 0:x.cIndex)==l?(0,r.jsx)("input",{id:"min",name:"min",type:"number",value:null==s?void 0:null===(j=s.functionResult)||void 0===j?void 0:j.criteriaPoints[l],onChange:e=>{i((0,a.eL)({critIndex:l,newCritPoint:parseInt(e.target.value)}))},className:"w-16 h-6 rounded-md border-0 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-orange-500 sm:text-sm/6"}):null==s?void 0:null===(N=s.functionResult)||void 0===N?void 0:N.criteriaPoints[l]]}),"/student/view-result/"!=v.asPath.slice(0,21)&&(0,r.jsx)("button",{className:"inline-flex items-center rounded-md bg-white px-1 py-1 text-sm font-semibold text-gray-500 shadow-sm hover:bg-gray-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-600",onClick:()=>{x&&x.cIndex==l?b(void 0):b({cIndex:l})},children:(0,r.jsx)("span",{className:"w-4 h-4",children:(null==x?void 0:x.cIndex)==l?(0,r.jsx)(o.Z,{className:"text-gray-700"}):(0,r.jsx)(u.Z,{className:"text-gray-700"})})})]}),(0,r.jsxs)("div",{className:"text-sm w-full flex flex-row justify-between font-semibold text-gray-900 mt-4",children:["Criterion Feedback","/student/view-result/"!=v.asPath.slice(0,21)&&(0,r.jsx)("button",{className:"inline-flex items-center rounded-md bg-white px-1 py-1 text-sm font-semibold text-gray-500 shadow-sm hover:bg-gray-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-600",onClick:()=>{p&&p.cIndex==l?g(void 0):g({cIndex:l})},children:(0,r.jsx)("span",{className:"w-4 h-4",children:(null==p?void 0:p.cIndex)==l?(0,r.jsx)(o.Z,{className:"text-gray-700"}):(0,r.jsx)(u.Z,{className:"text-gray-700"})})})]}),(0,r.jsx)("div",{className:"mt-3 text-sm font-medium text-gray-700",children:(null==p?void 0:p.cIndex)==l?(0,r.jsx)("textarea",{id:"overAllComments",className:"w-full h-full px-3 py-2 border-2 border-gray-300 rounded-md focus:outline-none focus:border-blue-500 ",value:null===(T=s.functionResult)||void 0===T?void 0:null===(R=T.criteriaFeedback)||void 0===R?void 0:R[l],onChange:e=>i((0,a.cK)({critIndex:l,newCritFeedback:e.target.value})),rows:4,placeholder:"Enter your comments here..."}):null==s?void 0:null===(P=s.functionResult)||void 0===P?void 0:null===(I=P.criteriaFeedback)||void 0===I?void 0:I[l]})]})]})},l)})})})};function classNames(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return l.filter(Boolean).join(" ")}function RubricFeedbackPanel(e){let{handleHoverComment:l,clearHoverComment:n}=e,i={Feedback:{component:(0,r.jsx)(feedback_tab,{handleHoverComment:l,clearHoverComment:n})},Grade:{component:(0,r.jsx)(grade_tab,{})}};return(0,r.jsx)("div",{className:"flex flex-col justify-between h-full w-full bg-white",children:(0,r.jsx)("div",{className:"w-full px-2 sm:px-0",children:(0,r.jsxs)(s.O.Group,{children:[(0,r.jsx)(s.O.List,{className:"flex space-x-1 border-b border-gray-200",children:Object.keys(i).map(e=>(0,r.jsx)(s.O,{className:e=>{let{selected:l}=e;return classNames("w-full py-2.5 text-sm font-medium leading-5",l?"border-b-2 border-orange-600 shadow text-sm font-semibold text-orange-600 hover:border-orange-700":"text-gray-900 border-b border-white hover:border-orange-600")},children:e},e))}),(0,r.jsx)(s.O.Panels,{className:"mt-2 ",children:Object.values(i).map((e,l)=>(0,r.jsx)(s.O.Panel,{className:classNames("bg-white px-2 h-[86vh]","ring-white/60 ring-offset-2 ring-offset-blue-400 overflow-y-scroll no-scrollbar"),children:e.component},l))})]})})})}},59965:function(e,l,n){n.d(l,{O:function(){return O}});var r,s,i,a=n(67294),o=n(12351),u=n(19946),d=n(32984),c=n(61363),v=n(84575),f=n(16723),x=n(23784),m=n(14157),b=n(3855),p=n(14879),g=n(46045);function focus_sentinel_A({onFocus:e}){let[l,n]=(0,a.useState)(!0),r=(0,p.t)();return l?a.createElement(g._,{as:"button",type:"button",features:g.A.Focusable,onFocus:l=>{l.preventDefault();let s,i=50;s=requestAnimationFrame(function t(){if(i--<=0){s&&cancelAnimationFrame(s);return}if(e()){if(cancelAnimationFrame(s),!r.current)return;n(!1);return}s=requestAnimationFrame(t)})}}):null}var h=n(73781),y=n(81021),w=n(15466);let j=a.createContext(null);function stable_collection_C({children:e}){let l=a.useRef({groups:new Map,get(e,l){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let s=null!=(n=r.get(l))?n:0;return r.set(l,s+1),[Array.from(r.keys()).indexOf(l),function(){let e=r.get(l);e>1?r.set(l,e-1):r.delete(l)}]}});return a.createElement(j.Provider,{value:l},e)}function stable_collection_d(e){let l=a.useContext(j);if(!l)throw Error("You must wrap your component in a <StableCollection>");let n=function(){var e,l,n;
1let r=null!=(n=null==(l=null==(e=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:l.current)?n:null;if(!r)return Symbol();let s=[],i=r;for(;i;)s.push(i.index),i=i.return;return"$."+s.join(".")}(),[r,s]=l.current.get(e,n);return a.useEffect(()=>s,[]),r}var N=((r=N||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),R=((s=R||{})[s.Less=-1]="Less",s[s.Equal=0]="Equal",s[s.Greater=1]="Greater",s),T=((i=T||{})[i.SetSelectedIndex=0]="SetSelectedIndex",i[i.RegisterTab=1]="RegisterTab",i[i.UnregisterTab=2]="UnregisterTab",i[i.RegisterPanel=3]="RegisterPanel",i[i.UnregisterPanel=4]="UnregisterPanel",i);let I={0(e,l){var n;let r=(0,v.z2)(e.tabs,e=>e.current),s=(0,v.z2)(e.panels,e=>e.current),i=r.filter(e=>{var l;return!(null!=(l=e.current)&&l.hasAttribute("disabled"))}),a={...e,tabs:r,panels:s};if(l.index<0||l.index>r.length-1){let n=(0,d.E)(Math.sign(l.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,d.E)(Math.sign(l.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===i.length)return a;let s=(0,d.E)(n,{0:()=>r.indexOf(i[0]),1:()=>r.indexOf(i[i.length-1])});return{...a,selectedIndex:-1===s?e.selectedIndex:s}}let o=r.slice(0,l.index),u=[...r.slice(l.index),...o].find(e=>i.includes(e));if(!u)return a;let c=null!=(n=r.indexOf(u))?n:e.selectedIndex;return -1===c&&(c=e.selectedIndex),{...a,selectedIndex:c}},1(e,l){var n;if(e.tabs.includes(l.tab))return e;let r=e.tabs[e.selectedIndex],s=(0,v.z2)([...e.tabs,l.tab],e=>e.current),i=null!=(n=s.indexOf(r))?n:e.selectedIndex;return -1===i&&(i=e.selectedIndex),{...e,tabs:s,selectedIndex:i}},2:(e,l)=>({...e,tabs:e.tabs.filter(e=>e!==l.tab)}),3:(e,l)=>e.panels.includes(l.panel)?e:{...e,panels:(0,v.z2)([...e.panels,l.panel],e=>e.current)},4:(e,l)=>({...e,panels:e.panels.filter(e=>e!==l.panel)})},P=(0,a.createContext)(null);function M(e){let l=(0,a.useContext)(P);if(null===l){let l=Error(`<${e} /> is missing a parent <Tab.Group /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,M),l}return l}P.displayName="TabsDataContext";let E=(0,a.createContext)(null);function q(e){let l=(0,a.useContext)(E);if(null===l){let l=Error(`<${e} /> is missing a parent <Tab.Group /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,q),l}return l}function fe(e,l){return(0,d.E)(l.type,I,e,l)}E.displayName="TabsActionsContext";let k=a.Fragment,C=o.AN.RenderStrategy|o.AN.Static,O=Object.assign((0,o.yV)(function(e,l){var n,r;let s=(0,u.M)(),{id:i=`headlessui-tabs-tab-${s}`,...b}=e,{orientation:p,activation:g,selectedIndex:j,tabs:N,panels:R}=M("Tab"),T=q("Tab"),I=M("Tab"),P=(0,a.useRef)(null),E=(0,x.T)(P,l);(0,f.e)(()=>T.registerTab(P),[T,P]);let k=stable_collection_d("tabs"),C=N.indexOf(P);-1===C&&(C=k);let O=C===j,_=(0,h.z)(e=>{var l;let n=e();if(n===v.fE.Success&&"auto"===g){let e=null==(l=(0,w.r)(P))?void 0:l.activeElement,n=I.tabs.findIndex(l=>l.current===e);-1!==n&&T.change(n)}return n}),A=(0,h.z)(e=>{let l=N.map(e=>e.current).filter(Boolean);if(e.key===c.R.Space||e.key===c.R.Enter){e.preventDefault(),e.stopPropagation(),T.change(C);return}switch(e.key){case c.R.Home:case c.R.PageUp:return e.preventDefault(),e.stopPropagation(),_(()=>(0,v.jA)(l,v.TO.First));case c.R.End:case c.R.PageDown:return e.preventDefault(),e.stopPropagation(),_(()=>(0,v.jA)(l,v.TO.Last))}if(_(()=>(0,d.E)(p,{vertical:()=>e.key===c.R.ArrowUp?(0,v.jA)(l,v.TO.Previous|v.TO.WrapAround):e.key===c.R.ArrowDown?(0,v.jA)(l,v.TO.Next|v.TO.WrapAround):v.fE.Error,horizontal:()=>e.key===c.R.ArrowLeft?(0,v.jA)(l,v.TO.Previous|v.TO.WrapAround):e.key===c.R.ArrowRight?(0,v.jA)(l,v.TO.Next|v.TO.WrapAround):v.fE.Error}))===v.fE.Success)return e.preventDefault()}),S=(0,a.useRef)(!1),F=(0,h.z)(()=>{var e;S.current||(S.current=!0,null==(e=P.current)||e.focus({preventScroll:!0}),T.change(C),(0,y.Y)(()=>{S.current=!1}))}),L=(0,h.z)(e=>{e.preventDefault()}),D=(0,a.useMemo)(()=>({selected:O}),[O]),z={ref:E,onKeyDown:A,onMouseDown:L,onClick:F,id:i,role:"tab",type:(0,m.f)(e,P),"aria-controls":null==(r=null==(n=R[C])?void 0:n.current)?void 0:r.id,"aria-selected":O,tabIndex:O?0:-1};return(0,o.sY)({ourProps:z,theirProps:b,slot:D,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,o.yV)(function(e,l){let{defaultIndex:n=0,vertical:r=!1,manual:s=!1,onChange:i,selectedIndex:u=null,...d}=e,c=r?"vertical":"horizontal",m=s?"manual":"auto",p=null!==u,g=(0,x.T)(l),[y,w]=(0,a.useReducer)(fe,{selectedIndex:null!=u?u:n,tabs:[],panels:[]}),j=(0,a.useMemo)(()=>({selectedIndex:y.selectedIndex}),[y.selectedIndex]),N=(0,b.E)(i||(()=>{})),R=(0,b.E)(y.tabs),T=(0,a.useMemo)(()=>({orientation:c,activation:m,...y}),[c,m,y]),I=(0,h.z)(e=>(w({type:1,tab:e}),()=>w({type:2,tab:e}))),C=(0,h.z)(e=>(w({type:3,panel:e}),()=>w({type:4,panel:e}))),O=(0,h.z)(e=>{_.current!==e&&N.current(e),p||w({type:0,index:e})}),_=(0,b.E)(p?e.selectedIndex:y.selectedIndex),A=(0,a.useMemo)(()=>({registerTab:I,registerPanel:C,change:O}),[]);return(0,f.e)(()=>{w({type:0,index:null!=u?u:n})},[u]),(0,f.e)(()=>
1{if(void 0===_.current||y.tabs.length<=0)return;let e=(0,v.z2)(y.tabs,e=>e.current);e.some((e,l)=>y.tabs[l]!==e)&&O(e.indexOf(y.tabs[_.current]))}),a.createElement(stable_collection_C,null,a.createElement(E.Provider,{value:A},a.createElement(P.Provider,{value:T},T.tabs.length<=0&&a.createElement(focus_sentinel_A,{onFocus:()=>{var e,l;for(let n of R.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(l=n.current)||l.focus(),!0;return!1}}),(0,o.sY)({ourProps:{ref:g},theirProps:d,slot:j,defaultTag:k,name:"Tabs"}))))}),List:(0,o.yV)(function(e,l){let{orientation:n,selectedIndex:r}=M("Tab.List"),s=(0,x.T)(l);return(0,o.sY)({ourProps:{ref:s,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,o.yV)(function(e,l){let{selectedIndex:n}=M("Tab.Panels"),r=(0,x.T)(l),s=(0,a.useMemo)(()=>({selectedIndex:n}),[n]);return(0,o.sY)({ourProps:{ref:r},theirProps:e,slot:s,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,o.yV)(function(e,l){var n,r,s,i;let d=(0,u.M)(),{id:c=`headlessui-tabs-panel-${d}`,tabIndex:v=0,...m}=e,{selectedIndex:b,tabs:p,panels:h}=M("Tab.Panel"),y=q("Tab.Panel"),w=(0,a.useRef)(null),j=(0,x.T)(w,l);(0,f.e)(()=>y.registerPanel(w),[y,w]);let N=stable_collection_d("panels"),R=h.indexOf(w);-1===R&&(R=N);let T=R===b,I=(0,a.useMemo)(()=>({selected:T}),[T]),P={ref:j,id:c,role:"tabpanel","aria-labelledby":null==(r=null==(n=p[R])?void 0:n.current)?void 0:r.id,tabIndex:T?v:-1};return T||null!=(s=m.unmount)&&!s||null!=(i=m.static)&&i?(0,o.sY)({ourProps:P,theirProps:m,slot:I,defaultTag:"div",features:C,visible:T,name:"Tabs.Panel"}):a.createElement(g._,{as:"span",...P})})})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.