@project-sunbird/collection-editor-react 0.1.12 → 0.1.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.
@@ -463,4 +463,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
463
463
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UC(e,t){if(e){if(typeof e=="string")return nf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nf(e,t)}}function nf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function VC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(e);!(s=(o=r.next()).done)&&(n.push(o.value),!(t&&n.length===t));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function zC(e){if(Array.isArray(e))return e}function qC(e,t,r){var n=Wr(),s=$C(e,t),i=AC(e);Hr(function(){var a=YS(i,s,n),c=jC(a,2),d=c[0],u=c[1];return t.receiveHandlerId(d),r.receiveHandlerId(d),u},[n,t,s,r,i.map(function(o){return o.toString()}).join("|")])}function HC(){var e=Wr();return h.useMemo(function(){return new $S(e)},[e])}function WC(e){var t=Wr(),r=h.useMemo(function(){return new QS(t.getBackend())},[t]);return Hr(function(){return r.dropTargetOptions=e||null,r.reconnect(),function(){return r.disconnectDropTarget()}},[e]),r}function KC(e){return h.useMemo(function(){return e.hooks.dropTarget()},[e])}function sf(e,t){var r=Xd(e,t),n=HC(),s=WC(r.options);return qC(r,n,s),[tf(r.collect,n,s),KC(s)]}function GC(e,t){return XC(e)||RC(e,t)||YC(e,t)||QC()}function QC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
464
464
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YC(e,t){if(e){if(typeof e=="string")return of(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return of(e,t)}}function of(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function RC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(e);!(s=(o=r.next()).done)&&(n.push(o.value),!(t&&n.length===t));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function XC(e){if(Array.isArray(e))return e}function ZC(e){var t=Wr(),r=t.getMonitor(),n=Jd(r,e),s=GC(n,2),i=s[0],o=s[1];return h.useEffect(function(){return r.subscribeToOffsetChange(o)}),h.useEffect(function(){return r.subscribeToStateChange(o)}),i}function af(e){var t=null,r=function(){return t==null&&(t=e()),t};return r}function JC(e,t){return e.filter(function(r){return r!==t})}function e0(e,t){var r=new Set,n=function(o){return r.add(o)};e.forEach(n),t.forEach(n);var s=[];return r.forEach(function(i){return s.push(i)}),s}function t0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r0(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n0(e,t,r){return t&&r0(e.prototype,t),e}function lf(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s0=function(){function e(t){t0(this,e),lf(this,"entered",[]),lf(this,"isNodeInDocument",void 0),this.isNodeInDocument=t}return n0(e,[{key:"enter",value:function(r){var n=this,s=this.entered.length,i=function(a){return n.isNodeInDocument(a)&&(!a.contains||a.contains(r))};return this.entered=e0(this.entered.filter(i),[r]),s===0&&this.entered.length>0}},{key:"leave",value:function(r){var n=this.entered.length;return this.entered=JC(this.entered.filter(this.isNodeInDocument),r),n>0&&this.entered.length===0}},{key:"reset",value:function(){this.entered=[]}}]),e}(),i0=af(function(){return/firefox/i.test(navigator.userAgent)}),cf=af(function(){return!!window.safari});function o0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a0(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l0(e,t,r){return t&&a0(e.prototype,t),e}function _s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var uf=function(){function e(t,r){o0(this,e),_s(this,"xs",void 0),_s(this,"ys",void 0),_s(this,"c1s",void 0),_s(this,"c2s",void 0),_s(this,"c3s",void 0);for(var n=t.length,s=[],i=0;i<n;i++)s.push(i);s.sort(function(P,B){return t[P]<t[B]?-1:1});for(var o=[],a=[],c,d,u=0;u<n-1;u++)c=t[u+1]-t[u],d=r[u+1]-r[u],o.push(c),a.push(d/c);for(var f=[a[0]],y=0;y<o.length-1;y++){var g=a[y],_=a[y+1];if(g*_<=0)f.push(0);else{c=o[y];var p=o[y+1],v=c+p;f.push(3*v/((v+p)/g+(v+c)/_))}}f.push(a[a.length-1]);for(var m=[],b=[],S,w=0;w<f.length-1;w++){S=a[w];var O=f[w],I=1/o[w],k=O+f[w+1]-S-S;m.push((S-O-k)*I),b.push(k*I*I)}this.xs=t,this.ys=r,this.c1s=f,this.c2s=m,this.c3s=b}return l0(e,[{key:"interpolate",value:function(r){var n=this.xs,s=this.ys,i=this.c1s,o=this.c2s,a=this.c3s,c=n.length-1;if(r===n[c])return s[c];for(var d=0,u=a.length-1,f;d<=u;){f=Math.floor(.5*(d+u));var y=n[f];if(y<r)d=f+1;else if(y>r)u=f-1;else return s[f]}c=Math.max(0,u);var g=r-n[c],_=g*g;return s[c]+i[c]*g+o[c]*_+a[c]*g*_}}]),e}(),c0=1;function df(e){var t=e.nodeType===c0?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top,s=r.left;return{x:s,y:n}}function ji(e){return{x:e.clientX,y:e.clientY}}function u0(e){var t;return e.nodeName==="IMG"&&(i0()||!((t=document.documentElement)!==null&&t!==void 0&&t.contains(e)))}function d0(e,t,r,n){var s=e?t.width:r,i=e?t.height:n;return cf()&&e&&(i/=window.devicePixelRatio,s/=window.devicePixelRatio),{dragPreviewWidth:s,dragPreviewHeight:i}}function f0(e,t,r,n,s){var i=u0(t),o=i?e:t,a=df(o),c={x:r.x-a.x,y:r.y-a.y},d=e.offsetWidth,u=e.offsetHeight,f=n.anchorX,y=n.anchorY,g=d0(i,t,d,u),_=g.dragPreviewWidth,p=g.dragPreviewHeight,v=function(){var k=new uf([0,.5,1],[c.y,c.y/u*p,c.y+p-u]),P=k.interpolate(y);return cf()&&i&&(P+=(window.devicePixelRatio-1)*p),P},m=function(){var k=new uf([0,.5,1],[c.x,c.x/d*_,c.x+_-d]);return k.interpolate(f)},b=s.offsetX,S=s.offsetY,w=b===0||b,O=S===0||S;return{x:w?b:m(),y:O?S:v()}}var ff="__NATIVE_FILE__",hf="__NATIVE_URL__",pf="__NATIVE_TEXT__",gf="__NATIVE_HTML__";const yf=Object.freeze(Object.defineProperty({__proto__:null,FILE:ff,HTML:gf,TEXT:pf,URL:hf},Symbol.toStringTag,{value:"Module"}));function La(e,t,r){var n=t.reduce(function(s,i){return s||e.getData(i)},"");return n??r}var Tn;function Bi(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Fa=(Tn={},Bi(Tn,ff,{exposeProperties:{files:function(t){return Array.prototype.slice.call(t.files)},items:function(t){return t.items},dataTransfer:function(t){return t}},matchesTypes:["Files"]}),Bi(Tn,gf,{exposeProperties:{html:function(t,r){return La(t,r,"")},dataTransfer:function(t){return t}},matchesTypes:["Html","text/html"]}),Bi(Tn,hf,{exposeProperties:{urls:function(t,r){return La(t,r,"").split(`
465
465
  `)},dataTransfer:function(t){return t}},matchesTypes:["Url","text/uri-list"]}),Bi(Tn,pf,{exposeProperties:{text:function(t,r){return La(t,r,"")},dataTransfer:function(t){return t}},matchesTypes:["Text","text/plain"]}),Tn);function h0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p0(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function g0(e,t,r){return t&&p0(e.prototype,t),e}function vf(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y0=function(){function e(t){h0(this,e),vf(this,"item",void 0),vf(this,"config",void 0),this.config=t,this.item={},this.initializeExposedProperties()}return g0(e,[{key:"initializeExposedProperties",value:function(){var r=this;Object.keys(this.config.exposeProperties).forEach(function(n){Object.defineProperty(r.item,n,{configurable:!0,enumerable:!0,get:function(){return console.warn(`Browser doesn't allow reading "`.concat(n,'" until the drop event.')),null}})})}},{key:"loadDataTransfer",value:function(r){var n=this;if(r){var s={};Object.keys(this.config.exposeProperties).forEach(function(i){s[i]={value:n.config.exposeProperties[i](r,n.config.matchesTypes),configurable:!0,enumerable:!0}}),Object.defineProperties(this.item,s)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(r,n){return n===r.getSourceId()}},{key:"endDrag",value:function(){}}]),e}();function v0(e,t){var r=new y0(Fa[e]);return r.loadDataTransfer(t),r}function $a(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(Fa).filter(function(r){var n=Fa[r].matchesTypes;return n.some(function(s){return t.indexOf(s)>-1})})[0]||null}function m0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b0(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _0(e,t,r){return t&&b0(e.prototype,t),e}function ja(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var w0=function(){function e(t,r){m0(this,e),ja(this,"ownerDocument",null),ja(this,"globalContext",void 0),ja(this,"optionsArgs",void 0),this.globalContext=t,this.optionsArgs=r}return _0(e,[{key:"window",get:function(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}},{key:"document",get:function(){var r;return(r=this.globalContext)!==null&&r!==void 0&&r.document?this.globalContext.document:this.window?this.window.document:void 0}},{key:"rootElement",get:function(){var r;return((r=this.optionsArgs)===null||r===void 0?void 0:r.rootElement)||this.window}}]),e}();function mf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,n)}return r}function bf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mf(Object(r),!0).forEach(function(n){pe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function S0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C0(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function O0(e,t,r){return t&&C0(e.prototype,t),e}function pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var E0=function(){function e(t,r,n){var s=this;S0(this,e),pe(this,"options",void 0),pe(this,"actions",void 0),pe(this,"monitor",void 0),pe(this,"registry",void 0),pe(this,"enterLeaveCounter",void 0),pe(this,"sourcePreviewNodes",new Map),pe(this,"sourcePreviewNodeOptions",new Map),pe(this,"sourceNodes",new Map),pe(this,"sourceNodeOptions",new Map),pe(this,"dragStartSourceIds",null),pe(this,"dropTargetIds",[]),pe(this,"dragEnterTargetIds",[]),pe(this,"currentNativeSource",null),pe(this,"currentNativeHandle",null),pe(this,"currentDragSourceNode",null),pe(this,"altKeyPressed",!1),pe(this,"mouseMoveTimeoutTimer",null),pe(this,"asyncEndDragFrameId",null),pe(this,"dragOverTargetIds",null),pe(this,"lastClientOffset",null),pe(this,"hoverRafId",null),pe(this,"getSourceClientOffset",function(i){var o=s.sourceNodes.get(i);return o&&df(o)||null}),pe(this,"endDragNativeItem",function(){s.isDraggingNativeItem()&&(s.actions.endDrag(),s.currentNativeHandle&&s.registry.removeSource(s.currentNativeHandle),s.currentNativeHandle=null,s.currentNativeSource=null)}),pe(this,"isNodeInDocument",function(i){return!!(i&&s.document&&s.document.body&&s.document.body.contains(i))}),pe(this,"endDragIfSourceWasRemovedFromDOM",function(){var i=s.currentDragSourceNode;i==null||s.isNodeInDocument(i)||s.clearCurrentDragSourceNode()&&s.monitor.isDragging()&&s.actions.endDrag()}),pe(this,"handleTopDragStartCapture",function(){s.clearCurrentDragSourceNode(),s.dragStartSourceIds=[]}),pe(this,"handleTopDragStart",function(i){if(!i.defaultPrevented){var o=s.dragStartSourceIds;s.dragStartSourceIds=null;var a=ji(i);s.monitor.isDragging()&&s.actions.endDrag(),s.actions.beginDrag(o||[],{publishSource:!1,getSourceClientOffset:s.getSourceClientOffset,clientOffset:a});var c=i.dataTransfer,d=$a(c);if(s.monitor.isDragging()){if(c&&typeof c.setDragImage=="function"){var u=s.monitor.getSourceId(),f=s.sourceNodes.get(u),y=s.sourcePreviewNodes.get(u)||f;if(y){var g=s.getCurrentSourcePreviewNodeOptions(),_=g.anchorX,p=g.anchorY,v=g.offsetX,m=g.offsetY,b={anchorX:_,anchorY:p},S={offsetX:v,offsetY:m},w=f0(f,y,a,b,S);c.setDragImage(y,w.x,w.y)}}try{c==null||c.setData("application/json",{})}catch{}s.setCurrentDragSourceNode(i.target);var O=s.getCurrentSourcePreviewNodeOptions(),I=O.captureDraggingState;I?s.actions.publishDragSource():setTimeout(function(){return s.actions.publishDragSource()},0)}else if(d)s.beginDragNativeItem(d);else{if(c&&!c.types&&(i.target&&!i.target.hasAttribute||!i.target.hasAttribute("draggable")))return;i.preventDefault()}}}),pe(this,"handleTopDragEndCapture",function(){s.clearCurrentDragSourceNode()&&s.monitor.isDragging()&&s.actions.endDrag()}),pe(this,"handleTopDragEnterCapture",function(i){s.dragEnterTargetIds=[];var o=s.enterLeaveCounter.enter(i.target);if(!(!o||s.monitor.isDragging())){var a=i.dataTransfer,c=$a(a);c&&s.beginDragNativeItem(c,a)}}),pe(this,"handleTopDragEnter",function(i){var o=s.dragEnterTargetIds;if(s.dragEnterTargetIds=[],!!s.monitor.isDragging()){s.altKeyPressed=i.altKey,o.length>0&&s.actions.hover(o,{clientOffset:ji(i)});var a=o.some(function(c){return s.monitor.canDropOnTarget(c)});a&&(i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect=s.getCurrentDropEffect()))}}),pe(this,"handleTopDragOverCapture",function(){s.dragOverTargetIds=[]}),pe(this,"handleTopDragOver",function(i){var o=s.dragOverTargetIds;if(s.dragOverTargetIds=[],!s.monitor.isDragging()){i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect="none");return}s.altKeyPressed=i.altKey,s.lastClientOffset=ji(i),s.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(s.hoverRafId=requestAnimationFrame(function(){s.monitor.isDragging()&&s.actions.hover(o||[],{clientOffset:s.lastClientOffset}),s.hoverRafId=null}));var a=(o||[]).some(function(c){return s.monitor.canDropOnTarget(c)});a?(i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect=s.getCurrentDropEffect())):s.isDraggingNativeItem()?i.preventDefault():(i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect="none"))}),pe(this,"handleTopDragLeaveCapture",function(i){s.isDraggingNativeItem()&&i.preventDefault();var o=s.enterLeaveCounter.leave(i.target);o&&s.isDraggingNativeItem()&&setTimeout(function(){return s.endDragNativeItem()},0)}),pe(this,"handleTopDropCapture",function(i){if(s.dropTargetIds=[],s.isDraggingNativeItem()){var o;i.preventDefault(),(o=s.currentNativeSource)===null||o===void 0||o.loadDataTransfer(i.dataTransfer)}else $a(i.dataTransfer)&&i.preventDefault();s.enterLeaveCounter.reset()}),pe(this,"handleTopDrop",function(i){var o=s.dropTargetIds;s.dropTargetIds=[],s.actions.hover(o,{clientOffset:ji(i)}),s.actions.drop({dropEffect:s.getCurrentDropEffect()}),s.isDraggingNativeItem()?s.endDragNativeItem():s.monitor.isDragging()&&s.actions.endDrag()}),pe(this,"handleSelectStart",function(i){var o=i.target;typeof o.dragDrop=="function"&&(o.tagName==="INPUT"||o.tagName==="SELECT"||o.tagName==="TEXTAREA"||o.isContentEditable||(i.preventDefault(),o.dragDrop()))}),this.options=new w0(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new s0(this.isNodeInDocument)}return O0(e,[{key:"profile",value:function(){var r,n;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:((r=this.dragStartSourceIds)===null||r===void 0?void 0:r.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:((n=this.dragOverTargetIds)===null||n===void 0?void 0:n.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var r=this.rootElement;if(r!==void 0){if(r.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");r.__isReactDndBackendSetUp=!0,this.addEventListeners(r)}}},{key:"teardown",value:function(){var r=this.rootElement;if(r!==void 0&&(r.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)){var n;(n=this.window)===null||n===void 0||n.cancelAnimationFrame(this.asyncEndDragFrameId)}}},{key:"connectDragPreview",value:function(r,n,s){var i=this;return this.sourcePreviewNodeOptions.set(r,s),this.sourcePreviewNodes.set(r,n),function(){i.sourcePreviewNodes.delete(r),i.sourcePreviewNodeOptions.delete(r)}}},{key:"connectDragSource",value:function(r,n,s){var i=this;this.sourceNodes.set(r,n),this.sourceNodeOptions.set(r,s);var o=function(d){return i.handleDragStart(d,r)},a=function(d){return i.handleSelectStart(d)};return n.setAttribute("draggable","true"),n.addEventListener("dragstart",o),n.addEventListener("selectstart",a),function(){i.sourceNodes.delete(r),i.sourceNodeOptions.delete(r),n.removeEventListener("dragstart",o),n.removeEventListener("selectstart",a),n.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(r,n){var s=this,i=function(d){return s.handleDragEnter(d,r)},o=function(d){return s.handleDragOver(d,r)},a=function(d){return s.handleDrop(d,r)};return n.addEventListener("dragenter",i),n.addEventListener("dragover",o),n.addEventListener("drop",a),function(){n.removeEventListener("dragenter",i),n.removeEventListener("dragover",o),n.removeEventListener("drop",a)}}},{key:"addEventListeners",value:function(r){r.addEventListener&&(r.addEventListener("dragstart",this.handleTopDragStart),r.addEventListener("dragstart",this.handleTopDragStartCapture,!0),r.addEventListener("dragend",this.handleTopDragEndCapture,!0),r.addEventListener("dragenter",this.handleTopDragEnter),r.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),r.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),r.addEventListener("dragover",this.handleTopDragOver),r.addEventListener("dragover",this.handleTopDragOverCapture,!0),r.addEventListener("drop",this.handleTopDrop),r.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(r){r.removeEventListener&&(r.removeEventListener("dragstart",this.handleTopDragStart),r.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),r.removeEventListener("dragend",this.handleTopDragEndCapture,!0),r.removeEventListener("dragenter",this.handleTopDragEnter),r.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),r.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),r.removeEventListener("dragover",this.handleTopDragOver),r.removeEventListener("dragover",this.handleTopDragOverCapture,!0),r.removeEventListener("drop",this.handleTopDrop),r.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var r=this.monitor.getSourceId(),n=this.sourceNodeOptions.get(r);return bf({dropEffect:this.altKeyPressed?"copy":"move"},n||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var r=this.monitor.getSourceId(),n=this.sourcePreviewNodeOptions.get(r);return bf({anchorX:.5,anchorY:.5,captureDraggingState:!1},n||{})}},{key:"isDraggingNativeItem",value:function(){var r=this.monitor.getItemType();return Object.keys(yf).some(function(n){return yf[n]===r})}},{key:"beginDragNativeItem",value:function(r,n){this.clearCurrentDragSourceNode(),this.currentNativeSource=v0(r,n),this.currentNativeHandle=this.registry.addSource(r,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(r){var n=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=r;var s=1e3;this.mouseMoveTimeoutTimer=setTimeout(function(){var i;return(i=n.rootElement)===null||i===void 0?void 0:i.addEventListener("mousemove",n.endDragIfSourceWasRemovedFromDOM,!0)},s)}},{key:"clearCurrentDragSourceNode",value:function(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var r;(r=this.window)===null||r===void 0||r.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}},{key:"handleDragStart",value:function(r,n){r.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(n))}},{key:"handleDragEnter",value:function(r,n){this.dragEnterTargetIds.unshift(n)}},{key:"handleDragOver",value:function(r,n){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(n)}},{key:"handleDrop",value:function(r,n){this.dropTargetIds.unshift(n)}}]),e}(),Ui;function D0(){return Ui||(Ui=new Image,Ui.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),Ui}var I0=function(t,r,n){return new E0(t,r,n)};function T0(e,t){return typeof e=="function"?e(t):e??"NODE"}function N0(e){return e.isDraggable&&!e.isEditing}function x0(e){const t=Dt(),r=t.selectedIds,[n,s,i]=kC(()=>({canDrag:()=>N0(e),type:T0(t.props.dragType,e),item:()=>{const o=t.isSelected(e.id)?Array.from(r):[e.id];return t.dispatch(Cn.dragStart(e.id,o)),{id:e.id,dragIds:o,data:e.data}},end:()=>{t.hideCursor(),t.redrawList(),t.dispatch(Cn.dragEnd())}}),[r,e,t.props.dragType]);return h.useEffect(()=>{i(D0())},[i]),s}function k0(e,t){const r=e.getBoundingClientRect(),n=t.x-Math.round(r.x),s=t.y-Math.round(r.y),i=r.height,o=s<i/2,a=!o,c=i/4,d=s>c&&s<i-c;return{x:n,inTopHalf:o,inBottomHalf:a,inMiddle:d,atTop:!d&&o,atBottom:!d&&a}}function A0(e,t,r,n){return e?e.isInternal?n.atTop?[t,e]:n.inMiddle?[e,e]:[e,r]:n.inTopHalf?[t,e]:[e,r]:[t,null]}function Vi(e,t){return{parentId:e||null,index:t}}function Nn(e,t){return{type:"line",index:e,level:t}}function P0(e){return{type:"highlight",id:e}}function Ba(e,t){var r;let n=e;for(;n.parent&&n.level>t;)n=n.parent;const s=((r=n.parent)===null||r===void 0?void 0:r.id)||null,i=ed(n)+1;return{parentId:s,index:i}}function _f(e){var t;const r=k0(e.element,e.offset),n=e.indent,s=Math.round(Math.max(0,r.x-n)/n),{node:i,nextNode:o,prevNode:a}=e,[c,d]=A0(i,a,o,r);if(i&&i.isInternal&&r.inMiddle)return{drop:Vi(i.id,null),cursor:P0(i.id)};if(!c)return{drop:Vi((t=d==null?void 0:d.parent)===null||t===void 0?void 0:t.id,0),cursor:Nn(0,0)};if(Ru(c)){const u=Ci(s,(d==null?void 0:d.level)||0,c.level);return{drop:Ba(c,u),cursor:Nn(c.rowIndex+1,u)}}if(Xu(c)){const u=Ci(s,(d==null?void 0:d.level)||0,c.level);return{drop:Ba(c,u),cursor:Nn(c.rowIndex+1,u)}}if(Zu(c)){const u=Ci(s,0,c.level+1);return u>c.level?{drop:Vi(c.id,0),cursor:Nn(c.rowIndex+1,u)}:{drop:Ba(c,u),cursor:Nn(c.rowIndex+1,u)}}return{drop:Vi(c==null?void 0:c.id,0),cursor:Nn(c.rowIndex+1,c.level+1)}}function M0(e,t){const r=Dt(),[n,s]=sf(()=>({accept:"NODE",canDrop:()=>r.canDrop(),hover:(i,o)=>{const a=o.getClientOffset();if(!e.current||!a)return;const{cursor:c,drop:d}=_f({element:e.current,offset:a,indent:r.indent,node:t,prevNode:t.prev,nextNode:t.next});d&&r.dispatch(Cn.hovering(d.parentId,d.index)),o.canDrop()?c&&r.showCursor(c):r.hideCursor()},drop:(i,o)=>{if(!o.canDrop())return null;r.drop()}}),[t,e.current,r.props]);return s}function L0(e){const t=Dt(),r=t.at(e);if(!r)throw new Error(`Could not find node for index: ${e}`);return h.useMemo(()=>{const n=r.clone();return t.visibleNodes[e]=n,n},[...Object.values(r.state),r])}const wf=h.memo(function({index:t,style:r}){Yu(),Jb();const n=Dt(),s=L0(t),i=h.useRef(null),o=x0(s),a=M0(i,s),c=h.useCallback(p=>{i.current=p,a(p)},[a]),d=n.indent*s.level,u=h.useMemo(()=>({paddingLeft:d}),[d]),f=h.useMemo(()=>{var p,v;return Object.assign(Object.assign({},r),{top:parseFloat(r.top)+((v=(p=n.props.padding)!==null&&p!==void 0?p:n.props.paddingTop)!==null&&v!==void 0?v:0),minWidth:"max-content"})},[r,n.props.padding,n.props.paddingTop]),y={role:"treeitem","aria-level":s.level+1,"aria-selected":s.isSelected,"aria-expanded":s.isOpen,style:f,tabIndex:-1,className:n.props.rowClassName};h.useEffect(()=>{var p;!s.isEditing&&s.isFocused&&((p=i.current)===null||p===void 0||p.focus({preventScroll:!0}))},[s.isEditing,s.isFocused,i.current]);const g=n.renderNode,_=n.renderRow;return l.jsx(_,{node:s,innerRef:c,attrs:y,children:l.jsx(g,{node:s,tree:n,style:u,dragHandle:o})})});let Ua="",Sf=null;function Cf(){Yu();const e=Dt();return l.jsx("div",{role:"tree","aria-label":e.props["aria-label"],"aria-labelledby":e.props["aria-labelledby"],"aria-multiselectable":!e.props.disableMultiSelection||void 0,style:{height:e.height,width:e.width,minHeight:0,minWidth:0},onContextMenu:e.props.onContextMenu,onClick:e.props.onClick,tabIndex:0,onFocus:t=>{t.currentTarget.contains(t.relatedTarget)||e.onFocus()},onBlur:t=>{t.currentTarget.contains(t.relatedTarget)||e.onBlur()},onKeyDown:t=>{var r;if(e.isEditing)return;if(t.key==="Backspace"){if(!e.props.onDelete)return;const s=Array.from(e.selectedIds);if(s.length>1){let i=e.mostRecentNode;for(;i&&i.isSelected;)i=i.nextSibling;i||(i=e.lastNode),e.focus(i,{scroll:!1}),e.delete(Array.from(s))}else{const i=e.focusedNode;if(i){const o=i.nextSibling,a=i.parent;e.focus(o||a,{scroll:!1}),e.delete(i)}}return}if(t.key==="Tab"&&!t.shiftKey){t.preventDefault(),td(t.currentTarget);return}if(t.key==="Tab"&&t.shiftKey){t.preventDefault(),rd(t.currentTarget);return}if(t.key==="ArrowDown"){t.preventDefault();const s=e.nextNode;if(t.metaKey){e.select(e.focusedNode),e.activate(e.focusedNode);return}else if(!t.shiftKey||e.props.disableMultiSelection){e.focus(s);return}else{if(!s)return;const i=e.focusedNode;i?i.isSelected?e.selectContiguous(s):e.selectMulti(s):e.focus(e.firstNode);return}}if(t.key==="ArrowUp"){t.preventDefault();const s=e.prevNode;if(!t.shiftKey||e.props.disableMultiSelection){e.focus(s);return}else{if(!s)return;const i=e.focusedNode;i?i.isSelected?e.selectContiguous(s):e.selectMulti(s):e.focus(e.lastNode);return}}if(t.key==="ArrowRight"){const s=e.focusedNode;if(!s)return;s.isInternal&&s.isOpen?e.focus(e.nextNode):s.isInternal&&e.open(s.id);return}if(t.key==="ArrowLeft"){const s=e.focusedNode;if(!s||s.isRoot)return;s.isInternal&&s.isOpen?e.close(s.id):!((r=s.parent)===null||r===void 0)&&r.isRoot||e.focus(s.parent);return}if(t.key==="a"&&(t.metaKey||t.ctrlKey)&&!e.props.disableMultiSelection){t.preventDefault(),e.selectAll();return}if(t.key==="a"&&!t.metaKey&&!t.ctrlKey&&e.props.onCreate){e.createLeaf();return}if(t.key==="A"&&!t.metaKey&&!t.ctrlKey){if(!e.props.onCreate)return;e.createInternal();return}if(t.key==="Home"){t.preventDefault(),e.focus(e.firstNode);return}if(t.key==="End"){t.preventDefault(),e.focus(e.lastNode);return}if(t.key==="Enter"){const s=e.focusedNode;if(!s||!s.isEditable||!e.props.onRename)return;setTimeout(()=>{s&&e.edit(s)});return}if(t.key===" "){t.preventDefault();const s=e.focusedNode;if(!s)return;s.isLeaf?(s.select(),s.activate()):s.toggle();return}if(t.key==="*"){const s=e.focusedNode;if(!s)return;e.openSiblings(s);return}if(t.key==="PageUp"){t.preventDefault(),e.pageUp();return}t.key==="PageDown"&&(t.preventDefault(),e.pageDown()),clearTimeout(Sf),Ua+=t.key,Sf=setTimeout(()=>{Ua=""},600);const n=e.visibleNodes.find(s=>{const i=s.data.name;return typeof i=="string"?i.toLowerCase().startsWith(Ua):!1});n&&e.focus(n.id)},children:l.jsx(F0,{})})}function F0(){var e,t;const r=Dt(),n={className:r.props.className,outerRef:r.listEl,itemCount:r.visibleNodes.length,height:r.height,width:r.width,overscanCount:r.overscanCount,itemKey:s=>{var i;return((i=r.visibleNodes[s])===null||i===void 0?void 0:i.id)||s},outerElementType:(e=r.props.outerElementType)!==null&&e!==void 0?e:V_,innerElementType:(t=r.props.innerElementType)!==null&&t!==void 0?t:H_,onScroll:r.props.onScroll,onItemsRendered:r.onItemsRendered.bind(r)};return typeof r.props.rowHeight=="function"?l.jsx($_,Object.assign({},n,{itemSize:r.rowHeightAt,ref:r.list,children:wf})):l.jsx(j_,Object.assign({},n,{itemSize:r.rowHeight,ref:r.list,children:wf}))}function Of(e){return e.isFiltered?j0(e.root,e.isMatch.bind(e)):$0(e.root)}function $0(e){const t=[];function r(n){var s;n.level>=0&&t.push(n),n.isOpen&&((s=n.children)===null||s===void 0||s.forEach(r))}return r(e),t.forEach(Ef),t}function j0(e,t){const r={},n=[];function s(o){if(!o.isRoot&&t(o)){r[o.id]=!0;let c=o.parent;for(;c;)r[c.id]=!0,c=c.parent}if(o.children)for(let c of o.children)s(c)}function i(o){var a;o.level>=0&&r[o.id]&&n.push(o),o.isOpen&&((a=o.children)===null||a===void 0||a.forEach(i))}return s(e),i(e),n.forEach(Ef),n}function Ef(e,t){e.rowIndex=t}const Df=e=>e.reduce((t,r,n)=>(t[r.id]=n,t),{});var Va=function(e,t,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{d(n.next(u))}catch(f){o(f)}}function c(u){try{d(n.throw(u))}catch(f){o(f)}}function d(u){u.done?i(u.value):s(u.value).then(a,c)}d((n=n.apply(e,t||[])).next())})};const{safeRun:ft}=s_;class ws{constructor(t,r,n,s){this.store=t,this.props=r,this.list=n,this.listEl=s,this.visibleStartIndex=0,this.visibleStopIndex=0,this.rowOffsets=null,this.rowHeightAt=i=>{const o=this.props.rowHeight;if(typeof o=="function"){const a=this.at(i);return a?o(a):this.rowHeight}return o??24},this.rowTopPosition=i=>{if(typeof this.props.rowHeight!="function")return i*this.rowHeight;const o=this.getRowOffsets(),a=Math.max(0,Math.min(i,o.length-1));return o[a]},this.redrawList=(i=0)=>{this.rowOffsets=null;const o=this.list.current;o&&"resetAfterIndex"in o&&o.resetAfterIndex(Math.max(0,i))},this.root=ad(this),this.visibleNodes=Of(this),this.idToIndex=Df(this.visibleNodes)}update(t){this.props=t,this.root=ad(this),this.visibleNodes=Of(this),this.idToIndex=Df(this.visibleNodes),this.rowOffsets=null;const r=this.list.current;r&&"resetAfterIndex"in r&&r.resetAfterIndex(0,!1)}dispatch(t){return this.store.dispatch(t)}get state(){return this.store.getState()}get openState(){return this.state.nodes.open.unfiltered}get width(){var t;return(t=this.props.width)!==null&&t!==void 0?t:300}get height(){var t;return(t=this.props.height)!==null&&t!==void 0?t:500}get indent(){var t;return(t=this.props.indent)!==null&&t!==void 0?t:24}get rowHeight(){return typeof this.props.rowHeight=="number"?this.props.rowHeight:24}getRowOffsets(){if(this.rowOffsets)return this.rowOffsets;const t=[0];for(let r=0;r<this.visibleNodes.length;r++)t.push(t[r]+this.rowHeightAt(r));return this.rowOffsets=t,t}get overscanCount(){var t;return(t=this.props.overscanCount)!==null&&t!==void 0?t:1}get searchTerm(){return(this.props.searchTerm||"").trim()}get matchFn(){var t;const r=(t=this.props.searchMatch)!==null&&t!==void 0?t:(n,s)=>JSON.stringify(Object.values(n.data)).toLocaleLowerCase().includes(s.toLocaleLowerCase());return n=>r(n,this.searchTerm)}accessChildren(t){var r;const n=this.props.childrenAccessor||"children";return(r=ys(t,n))!==null&&r!==void 0?r:null}accessId(t){const r=this.props.idAccessor||"id",n=ys(t,r);if(!n)throw new Error("Data must contain an 'id' property or props.idAccessor must return a string");return n}identify(t){if(typeof t=="string")return t;if(t instanceof ms)return t.id;const r=this.props.idAccessor||"id";return ys(t,r)}identifyNull(t){return t==null?null:this.identify(t)}get firstNode(){var t;return(t=this.visibleNodes[0])!==null&&t!==void 0?t:null}get lastNode(){var t;return(t=this.visibleNodes[this.visibleNodes.length-1])!==null&&t!==void 0?t:null}get focusedNode(){var t;return(t=this.get(this.state.nodes.focus.id))!==null&&t!==void 0?t:null}get mostRecentNode(){var t;return(t=this.get(this.state.nodes.selection.mostRecent))!==null&&t!==void 0?t:null}get nextNode(){const t=this.indexOf(this.focusedNode);return t===null?null:this.at(t+1)}get prevNode(){const t=this.indexOf(this.focusedNode);return t===null?null:this.at(t-1)}get(t){return t&&t in this.idToIndex&&this.visibleNodes[this.idToIndex[t]]||null}at(t){return this.visibleNodes[t]||null}nodesBetween(t,r){var n;if(t===null||r===null)return[];const s=(n=this.indexOf(t))!==null&&n!==void 0?n:0,i=this.indexOf(r);if(i===null)return[];const o=Math.min(s,i),a=Math.max(s,i);return this.visibleNodes.slice(o,a+1)}indexOf(t){const r=this.identifyNull(t);return r?this.idToIndex[r]:null}get editingId(){return this.state.nodes.edit.id}createInternal(){return this.create({type:"internal"})}createLeaf(){return this.create({type:"leaf"})}create(){return Va(this,arguments,void 0,function*(t={}){var r,n;const s=t.parentId===void 0?od(this):t.parentId,i=(r=t.index)!==null&&r!==void 0?r:id(this),o=(n=t.type)!==null&&n!==void 0?n:"leaf",a=yield ft(this.props.onCreate,{type:o,parentId:s,index:i,parentNode:this.get(s)});a&&(this.focus(a),setTimeout(()=>{this.edit(a).then(()=>{this.select(a),this.activate(a)})}))})}delete(t){return Va(this,void 0,void 0,function*(){if(!t)return;const n=(Array.isArray(t)?t:[t]).map(o=>this.identify(o)),s=n.map(o=>this.get(o)).filter(o=>!!o),i=s.length?Math.min(...s.map(o=>{var a;return(a=o.rowIndex)!==null&&a!==void 0?a:0})):0;yield ft(this.props.onDelete,{nodes:s,ids:n}),this.redrawList(i)})}edit(t){var r,n;const s=this.identify(t);return this.resolveEdit({cancelled:!0}),this.scrollTo(s),this.dispatch(pa(s)),this.redrawList((n=(r=this.get(s))===null||r===void 0?void 0:r.rowIndex)!==null&&n!==void 0?n:0),new Promise(i=>{ws.editPromise=i})}submit(t,r){return Va(this,void 0,void 0,function*(){var n,s;if(!t)return;const i=this.identify(t);yield ft(this.props.onRename,{id:i,name:r,node:this.get(i)}),this.dispatch(pa(null)),this.resolveEdit({cancelled:!1,value:r}),this.redrawList((s=(n=this.get(i))===null||n===void 0?void 0:n.rowIndex)!==null&&s!==void 0?s:0),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(pa(null)),this.resolveEdit({cancelled:!0}),this.redrawList(),setTimeout(()=>this.onFocus())}activate(t){const r=this.get(this.identifyNull(t));r&&ft(this.props.onActivate,r)}resolveEdit(t){const r=ws.editPromise;r&&r(t),ws.editPromise=null}get selectedIds(){return this.state.nodes.selection.ids}get selectedNodes(){let t=[];for(let r of Array.from(this.selectedIds)){const n=this.get(r);n&&t.push(n)}return t}focus(t,r={}){t&&(this.props.selectionFollowsFocus?this.select(t):(this.dispatch(wn(this.identify(t))),r.scroll!==!1&&this.scrollTo(t),this.focusedNode&&ft(this.props.onFocus,this.focusedNode)))}pageUp(){var t,r;const n=this.visibleStartIndex,i=this.visibleStopIndex-n;let o=(r=(t=this.focusedNode)===null||t===void 0?void 0:t.rowIndex)!==null&&r!==void 0?r:0;o>n?o=n:o=Math.max(n-i,0),this.focus(this.at(o))}pageDown(){var t,r;const n=this.visibleStartIndex,s=this.visibleStopIndex,i=s-n;let o=(r=(t=this.focusedNode)===null||t===void 0?void 0:t.rowIndex)!==null&&r!==void 0?r:0;o<s?o=s:o=Math.min(o+i,this.visibleNodes.length-1),this.focus(this.at(o))}select(t,r={}){var n;if(!t)return;const s=r.focus!==!1,i=this.identify(t);s&&this.dispatch(wn(i)),!((n=this.get(i))===null||n===void 0)&&n.isSelectable&&this.setSelection({ids:[i],anchor:i,mostRecent:i}),this.scrollTo(i,r.align),this.focusedNode&&s&&ft(this.props.onFocus,this.focusedNode)}deselect(t){if(!t)return;const r=this.identify(t);this.dispatch(Cr.remove(r)),ft(this.props.onSelect,this.selectedNodes)}selectMulti(t,r={}){const n=this.get(this.identifyNull(t));if(!n)return;const s=r.focus!==!1;s&&this.dispatch(wn(n.id)),n.isSelectable&&(this.dispatch(Cr.add(n.id)),this.dispatch(Cr.anchor(n.id)),this.dispatch(Cr.mostRecent(n.id))),this.scrollTo(n,r.align),this.focusedNode&&s&&ft(this.props.onFocus,this.focusedNode),ft(this.props.onSelect,this.selectedNodes)}selectContiguous(t){var r;if(!t)return;const n=this.identify(t);if(this.dispatch(wn(n)),!((r=this.get(n))===null||r===void 0)&&r.isSelectable){const{anchor:s,mostRecent:i}=this.state.nodes.selection,o=this.filterSelectableNodes(this.nodesBetween(s,this.identifyNull(n)));this.dispatch(Cr.remove(this.nodesBetween(s,i))),this.dispatch(Cr.add(o)),this.dispatch(Cr.mostRecent(n))}this.scrollTo(n),this.focusedNode&&ft(this.props.onFocus,this.focusedNode),ft(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null})}selectAll(){var t,r,n;const s=this.filterSelectableNodes(Object.keys(this.idToIndex));this.setSelection({ids:s,anchor:(t=s[0])!==null&&t!==void 0?t:null,mostRecent:(r=s[s.length-1])!==null&&r!==void 0?r:null}),this.dispatch(wn((n=this.lastNode)===null||n===void 0?void 0:n.id)),this.focusedNode&&ft(this.props.onFocus,this.focusedNode)}filterSelectableNodes(t){return t.map(r=>this.get(this.identify(r))).filter(r=>!!r&&r.isSelectable)}setSelection(t){var r;const n=new Set((r=t.ids)===null||r===void 0?void 0:r.map(o=>this.identify(o))),s=this.identifyNull(t.anchor),i=this.identifyNull(t.mostRecent);this.dispatch(Cr.set({ids:n,anchor:s,mostRecent:i})),ft(this.props.onSelect,this.selectedNodes)}get cursorParentId(){const{cursor:t}=this.state.dnd;switch(t.type){case"highlight":return t.id;default:return null}}get cursorOverFolder(){return this.state.dnd.cursor.type==="highlight"}get dragNodes(){return this.state.dnd.dragIds.map(t=>this.get(t)).filter(t=>!!t)}get dragNode(){return this.get(this.state.nodes.drag.id)}get dragDestinationParent(){return this.get(this.state.nodes.drag.destinationParentId)}get dragDestinationIndex(){return this.state.nodes.drag.destinationIndex}canDrop(){var t;if(this.isFiltered)return!1;const r=(t=this.get(this.state.dnd.parentId))!==null&&t!==void 0?t:this.root,n=this.dragNodes,s=this.props.disableDrop;for(const i of n)if(!i||!r||i.isInternal&&Ju(r,i))return!1;return typeof s=="function"?!s({parentNode:r,dragNodes:this.dragNodes,index:this.state.dnd.index||0}):typeof s=="string"?!r.data[s]:typeof s=="boolean"?!s:!0}drop(){const{parentId:t,index:r,dragIds:n}=this.state.dnd;ft(this.props.onMove,{dragIds:n,parentId:t===vs?null:t,index:r===null?0:r,dragNodes:this.dragNodes,parentNode:this.get(t)}),this.open(t)}hideCursor(){this.dispatch(Cn.cursor({type:"none"}))}showCursor(t){this.dispatch(Cn.cursor(t))}open(t,r=!0){var n,s;const i=this.identifyNull(t);i&&(this.isOpen(i)||(this.dispatch(ga.open(i,this.isFiltered)),r&&this.redrawList((s=(n=this.get(i))===null||n===void 0?void 0:n.rowIndex)!==null&&s!==void 0?s:0),ft(this.props.onToggle,i)))}close(t,r=!0){var n,s;const i=this.identifyNull(t);i&&this.isOpen(i)&&(this.dispatch(ga.close(i,this.isFiltered)),r&&this.redrawList((s=(n=this.get(i))===null||n===void 0?void 0:n.rowIndex)!==null&&s!==void 0?s:0),ft(this.props.onToggle,i))}toggle(t){const r=this.identifyNull(t);if(r)return this.isOpen(r)?this.close(r):this.open(r)}openParents(t){const r=this.identifyNull(t);if(!r)return;const n=ha(this.root,r);let s=n==null?void 0:n.parent;for(;s;)this.open(s.id,!1),s=s.parent;this.redrawList()}openSiblings(t){const r=t.parent;if(!r)this.toggle(t.id);else if(r.children){const n=t.isOpen;for(let s of r.children)s.isInternal&&(n?this.close(s.id,!1):this.open(s.id,!1));this.redrawList(),this.scrollTo(this.focusedNode)}}openAll(){Oi(this.root,t=>{t.isInternal&&this.open(t.id,!1)}),this.redrawList()}closeAll(){Oi(this.root,t=>{t.isInternal&&this.close(t.id,!1)}),this.redrawList()}scrollTo(t,r="smart"){if(!t)return;const n=this.identify(t);return this.openParents(n),sd(()=>n in this.idToIndex).then(()=>{var s;const i=this.idToIndex[n];i!==void 0&&((s=this.list.current)===null||s===void 0||s.scrollToItem(i,r))}).catch(()=>{})}get isEditing(){return this.state.nodes.edit.id!==null}get isFiltered(){var t;return!!(!((t=this.props.searchTerm)===null||t===void 0)&&t.trim())}get hasFocus(){return this.state.nodes.focus.treeFocused}get hasNoSelection(){return this.state.nodes.selection.ids.size===0}get hasOneSelection(){return this.state.nodes.selection.ids.size===1}get hasMultipleSelections(){return this.state.nodes.selection.ids.size>1}isSelected(t){return t?this.state.nodes.selection.ids.has(t):!1}isOpen(t){var r,n,s;if(!t)return!1;if(t===vs)return!0;const i=(r=this.props.openByDefault)!==null&&r!==void 0?r:!0;return this.isFiltered?(n=this.state.nodes.open.filtered[t])!==null&&n!==void 0?n:!0:(s=this.state.nodes.open.unfiltered[t])!==null&&s!==void 0?s:i}isEditable(t){return this.isActionPossible(t,this.props.disableEdit)}isDraggable(t){return this.isActionPossible(t,this.props.disableDrag)}isSelectable(t){return this.isActionPossible(t,this.props.disableSelect)}isActionPossible(t,r=()=>!1){return!ys(t,r)}isDragging(t){const r=this.identifyNull(t);return r?this.state.nodes.drag.id===r:!1}isFocused(t){return this.hasFocus&&this.state.nodes.focus.id===t}isMatch(t){return this.matchFn(t)}willReceiveDrop(t){const r=this.identifyNull(t);if(!r)return!1;const{destinationParentId:n,destinationIndex:s}=this.state.nodes.drag;return r===n&&s===null}onFocus(){const t=this.focusedNode||this.firstNode;t&&this.dispatch(wn(t.id))}onBlur(){this.dispatch(p_())}onItemsRendered(t){this.visibleStartIndex=t.visibleStartIndex,this.visibleStopIndex=t.visibleStopIndex}get renderContainer(){return this.props.renderContainer||Cf}get renderRow(){return this.props.renderRow||c_}get renderNode(){return this.props.children||u_}get renderDragPreview(){return this.props.renderDragPreview||cd}get renderCursor(){return this.props.renderCursor||l_}}function ht(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var B0=typeof Symbol=="function"&&Symbol.observable||"@@observable",If=B0,za=()=>Math.random().toString(36).substring(7).split("").join("."),U0={INIT:`@@redux/INIT${za()}`,REPLACE:`@@redux/REPLACE${za()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${za()}`},Kr=U0;function Tf(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function V0(e){if(e===void 0)return"undefined";if(e===null)return"null";const t=typeof e;switch(t){case"boolean":case"string":case"number":case"symbol":case"function":return t}if(Array.isArray(e))return"array";if(H0(e))return"date";if(q0(e))return"error";const r=z0(e);switch(r){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return r}return Object.prototype.toString.call(e).slice(8,-1).toLowerCase().replace(/\s/g,"")}function z0(e){return typeof e.constructor=="function"?e.constructor.name:null}function q0(e){return e instanceof Error||typeof e.message=="string"&&e.constructor&&typeof e.constructor.stackTraceLimit=="number"}function H0(e){return e instanceof Date?!0:typeof e.toDateString=="function"&&typeof e.getDate=="function"&&typeof e.setDate=="function"}function Or(e){let t=typeof e;return process.env.NODE_ENV!=="production"&&(t=V0(e)),t}function Nf(e,t,r){if(typeof e!="function")throw new Error(process.env.NODE_ENV==="production"?ht(2):`Expected the root reducer to be a function. Instead, received: '${Or(e)}'`);if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(process.env.NODE_ENV==="production"?ht(0):"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(process.env.NODE_ENV==="production"?ht(1):`Expected the enhancer to be a function. Instead, received: '${Or(r)}'`);return r(Nf)(e,t)}let n=e,s=t,i=new Map,o=i,a=0,c=!1;function d(){o===i&&(o=new Map,i.forEach((v,m)=>{o.set(m,v)}))}function u(){if(c)throw new Error(process.env.NODE_ENV==="production"?ht(3):"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return s}function f(v){if(typeof v!="function")throw new Error(process.env.NODE_ENV==="production"?ht(4):`Expected the listener to be a function. Instead, received: '${Or(v)}'`);if(c)throw new Error(process.env.NODE_ENV==="production"?ht(5):"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");let m=!0;d();const b=a++;return o.set(b,v),function(){if(m){if(c)throw new Error(process.env.NODE_ENV==="production"?ht(6):"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");m=!1,d(),o.delete(b),i=null}}}function y(v){if(!Tf(v))throw new Error(process.env.NODE_ENV==="production"?ht(7):`Actions must be plain objects. Instead, the actual type was: '${Or(v)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);if(typeof v.type>"u")throw new Error(process.env.NODE_ENV==="production"?ht(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(typeof v.type!="string")throw new Error(process.env.NODE_ENV==="production"?ht(17):`Action "type" property must be a string. Instead, the actual type was: '${Or(v.type)}'. Value was: '${v.type}' (stringified)`);if(c)throw new Error(process.env.NODE_ENV==="production"?ht(9):"Reducers may not dispatch actions.");try{c=!0,s=n(s,v)}finally{c=!1}return(i=o).forEach(b=>{b()}),v}function g(v){if(typeof v!="function")throw new Error(process.env.NODE_ENV==="production"?ht(10):`Expected the nextReducer to be a function. Instead, received: '${Or(v)}`);n=v,y({type:Kr.REPLACE})}function _(){const v=f;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(process.env.NODE_ENV==="production"?ht(11):`Expected the observer to be an object. Instead, received: '${Or(m)}'`);function b(){const w=m;w.next&&w.next(u())}return b(),{unsubscribe:v(b)}},[If](){return this}}}return y({type:Kr.INIT}),{dispatch:y,subscribe:f,getState:u,replaceReducer:g,[If]:_}}function xf(e){typeof console<"u"&&typeof console.error=="function"&&console.error(e);try{throw new Error(e)}catch{}}function W0(e,t,r,n){const s=Object.keys(t),i=r&&r.type===Kr.INIT?"preloadedState argument passed to createStore":"previous state received by the reducer";if(s.length===0)return"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";if(!Tf(e))return`The ${i} has unexpected type of "${Or(e)}". Expected argument to be an object with the following keys: "${s.join('", "')}"`;const o=Object.keys(e).filter(a=>!t.hasOwnProperty(a)&&!n[a]);if(o.forEach(a=>{n[a]=!0}),!(r&&r.type===Kr.REPLACE)&&o.length>0)return`Unexpected ${o.length>1?"keys":"key"} "${o.join('", "')}" found in ${i}. Expected to find one of the known reducer keys instead: "${s.join('", "')}". Unexpected keys will be ignored.`}function K0(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:Kr.INIT})>"u")throw new Error(process.env.NODE_ENV==="production"?ht(12):`The slice reducer for key "${t}" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);if(typeof r(void 0,{type:Kr.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(process.env.NODE_ENV==="production"?ht(13):`The slice reducer for key "${t}" returned undefined when probed with a random type. Don't try to handle '${Kr.INIT}' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`)})}function kf(e){const t=Object.keys(e),r={};for(let o=0;o<t.length;o++){const a=t[o];process.env.NODE_ENV!=="production"&&typeof e[a]>"u"&&xf(`No reducer provided for key "${a}"`),typeof e[a]=="function"&&(r[a]=e[a])}const n=Object.keys(r);let s;process.env.NODE_ENV!=="production"&&(s={});let i;try{K0(r)}catch(o){i=o}return function(a={},c){if(i)throw i;if(process.env.NODE_ENV!=="production"){const f=W0(a,r,c,s);f&&xf(f)}let d=!1;const u={};for(let f=0;f<n.length;f++){const y=n[f],g=r[y],_=a[y],p=g(_,c);if(typeof p>"u"){const v=c&&c.type;throw new Error(process.env.NODE_ENV==="production"?ht(14):`When called with an action of type ${v?`"${String(v)}"`:"(unknown type)"}, the slice reducer for key "${y}" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`)}u[y]=p,d=d||p!==_}return d=d||n.length!==Object.keys(a).length,d?u:a}}function G0(e=Sn().nodes.drag,t){switch(t.type){case"DND_DRAG_START":return Object.assign(Object.assign({},e),{id:t.id,selectedIds:t.dragIds});case"DND_DRAG_END":return Object.assign(Object.assign({},e),{id:null,destinationParentId:null,destinationIndex:null,selectedIds:[]});case"DND_HOVERING":return t.parentId!==e.destinationParentId||t.index!=e.destinationIndex?Object.assign(Object.assign({},e),{destinationParentId:t.parentId,destinationIndex:t.index}):e;default:return e}}const Q0=kf({nodes:kf({focus:g_,edit:h_,open:y_,selection:v_,drag:G0}),dnd:m_}),Y0=Sn();function R0({treeProps:e,imperativeHandle:t,children:r}){const n=h.useRef(null),s=h.useRef(null),i=h.useRef(Nf(Q0,Sn(e))),o=Zb.useSyncExternalStore(i.current.subscribe,i.current.getState,()=>Y0),a=h.useMemo(()=>new ws(i.current,e,n,s),[]),c=h.useRef(0);return h.useMemo(()=>{c.current+=1,a.update(e)},Object.values(e)),h.useMemo(()=>{c.current+=1,a.update(a.props)},[o.nodes.open]),h.useImperativeHandle(t,()=>a),h.useEffect(()=>{a.props.selection?a.select(a.props.selection,{focus:!1}):a.deselectAll()},[a.props.selection]),h.useEffect(()=>{a.props.searchTerm||i.current.dispatch(ga.clear(!0))},[a.props.searchTerm]),l.jsx(Wu.Provider,{value:a,children:l.jsx(Qu.Provider,{value:c.current,children:l.jsx(Ku.Provider,{value:o.nodes,children:l.jsx(Gu.Provider,{value:o.dnd,children:l.jsx(IS,Object.assign({},e.dndManager?{manager:e.dndManager}:{backend:e.dndBackend||I0,options:{rootElement:a.props.dndRootElement||void 0}},{children:r}))})})})})}function X0(){const e=Dt(),[,t]=sf(()=>({accept:"NODE",canDrop:(r,n)=>n.isOver({shallow:!0})?e.canDrop():!1,hover:(r,n)=>{if(!n.isOver({shallow:!0}))return;const s=n.getClientOffset();if(!e.listEl.current||!s)return;const{cursor:i,drop:o}=_f({element:e.listEl.current,offset:s,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});o&&e.dispatch(Cn.hovering(o.parentId,o.index)),n.canDrop()?i&&e.showCursor(i):e.hideCursor()},drop:(r,n)=>{if(!n.isOver({shallow:!0})||!n.canDrop())return null;e.drop()}}),[e]);t(e.listEl)}function Z0(e){return X0(),e.children}function J0(){const t=Dt().props.renderContainer||Cf;return l.jsx(l.Fragment,{children:l.jsx(t,{})})}function e1(){const e=Dt(),{offset:t,mouse:r,item:n,isDragging:s}=ZC(o=>({offset:o.getSourceClientOffset(),mouse:o.getClientOffset(),item:o.getItem(),isDragging:o.isDragging()})),i=e.props.renderDragPreview||cd;return l.jsx(i,{offset:t,mouse:r,id:(n==null?void 0:n.id)||null,dragIds:(n==null?void 0:n.dragIds)||[],isDragging:s})}function t1(e={}){var t,r;const n=(t=e.idAccessor)!==null&&t!==void 0?t:"id",s=(r=e.childrenAccessor)!==null&&r!==void 0?r:"children";return{getId:typeof n=="function"?n:i=>i[n],getChildren:typeof s=="function"?s:i=>i[s],childrenKey:typeof s=="string"?s:"children"}}class r1{constructor(t,r={}){this.accessors=t1(r),this.root=n1(t,this.accessors)}get data(){var t,r;return(r=(t=this.root.children)===null||t===void 0?void 0:t.map(n=>n.data))!==null&&r!==void 0?r:[]}create(t){const r=t.parentId?this.find(t.parentId):this.root;if(!r)return null;r.addChild(t.data,t.index)}move(t){const r=this.find(t.id),n=t.parentId?this.find(t.parentId):this.root;!r||!n||(n.addChild(r.data,t.index),r.drop())}update(t){const r=this.find(t.id);r&&r.update(t.changes)}drop(t){const r=this.find(t.id);r&&r.drop()}find(t,r=this.root){if(!r)return null;if(r.id===t)return r;if(r.children){for(let n of r.children){const s=this.find(t,n);if(s)return s}return null}return null}}function n1(e,t){const r=new Af({},null,t,"ROOT");return r.children=e.map(n=>qa(n,r,t)),r}function qa(e,t,r){const n=new Af(e,t,r),s=r.getChildren(e);return s&&(n.children=s.map(i=>qa(i,n,r))),n}class Af{constructor(t,r,n,s){this.data=t,this.parent=r,this.accessors=n,this.id=s??n.getId(t)}hasParent(){return!!this.parent}get childIndex(){return this.hasParent()?this.parent.children.indexOf(this):-1}addChild(t,r){var n,s;const i=qa(t,this,this.accessors);this.children=(n=this.children)!==null&&n!==void 0?n:[],this.children.splice(r,0,i);const o=this.accessors.childrenKey,a=this.data;a[o]=(s=a[o])!==null&&s!==void 0?s:[],a[o].splice(r,0,t)}removeChild(t){var r,n;(r=this.children)===null||r===void 0||r.splice(t,1),(n=this.data[this.accessors.childrenKey])===null||n===void 0||n.splice(t,1)}update(t){if(this.hasParent()){const r=this.childIndex;this.parent.addChild(Object.assign(Object.assign({},this.data),t),r),this.drop()}}drop(){this.hasParent()&&this.parent.removeChild(this.childIndex)}}let s1=0;function i1(e,t={}){const[r,n]=h.useState(e),s=t.idAccessor,i=t.childrenAccessor,o=h.useMemo(()=>new r1(r,{idAccessor:s,childrenAccessor:i}),[r,s,i]),a=_=>{for(const p of _.dragIds)o.move({id:p,parentId:_.parentId,index:_.index});n(o.data)},c=({name:_,id:p})=>{o.update({id:p,changes:{name:_}}),n(o.data)},d=typeof s=="string"?s:"id",u=typeof i=="string"?i:"children";return[r,{onMove:a,onRename:c,onCreate:({parentId:_,index:p,type:v})=>{if(typeof s=="function")throw new Error("React Arborist => initialData can't create nodes when idAccessor is a function: the generated id can't be written under a key the accessor reads. Use a string idAccessor, or the controlled `data` prop with your own onCreate.");if(v==="internal"&&typeof i=="function")throw new Error("React Arborist => initialData can't create folder nodes when childrenAccessor is a function: the new children array can't be written under a key the accessor reads. Use a string childrenAccessor, or the controlled `data` prop with your own onCreate.");const m={[d]:`simple-tree-id-${s1++}`,name:""};return v==="internal"&&(m[u]=[]),o.create({parentId:_,index:p,data:m}),n(o.data),m},onDelete:_=>{_.ids.forEach(p=>o.drop({id:p})),n(o.data)}}]}function o1(e){if(e.initialData&&e.data)throw new Error("React Arborist Tree => Provide either a data or initialData prop, but not both.");if(e.initialData&&(e.onCreate||e.onDelete||e.onMove||e.onRename))throw new Error(`React Arborist Tree => You passed the initialData prop along with a data handler.
466
- Use the data prop if you want to provide your own handlers.`);if(e.initialData){const[t,r]=i1(e.initialData,{idAccessor:e.idAccessor,childrenAccessor:e.childrenAccessor});return Object.assign(Object.assign(Object.assign({},e),r),{data:t})}else return e}function a1(e,t){const r=o1(e);return l.jsxs(R0,{treeProps:r,imperativeHandle:t,children:[l.jsx(Z0,{children:l.jsx(J0,{})}),l.jsx(e1,{})]})}const l1=h.forwardRef(a1);function Ha(){return xe(e=>{var n;const t=e.treeData[0];return(((n=t==null?void 0:t.metadata)==null?void 0:n.status)??(t==null?void 0:t.status)??"Draft").toLowerCase()==="draft"})}function c1(){return xe(e=>{var s;if(!e.selectedNodeId)return!1;const t=(s=e.treeData[0])==null?void 0:s.id,r=i=>{var o;for(const a of i){if(a.id===e.selectedNodeId)return a;if((o=a.children)!=null&&o.length){const c=r(a.children);if(c)return c}}},n=r(e.treeData);return!!(n!=null&&n.isFolder)&&n.id!==t})}const Pf={video:"#EA580C",pdf:"#DC2626",h5p:"#0D9488",scorm:"#7C3AED",audio:"#DB2777",quiz:"#16A34A",default:"#6B7280"},Mf={video:"Video",pdf:"FileText",h5p:"Layers",scorm:"Package",audio:"Music",quiz:"HelpCircle",default:"File"},Lf=["Course Assessment","eTextbook","Exam Question","Explanation Content","Learning Resource","Practice Question Set","SCORM Content","Teacher Resource"],u1=[{label:"All",value:"all"},{label:"Course Assessment",value:"Course Assessment"},{label:"eTextbook",value:"eTextbook"},{label:"Exam Question",value:"Exam Question"},{label:"Explanation Content",value:"Explanation Content"},{label:"Learning Resource",value:"Learning Resource"},{label:"Practice Question Set",value:"Practice Question Set"},{label:"SCORM Content",value:"SCORM Content"},{label:"Teacher Resource",value:"Teacher Resource"}];function d1(e){const t=[e.mimeType??"",e.primaryCategory??"",e.contentType??""].join(" ").toLowerCase();return t.includes("video")?"video":t.includes("pdf")||t.includes("epub")?"pdf":t.includes("h5p")?"h5p":t.includes("scorm")?"scorm":t.includes("audio")||t.includes("mp3")?"audio":t.includes("quiz")||t.includes("question")||t.includes("ecml")?"quiz":"default"}function zi(e){const t=d1(e);return{key:t,color:Pf[t]??Pf.default,bgClass:`sbx-ct-sq--${t}`,badgeClass:`sbx-ct-badge--${t}`,tintClass:`sbx-ct-tint--${t}`,iconName:Mf[t]??Mf.default,label:t.charAt(0).toUpperCase()+t.slice(1)}}const It={row:"_row_i3qt2_1",grip:"_grip_i3qt2_16",menuBtn:"_menuBtn_i3qt2_19",selected:"_selected_i3qt2_23",title:"_title_i3qt2_28",dropTarget:"_dropTarget_i3qt2_33",toggle:"_toggle_i3qt2_50",ctIcon:"_ctIcon_i3qt2_65",folderIcon:"_folderIcon_i3qt2_77",renameInput:"_renameInput_i3qt2_92",dropHere:"_dropHere_i3qt2_101",menuWrap:"_menuWrap_i3qt2_111",menu:"_menu_i3qt2_19",dangerItem:"_dangerItem_i3qt2_163"},f1={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},h1=({node:e,style:t,dragHandle:r,editorMode:n})=>{const[s,i]=h.useState(!1),[o,a]=h.useState(!1),[c,d]=h.useState(e.data.name),u=h.useRef(null),f=n==="edit",y=Ha(),g=zi(e.data),_=f1[g.key]??pn,p=e.isSelected,v=e.level===0,m=e.data.isFolder??(e.children&&e.children.length>0),b=v?nv:m?lv:_;h.useEffect(()=>{if(!s)return;const O=I=>{var k;(k=u.current)!=null&&k.contains(I.target)||i(!1)};return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[s]);const S=h.useCallback(()=>{c.trim()&&e.submit(c.trim()),a(!1)},[c,e]),w=h.useCallback(O=>{O.key==="Enter"&&S(),O.key==="Escape"&&(d(e.data.name),a(!1))},[S,e.data.name]);return l.jsxs("div",{className:[It.row,p?It.selected:"",e.state.isOver&&m?It.dropTarget:""].filter(Boolean).join(" "),style:t,onClick:()=>e.select(),"data-node-id":e.data.id,"data-droppable":m?"true":void 0,role:"treeitem","aria-selected":p,"aria-expanded":m?!e.isClosed:void 0,children:[f&&l.jsx("span",{ref:r,className:It.grip,"aria-hidden":"true",children:l.jsx(Fc,{size:14})}),l.jsx("button",{className:It.toggle,onClick:O=>{O.stopPropagation(),e.toggle()},"aria-label":e.isClosed?"Expand":"Collapse",style:{visibility:m?"visible":"hidden"},children:e.isClosed?l.jsx(Ac,{size:14}):l.jsx(ls,{size:14})}),l.jsx("span",{className:`${It.ctIcon} ${v||m?It.folderIcon:g.bgClass}`,"aria-hidden":"true",children:l.jsx(b,{size:12})}),o?l.jsx("input",{className:It.renameInput,value:c,autoFocus:!0,onChange:O=>d(O.target.value),onBlur:S,onKeyDown:w,onClick:O=>O.stopPropagation()}):l.jsx("span",{className:It.title,title:e.data.name,onDoubleClick:()=>f&&a(!0),children:e.data.name.length>25?`${e.data.name.slice(0,25)}...`:e.data.name}),e.state.isOver&&m&&l.jsx("span",{className:It.dropHere,"aria-hidden":"true",children:"Drop here"}),f&&l.jsxs("div",{className:It.menuWrap,ref:u,children:[l.jsx("button",{className:It.menuBtn,onClick:O=>{O.stopPropagation(),i(I=>!I)},"aria-label":"Node options",children:l.jsx(Mc,{size:14})}),s&&l.jsxs("div",{className:It.menu,role:"menu",children:[l.jsxs("button",{role:"menuitem",onClick:()=>{a(!0),i(!1)},children:[l.jsx(pv,{size:13})," Rename"]}),m&&y&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.id}),i(!1)},children:[l.jsx(Lc,{size:13})," Add sub-unit"]}),e.data.parent&&y&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.data.parent}),i(!1)},children:[l.jsx(cs,{size:13})," Add Sibling"]}),l.jsxs("button",{role:"menuitem",className:It.dangerItem,onClick:()=>{e.tree.delete(e.id),i(!1)},children:[l.jsx(zo,{size:13})," Delete"]})]})]})]})};async function p1(e,t){var i,o;const n=((i=(await Me.post(`/action/content/v3/upload/url/${e}?type=hierarchy`,{request:{content:{fileName:t}}})).data)==null?void 0:i.result)??{},s=((o=n.content)==null?void 0:o.preSignedURL)??n.pre_signed_url??n.preSignedUrl;if(!s)throw new Error("Could not obtain an upload URL");return s}async function g1(e,t){const r=await fetch(e,{method:"PUT",headers:{"x-ms-blob-type":"BlockBlob","Content-Type":"text/csv"},body:t});if(!r.ok)throw new Error(`Blob upload failed (${r.status})`);return e.split("?")[0]}async function y1(e,t){var a;const r=await p1(e,t.name),n=await g1(r,t),s=new FormData;return s.append("fileUrl",n),s.append("mimeType",t.type||"text/csv"),{processId:(((a=(await Me.post(`/action/collection/v1/import/${e}`,s)).data)==null?void 0:a.result)??{}).processId??""}}async function v1(e){var r;return((r=(await Me.get(`/action/collection/v1/import/status/${e}`)).data)==null?void 0:r.result)??{status:"PENDING"}}async function Ff(e){var n,s,i;const r=(i=(s=(n=(await Me.get(`/action/collection/v1/export/${e}`)).data)==null?void 0:n.result)==null?void 0:s.collection)==null?void 0:i.tocUrl;if(!r)throw new Error("No export URL returned");return r}async function m1(e){return Ff(e)}const Ie={container:"_container_jr3ij_1",header:"_header_jr3ij_13",title:"_title_jr3ij_22",closeBtn:"_closeBtn_jr3ij_29",body:"_body_jr3ij_45",dropZone:"_dropZone_jr3ij_54",dragOver:"_dragOver_jr3ij_67",hasFile:"_hasFile_jr3ij_72",hiddenInput:"_hiddenInput_jr3ij_78",fileInfo:"_fileInfo_jr3ij_82",fileIcon:"_fileIcon_jr3ij_89",fileName:"_fileName_jr3ij_93",fileSize:"_fileSize_jr3ij_100",dropHint:"_dropHint_jr3ij_105",dropIcon:"_dropIcon_jr3ij_112",dropText:"_dropText_jr3ij_117",dropSubtext:"_dropSubtext_jr3ij_124",sampleLink:"_sampleLink_jr3ij_130",statusBar:"_statusBar_jr3ij_145",status_uploading:"_status_uploading_jr3ij_154",status_processing:"_status_processing_jr3ij_154",status_done:"_status_done_jr3ij_159",status_error:"_status_error_jr3ij_164",successDetail:"_successDetail_jr3ij_170",spinner:"_spinner_jr3ij_175",spin:"_spin_jr3ij_175",errorMsg:"_errorMsg_jr3ij_191",failedSection:"_failedSection_jr3ij_197",failedTitle:"_failedTitle_jr3ij_203",tableWrap:"_tableWrap_jr3ij_213",failedTable:"_failedTable_jr3ij_219",reasonCell:"_reasonCell_jr3ij_244",footer:"_footer_jr3ij_248"},b1=({contentId:e,onComplete:t,onClose:r,mode:n="create"})=>{const[s,i]=h.useState(null),[o,a]=h.useState(!1),[c,d]=h.useState("idle"),[u,f]=h.useState(""),[y,g]=h.useState([]),[_,p]=h.useState(null),v=h.useRef(null),m=h.useRef(null),b=h.useCallback(()=>{m.current!==null&&(clearInterval(m.current),m.current=null)},[]);h.useEffect(()=>()=>b(),[b]);const S=N=>N.name.toLowerCase().endsWith(".csv")?N.size>50*1024*1024?(f("File size must not exceed 50 MB."),!1):!0:(f("Only .csv files are accepted."),!1),w=h.useCallback(N=>{f(""),g([]),p(null),d("idle"),S(N)&&i(N)},[]),O=h.useCallback(N=>{N.preventDefault(),a(!1);const M=N.dataTransfer.files[0];M&&w(M)},[w]),I=h.useCallback(N=>{var V;const M=(V=N.target.files)==null?void 0:V[0];M&&w(M),N.target.value=""},[w]),k=h.useCallback(async()=>{try{const N=await m1(e),M=document.createElement("a");M.href=N,M.download="sample_hierarchy.csv",M.target="_blank",M.click()}catch{f("Failed to download sample CSV.")}},[e]),P=h.useCallback(async()=>{if(s){d("uploading"),f(""),g([]);try{const{processId:N}=await y1(e,s);if(!N){d("done"),p(null),setTimeout(t,1500);return}d("processing"),m.current=setInterval(async()=>{try{const M=await v1(N);M.status==="COMPLETED"?(b(),d("done"),p(M.successCount??null),M.failedRecords&&M.failedRecords.length>0?g(M.failedRecords):setTimeout(t,1500)):M.status==="FAILED"&&(b(),d("error"),f("Upload processing failed. Please check the error rows below."),M.failedRecords&&g(M.failedRecords))}catch{b(),d("error"),f("Lost connection while checking status. Please try again.")}},2e3)}catch{d("error"),f("Upload failed. Please check your file and try again.")}}},[e,s,t,b]),B={idle:"",uploading:"Uploading...",processing:"Processing...",done:"Done!",error:"Error"};return l.jsxs("div",{className:Ie.container,children:[l.jsxs("div",{className:Ie.header,children:[l.jsx("h2",{className:Ie.title,children:n==="update"?"Update Folder Metadata via CSV":"Create Folders via CSV"}),l.jsx("button",{className:Ie.closeBtn,onClick:r,"aria-label":"Close",children:"✕"})]}),l.jsxs("div",{className:Ie.body,children:[l.jsxs("div",{className:`${Ie.dropZone} ${o?Ie.dragOver:""} ${s?Ie.hasFile:""}`,onDragEnter:N=>{N.preventDefault(),a(!0)},onDragOver:N=>{N.preventDefault(),a(!0)},onDragLeave:N=>{N.preventDefault(),a(!1)},onDrop:O,onClick:()=>{var N;return(N=v.current)==null?void 0:N.click()},role:"button",tabIndex:0,"aria-label":"Drop CSV file here or click to browse",onKeyDown:N=>{var M;return N.key==="Enter"&&((M=v.current)==null?void 0:M.click())},children:[l.jsx("input",{ref:v,type:"file",accept:".csv",className:Ie.hiddenInput,onChange:I,"aria-hidden":"true"}),s?l.jsxs("div",{className:Ie.fileInfo,children:[l.jsx("span",{className:Ie.fileIcon,children:"📄"}),l.jsx("span",{className:Ie.fileName,children:s.name}),l.jsxs("span",{className:Ie.fileSize,children:["(",(s.size/1024).toFixed(1)," KB)"]})]}):l.jsxs("div",{className:Ie.dropHint,children:[l.jsx("span",{className:Ie.dropIcon,children:"⬆️"}),l.jsx("p",{className:Ie.dropText,children:"Drag & drop your CSV here"}),l.jsx("p",{className:Ie.dropSubtext,children:"or click to browse"})]})]}),l.jsx("button",{className:Ie.sampleLink,onClick:k,type:"button",children:"Download Sample CSV"}),c!=="idle"&&l.jsxs("div",{className:`${Ie.statusBar} ${Ie[`status_${c}`]}`,role:"status","aria-live":"polite",children:[c==="processing"&&l.jsx("span",{className:Ie.spinner,"aria-hidden":"true"}),B[c],c==="done"&&_!==null&&l.jsxs("span",{className:Ie.successDetail,children:[" — ",_," item(s) imported"]})]}),u&&l.jsx("p",{className:Ie.errorMsg,role:"alert",children:u}),y.length>0&&l.jsxs("div",{className:Ie.failedSection,children:[l.jsxs("h4",{className:Ie.failedTitle,children:["Failed Rows (",y.length,")"]}),l.jsx("div",{className:Ie.tableWrap,children:l.jsxs("table",{className:Ie.failedTable,children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Row"}),l.jsx("th",{children:"Name"}),l.jsx("th",{children:"Reason"})]})}),l.jsx("tbody",{children:y.map((N,M)=>l.jsxs("tr",{children:[l.jsx("td",{children:N.rowNumber??M+1}),l.jsx("td",{children:N.name??"—"}),l.jsx("td",{className:Ie.reasonCell,children:N.reason??"Unknown error"})]},M))})]})})]})]}),l.jsxs("div",{className:Ie.footer,children:[l.jsx(Te,{variant:"ghost",onClick:r,disabled:c==="uploading"||c==="processing",children:"Cancel"}),l.jsx(Te,{variant:"primary",isLoading:c==="uploading"||c==="processing",disabled:!s||c==="done",onClick:P,children:c==="done"?"Uploaded":"Upload"})]})]})},tr={container:"_container_1y30m_1",header:"_header_1y30m_8",headerActions:"_headerActions_1y30m_19",iconBtn:"_iconBtn_1y30m_25",menuWrap:"_menuWrap_1y30m_43",dropdownMenu:"_dropdownMenu_1y30m_47",treeWrapper:"_treeWrapper_1y30m_79",csvModal:"_csvModal_1y30m_95",footer:"_footer_1y30m_105"},_1=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{var we;const n=h.useRef(null),s=h.useRef(null),i=h.useRef(null),[o,a]=h.useState(400),[c,d]=h.useState(!1),[u,f]=h.useState(!1),[y,g]=h.useState("create"),{treeData:_,selectedNodeId:p,selectNode:v,addNode:m,deleteNode:b,reorderChildren:S,moveNode:w,setTreeData:O}=xe(),I=e==="edit",k=Ha(),P=I&&k,B=(((we=_[0])==null?void 0:we.children)??[]).some(G=>G.isFolder),N=ce(G=>{var L,X,F,Y;return((X=(L=G.editorConfig)==null?void 0:L.context)==null?void 0:X.contentId)??((Y=(F=G.editorConfig)==null?void 0:F.context)==null?void 0:Y.identifier)??""}),M=ce(G=>{var X,F;const L=(F=(X=G.categoryMeta)==null?void 0:X.sourcingSettings)==null?void 0:F.collection;return(L==null?void 0:L.enableBulkUpload)!==!1});h.useEffect(()=>{const G=s.current;if(!G)return;const L=new ResizeObserver(()=>{a(G.clientHeight||400)});return L.observe(G),a(G.clientHeight||400),()=>L.disconnect()},[]),h.useEffect(()=>{if(!c)return;const G=L=>{var X;(X=i.current)!=null&&X.contains(L.target)||d(!1)};return document.addEventListener("mousedown",G),()=>document.removeEventListener("mousedown",G)},[c]);const V=h.useCallback(G=>{G.length>0&&v(G[0].data.id)},[v]),A=h.useCallback(({parentId:G,index:L,dragIds:X})=>{if(!G)return;const F=X[0],Y=Wa(_,F);if(!Y)return;const K=Y.parent;if(K===G){const oe=Wa(_,G);if(!(oe!=null&&oe.children))return;const Se=oe.children.findIndex(Ae=>Ae.id===F);if(Se<0)return;S(G,Se,L>Se?L-1:L)}else w(F,K??"",G)},[_,S,w]),U=h.useCallback(({ids:G})=>{G.forEach(L=>b(L))},[b]),j=h.useCallback(({parentId:G})=>{var F;const L=G??((F=_[0])==null?void 0:F.id)??"";if(!L)return{id:crypto.randomUUID()};const X=m(L,"unit");return X?{id:X}:(Ee.error("Maximum depth reached"),{id:crypto.randomUUID()})},[m,_]),J=h.useCallback(()=>{var L;const G=(L=_[0])==null?void 0:L.id;G&&(m(G,"unit")||Ee.error("Maximum depth reached"))},[_,m]),se=h.useCallback(()=>{p&&(m(p,"subunit")||Ee.error("Maximum depth reached"))},[p,m]),ge=h.useCallback(async()=>{if(d(!1),!!N)try{const G=await Ff(N),L=await fetch(G).then(Y=>Y.blob()),X=URL.createObjectURL(L),F=document.createElement("a");F.href=X,F.download=`${N}-folders.csv`,F.style.display="none",document.body.appendChild(F),F.click(),document.body.removeChild(F),URL.revokeObjectURL(X)}catch{Ee.error("Failed to download CSV")}},[N]),_e=h.useCallback(async()=>{if(f(!1),!!N)try{const{rootNode:G}=await qu(N);O([G]),Ee.success("Course outline refreshed.")}catch{Ee.error("Outline could not be refreshed automatically. Please reload the page.")}},[N,O]);return l.jsxs("div",{className:tr.container,children:[l.jsx("div",{className:tr.header,children:l.jsxs("div",{className:tr.headerActions,children:[I&&l.jsxs("div",{className:tr.menuWrap,ref:i,children:[l.jsx("button",{type:"button",className:tr.iconBtn,onClick:()=>d(G=>!G),"aria-label":"More options",title:"More options","aria-haspopup":"true","aria-expanded":c,children:l.jsx(Mc,{size:15})}),c&&l.jsx("div",{className:tr.dropdownMenu,role:"menu",children:M&&l.jsxs(l.Fragment,{children:[l.jsx("button",{role:"menuitem",type:"button",disabled:B,title:B?'Folders already exist — use "Update" instead':void 0,onClick:()=>{d(!1),g("create"),f(!0)},children:"Create folders using csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!B,title:B?void 0:'No folders yet — use "Create" first',onClick:ge,children:"Download folders as csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!B,title:B?void 0:'No folders yet — use "Create" first',onClick:()=>{d(!1),g("update"),f(!0)},children:"Update folder metadata using csv file"})]})})]}),r&&l.jsx("button",{type:"button",className:tr.iconBtn,onClick:r,"aria-label":t?"Expand outline":"Collapse outline",title:t?"Expand outline":"Collapse outline",children:t?l.jsx(fv,{size:15}):l.jsx(dv,{size:15})})]})}),l.jsx("div",{className:tr.treeWrapper,ref:s,children:l.jsx(l1,{ref:n,data:_,idAccessor:"id",childrenAccessor:"children",onSelect:V,onMove:I?A:void 0,onDelete:I?U:void 0,onCreate:I?j:void 0,disableEdit:!I,disableDrop:!I,selection:p??void 0,rowHeight:40,indent:20,paddingBottom:16,height:o,width:"100%",children:G=>l.jsx(h1,{...G,editorMode:e})})}),I&&l.jsxs("div",{className:tr.footer,children:[l.jsxs(Te,{variant:"ghost",size:"sm",onClick:J,disabled:!P,children:[l.jsx(cs,{size:14})," Add Unit"]}),l.jsxs(Te,{variant:"ghost",size:"sm",onClick:se,disabled:!P||!p,children:[l.jsx(Lc,{size:14})," Add Sub-unit"]})]}),u&&l.jsx("div",{className:tr.csvModal,children:l.jsx(b1,{contentId:N,mode:y,onComplete:_e,onClose:()=>f(!1)})})]})};function Wa(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=Wa(r.children,t);if(n)return n}}}const Ss={breadcrumb:"_breadcrumb_zd1aj_1",crumb:"_crumb_zd1aj_10",sep:"_sep_zd1aj_26",current:"_current_zd1aj_31"},w1=({crumbs:e})=>{const t=xe(r=>r.selectNode);return e.length?l.jsxs("nav",{className:Ss.breadcrumb,"aria-label":"Node path",children:[l.jsx("button",{className:Ss.crumb,onClick:()=>t(e[0].id),"aria-label":"Home",children:l.jsx(cv,{size:13})}),e.map((r,n)=>l.jsxs(h.Fragment,{children:[l.jsx(Ac,{size:13,className:Ss.sep}),n<e.length-1?l.jsx("button",{className:Ss.crumb,onClick:()=>t(r.id),children:r.name}):l.jsx("span",{className:Ss.current,children:r.name})]},r.id))]}):null},Cs={tabBar:"_tabBar_qhks1_1",tab:"_tab_qhks1_1",active:"_active_qhks1_29",error:"_error_qhks1_35",errorDot:"_errorDot_qhks1_39"},$f=[{id:"details",label:"Details"},{id:"audience",label:"Audience & Curriculum"},{id:"licensing",label:"Licensing"}],S1=({activeTab:e,onChange:t,errorTabs:r=[],visibleTabs:n})=>{const s=n?$f.filter(i=>n.includes(i.id)):$f;return l.jsx("div",{className:Cs.tabBar,role:"tablist","aria-label":"Metadata sections",children:s.map(i=>l.jsxs("button",{role:"tab","aria-selected":e===i.id,"aria-controls":`panel-${i.id}`,className:[Cs.tab,e===i.id?Cs.active:"",r.includes(i.id)?Cs.error:""].join(" "),onClick:()=>t(i.id),children:[i.label,r.includes(i.id)&&l.jsx("span",{className:Cs.errorDot,"aria-label":"Has errors"})]},i.id))})};var Os=e=>e.type==="checkbox",Gr=e=>e instanceof Date,ot=e=>e==null;const jf=e=>typeof e=="object";var Ue=e=>!ot(e)&&!Array.isArray(e)&&jf(e)&&!Gr(e),Ka=e=>Ue(e)&&e.target?Os(e.target)?e.target.checked:e.target.value:e,Bf=(e,t)=>t.split(".").some((r,n,s)=>!isNaN(Number(r))&&e.has(s.slice(0,n).join("."))),Uf=e=>{const t=e.constructor&&e.constructor.prototype;return Ue(t)&&t.hasOwnProperty("isPrototypeOf")},qi=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function qe(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(qi&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(Ue(e)&&Uf(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(n[s]=qe(e[s]));return n}const Er={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},Gt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Qt={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ga="form",Vf="root",zf=["__proto__","constructor","prototype"];var Es=e=>/^\w*$/.test(e),Le=e=>e===void 0,Hi=e=>e.split(/[.[\]'"]/g).filter(Boolean),W=(e,t,r)=>{if(!t||!Ue(e))return r;const n=Es(t)?[t]:Hi(t);if(n.some(i=>zf.includes(i)))return r;const s=n.reduce((i,o)=>ot(i)?void 0:i[o],e);return Le(s)||s===e?Le(e[t])?r:e[t]:s},At=e=>typeof e=="boolean",pt=e=>typeof e=="function",ke=(e,t,r)=>{let n=-1;const s=Es(t)?[t]:Hi(t),i=s.length,o=i-1;for(;++n<i;){const a=s[n];let c=r;if(n!==o){const d=e[a];c=Ue(d)||Array.isArray(d)?d:isNaN(+s[n+1])?{}:[]}if(zf.includes(a))return;e[a]=c,e=e[a]}};const Qa=h.createContext(null);Qa.displayName="HookFormControlContext";const Ya=()=>h.useContext(Qa);var qf=(e,t,r,n=!0)=>{const s={};for(const i in e)Object.defineProperty(s,i,{get:()=>{const o=i;return t._proxyFormState[o]!==Gt.all&&(t._proxyFormState[o]=!n||Gt.all),r&&(r[o]=!0),e[o]}});return s};const Ra=qi?h.useLayoutEffect:h.useEffect;function C1(e){const t=Ya(),{control:r=t,disabled:n,name:s,exact:i}=e||{},[o,a]=h.useState(()=>({...r._formState,defaultValues:r._defaultValues})),c=h.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ra(()=>r._subscribe({name:s,formState:c.current,exact:i,callback:d=>{!n&&a({...r._formState,...d,defaultValues:r._defaultValues})}}),[s,n,i]),h.useEffect(()=>{c.current.isValid&&r._setValid(!0)},[r]),h.useMemo(()=>qf(o,r,c.current,!1),[o,r])}var gt=e=>typeof e=="string",Xa=(e,t,r,n,s)=>gt(e)?(n&&t.watch.add(e),W(r,e,s)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),W(r,i))):(n&&(t.watchAll=!0),r),Za=e=>ot(e)||!jf(e);const Hf=(e,t)=>t.length===0&&!Array.isArray(e)&&!Uf(e);function Pt(e,t,r=new WeakMap){if(e===t)return!0;if(Za(e)||Za(t))return Object.is(e,t);if(Gr(e)&&Gr(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;if(Hf(e,n)||Hf(t,s))return Object.is(e,t);const i=r.get(e);if(i&&i.has(t))return!0;i?i.add(t):r.set(e,new WeakSet([t]));for(const o of n){const a=e[o];if(!(o in t))return!1;if(o!=="ref"){const c=t[o];if(Gr(a)&&Gr(c)||(Ue(a)||Array.isArray(a))&&(Ue(c)||Array.isArray(c))?!Pt(a,c,r):!Object.is(a,c))return!1}}return!0}function O1(e){const t=Ya(),{control:r=t,name:n,defaultValue:s,disabled:i,exact:o,compute:a}=e||{},c=h.useRef(s),d=h.useRef(a),u=h.useRef(void 0),f=h.useRef(r),y=h.useRef(n);d.current=a;const[g,_]=h.useState(()=>{const w=r._getWatch(n,c.current);return d.current?d.current(w):w}),p=h.useCallback(w=>{const O=Xa(n,r._names,w||r._formValues,!1,c.current);return d.current?d.current(O):O},[r._formValues,r._names,n]),v=h.useCallback(w=>{if(!i){const O=Xa(n,r._names,w||r._formValues,!1,c.current);if(d.current){const I=d.current(O);Pt(I,u.current)||(_(I),u.current=I)}else _(O)}},[r._formValues,r._names,i,n]);Ra(()=>((f.current!==r||!Pt(y.current,n))&&(f.current=r,y.current=n,v()),r._subscribe({name:n,formState:{values:!0},exact:o,callback:w=>{v(w.values)}})),[r,o,n,v]),h.useEffect(()=>r._removeUnmounted());const m=f.current!==r,b=y.current,S=h.useMemo(()=>{if(i)return null;const w=!m&&!Pt(b,n);return m||w?p():null},[i,m,n,b,p]);return S!==null?S:g}function Wi(e){const t=Ya(),{name:r,disabled:n,control:s=t,shouldUnregister:i,defaultValue:o,exact:a=!0}=e,c=Bf(s._names.array,r),d=h.useMemo(()=>W(s._formValues,r,W(s._defaultValues,r,o)),[s,r,o]),u=O1({control:s,name:r,defaultValue:d,exact:a}),f=C1({control:s,name:r,exact:a}),y=h.useRef(e),g=h.useRef(null),_=h.useRef(s.register(r,{...e.rules,value:u,...At(e.disabled)?{disabled:e.disabled}:{}}));y.current=e;const p=h.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!W(f.errors,r)},isDirty:{enumerable:!0,get:()=>!!W(f.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!W(f.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!W(f.validatingFields,r)},error:{enumerable:!0,get:()=>W(f.errors,r)}}),[f,r]),v=h.useCallback(w=>{const O=Ka(w);return W(s._fields,r)||(_.current=s.register(r,{...y.current.rules,value:O})),_.current.onChange({target:{value:Ka(w),name:r},type:Er.CHANGE})},[r,s]),m=h.useCallback(()=>_.current.onBlur({target:{value:W(s._formValues,r),name:r},type:Er.BLUR}),[r,s._formValues]),b=h.useCallback(w=>{w&&(g.current={focus:()=>pt(w.focus)&&w.focus(),select:()=>pt(w.select)&&w.select(),setCustomValidity:I=>pt(w.setCustomValidity)&&w.setCustomValidity(I),reportValidity:()=>pt(w.reportValidity)&&w.reportValidity()});const O=W(s._fields,r);O&&O._f&&w&&(O._f.ref=g.current)},[s._fields,r]),S=h.useMemo(()=>({name:r,value:u,...At(n)||f.disabled?{disabled:f.disabled||n}:{},onChange:v,onBlur:m,ref:b}),[r,n,f.disabled,v,m,b,u]);return h.useEffect(()=>{const w=s._options.shouldUnregister||i;s.register(r,{...y.current.rules,...At(y.current.disabled)?{disabled:y.current.disabled}:{}});const O=(I,k)=>{const P=W(s._fields,I);P&&P._f&&(P._f.mount=k)};if(O(r,!0),w){const I=qe(W(i?s._defaultValues:s._options.values||s._defaultValues,r,W(s._options.defaultValues,r,y.current.defaultValue)));ke(s._defaultValues,r,I),Le(W(s._formValues,r))&&ke(s._formValues,r,I)}if(!c&&s.register(r),g.current){const I=W(s._fields,r);I&&I._f&&(I._f.ref=g.current)}return()=>{(c?w&&!s._state.action:w)?s.unregister(r):O(r,!1)}},[r,s,c,i]),h.useEffect(()=>{s._setDisabledField({disabled:n,name:r})},[n,r,s]),h.useMemo(()=>({field:S,formState:f,fieldState:p}),[S,f,p])}const Ja=h.createContext(null);Ja.displayName="HookFormContext";const Yt=()=>h.useContext(Ja),E1=({children:e,watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:y,unregister:g,control:_,register:p,setFocus:v,subscribe:m})=>{const b=h.useMemo(()=>({watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:y,unregister:g,control:_,register:p,setFocus:v,subscribe:m}),[i,_,d,n,r,y,p,f,u,s,v,o,a,m,c,g,t]);return h.createElement(Ja.Provider,{value:b},h.createElement(Qa.Provider,{value:b.control},e))};var D1=(e,t,r,n,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:s||!0}}:{},Wf=e=>Array.isArray(e)?e.filter(Boolean):[],Ki=e=>Array.isArray(e)?e:[e],Kf=()=>{let e=[];return{get observers(){return e},next:s=>{for(const i of e)i.next&&i.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(i=>i!==s)}}),unsubscribe:()=>{e=[]}}};function Gf(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const s=e[n],i=t[n];if(s&&Ue(s)&&i){const o=Gf(s,i);Ue(o)&&(r[n]=o)}else e[n]&&(r[n]=i)}return r}var Je=e=>Ue(e)&&!Object.keys(e).length,el=e=>e.type==="file",Gi=e=>{if(!qi)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Qf=e=>e.type==="select-multiple",tl=e=>e.type==="radio",I1=e=>tl(e)||Os(e),rl=e=>Gi(e)&&e.isConnected;function T1(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;){if(ot(e)){e=void 0;break}e=e[t[n]],n++}return e}function N1(e){for(const t in e)if(e.hasOwnProperty(t)&&!Le(e[t]))return!1;return!0}function Qe(e,t){if(gt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Es(t)?[t]:Hi(t),n=r.length===1?e:T1(e,r),s=r.length-1,i=r[s];return n&&delete n[i],s!==0&&(Ue(n)&&Je(n)||Array.isArray(n)&&N1(n))&&Qe(e,r.slice(0,-1)),e}var x1=e=>{for(const t in e)if(pt(e[t]))return!0;return!1};function Yf(e){return Array.isArray(e)||Ue(e)&&!x1(e)}function nl(e,t={}){for(const r in e){const n=e[r];Yf(n)?(t[r]=Array.isArray(n)?[]:{},nl(n,t[r])):Le(n)||(t[r]=!0)}return t}function sl(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const t=e.map(r=>sl(r));return t.some(r=>r!==void 0)?t:void 0}if(Ue(e)){const t={};for(const r in e){const n=sl(e[r]);Le(n)||(t[r]=n)}return Object.keys(t).length?t:void 0}}}function Qr(e,t,r){r||(r=nl(t));for(const n in e){const s=e[n];if(Yf(s))Le(t)||Za(r[n])?r[n]=nl(s,Array.isArray(s)?[]:{}):Qr(s,ot(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Pt(s,i)}}return sl(r)||{}}const Rf={value:!1,isValid:!1},Xf={value:!0,isValid:!0};var Zf=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Le(e[0].attributes.value)?Le(e[0].value)||e[0].value===""?Xf:{value:e[0].value,isValid:!0}:Xf:Rf}return Rf},Jf=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>Le(e)?e:t?e===""?NaN:e&&+e:r&&gt(e)?new Date(e):n?n(e):e;const eh={isValid:!1,value:null};var th=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,eh):eh;function rh(e){const t=e.ref;return el(t)?t.files:tl(t)?th(e.refs).value:Qf(t)?[...t.selectedOptions].map(({value:r})=>r):Os(t)?Zf(e.refs).value:Jf(Le(t.value)?e.ref.value:t.value,e)}var k1=(e,t,r,n)=>{const s={};for(const i of e){const o=W(t,i);o&&ke(s,i,o._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:n}},Qi=e=>e instanceof RegExp,Ds=e=>Le(e)?e:Qi(e)?e.source:Ue(e)?Qi(e.value)?e.value.source:e.value:e,nh=e=>({isOnSubmit:!e||e===Gt.onSubmit,isOnBlur:e===Gt.onBlur,isOnChange:e===Gt.onChange,isOnAll:e===Gt.all,isOnTouch:e===Gt.onTouched});const sh="AsyncFunction";var A1=e=>!!e&&!!e.validate&&!!(pt(e.validate)&&e.validate.constructor.name===sh||Ue(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===sh)),P1=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),il=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(`${n}.`)));const Is=(e,t,r,n)=>{for(const s of r||Object.keys(e)){const i=W(e,s);if(i){const{_f:o,...a}=i;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],s)&&!n)return!0;if(o.ref&&t(o.ref,o.name)&&!n)return!0;if(Is(a,t))break}else if(Ue(a)&&Is(a,t))break}}};function ih(e,t,r){const n=W(e,r);if(n||Es(r))return{error:n,name:r};const s=r.split(".");for(;s.length;){const i=s.join("."),o=W(t,i),a=W(e,i);if(o&&!Array.isArray(o)&&r!==i)return{name:r};if(a&&a.type)return{name:i,error:a};if(a&&a.root&&a.root.type)return{name:`${i}.root`,error:a.root};s.pop()}return{name:r}}var M1=(e,t,r,n)=>{r(e);const{name:s,...i}=e;return Je(i)||n&&Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!n||Gt.all))},L1=(e,t,r)=>!e||!t||e===t||Ki(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),F1=(e,t,r,n,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(t||e):(r?n.isOnBlur:s.isOnBlur)?!e:(r?n.isOnChange:s.isOnChange)?e:!0,$1=(e,t)=>!Wf(W(e,t)).length&&Qe(e,t),oh=(e,t,r)=>{const n=W(e,r),s=Array.isArray(n)?n:[];return ke(s,Vf,t[r]),ke(e,r,s),e};function ah(e,t,r="validate"){if(gt(e)||Array.isArray(e)&&e.every(gt)||At(e)&&!e)return{type:r,message:gt(e)?e:"",ref:t}}var xn=e=>Ue(e)&&!Qi(e)?e:{value:e,message:""},lh=async(e,t,r,n,s,i)=>{const{ref:o,refs:a,required:c,maxLength:d,minLength:u,min:f,max:y,pattern:g,validate:_,name:p,valueAsNumber:v,mount:m}=e._f,b=W(r,p);if(!m||t.has(p))return{};const S=a?a[0]:o,w=V=>{if(s&&S.reportValidity){const A=At(V)?"":V||"";a?a.forEach(U=>U.setCustomValidity(A)):S.setCustomValidity(A),S.reportValidity()}},O={},I=tl(o),k=Os(o),P=I||k,B=(v||el(o))&&Le(o.value)&&Le(b)||Gi(o)&&o.value===""||b===""||Array.isArray(b)&&!b.length,N=D1.bind(null,p,n,O),M=(V,A,U,j=Qt.maxLength,J=Qt.minLength)=>{const se=V?A:U;O[p]={type:V?j:J,message:se,ref:o,...N(V?j:J,se)}};if(i?!Array.isArray(b)||!b.length:c&&(!P&&(B||ot(b))||At(b)&&!b||k&&!Zf(a).isValid||I&&!th(a).isValid)){const{value:V,message:A}=gt(c)?{value:!!c,message:c}:xn(c);if(V&&(O[p]={type:Qt.required,message:A,ref:S,...N(Qt.required,A)},!n))return w(A),O}if(!B&&(!ot(f)||!ot(y))){let V,A;const U=xn(y),j=xn(f);if(!ot(b)&&!isNaN(b)){const J=o.valueAsNumber||b&&+b;ot(U.value)||(V=J>U.value),ot(j.value)||(A=J<j.value)}else{const J=o.valueAsDate||new Date(b),se=we=>new Date(new Date().toDateString()+" "+we),ge=o.type=="time",_e=o.type=="week";gt(U.value)&&b&&(V=ge?se(b)>se(U.value):_e?b>U.value:J>new Date(U.value)),gt(j.value)&&b&&(A=ge?se(b)<se(j.value):_e?b<j.value:J<new Date(j.value))}if((V||A)&&(M(!!V,U.message,j.message,Qt.max,Qt.min),!n))return w(O[p].message),O}if((d||u)&&!B&&(gt(b)||i&&Array.isArray(b))){const V=xn(d),A=xn(u),U=!ot(V.value)&&b.length>+V.value,j=!ot(A.value)&&b.length<+A.value;if((U||j)&&(M(U,V.message,A.message),!n))return w(O[p].message),O}if(g&&!B&&gt(b)){const{value:V,message:A}=xn(g);if(Qi(V)&&!b.match(V)&&(O[p]={type:Qt.pattern,message:A,ref:o,...N(Qt.pattern,A)},!n))return w(A),O}if(_){if(pt(_)){const V=await _(b,r),A=ah(V,S);if(A&&(O[p]={...A,...N(Qt.validate,A.message)},!n))return w(A.message),O}else if(Ue(_)){let V={};for(const A in _){if(!Je(V)&&!n)break;const U=ah(await _[A](b,r),S,A);U&&(V={...U,...N(A,U.message)},w(U.message),n&&(O[p]=V))}if(!Je(V)&&(O[p]={ref:S,...V},!n))return O}}return w(!0),O};const j1={mode:Gt.onSubmit,reValidateMode:Gt.onChange,shouldFocusError:!0},ch={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function B1(e={}){let t={...j1,...e},r={...qe(ch),isLoading:pt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},n={},s=Ue(t.defaultValues)||Ue(t.values)?qe(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:qe(s),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},a={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,d=0;const u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},f={...u};let y={...f};const g={array:Kf(),state:Kf()},_=t.criteriaMode===Gt.all,p=C=>T=>{clearTimeout(d),d=setTimeout(C,T)},v=async C=>{if(!o.keepIsValid&&!t.disabled&&(f.isValid||y.isValid||C)){let T;t.resolver?(T=Je((await N()).errors),m()):T=await A({fields:n,onlyCheckValid:!0,eventType:Er.VALID}),T!==r.isValid&&g.state.next({isValid:T})}},m=(C,T)=>{!t.disabled&&(f.isValidating||f.validatingFields||y.isValidating||y.validatingFields)&&((C||Array.from(a.mount)).forEach(x=>{x&&(T?ke(r.validatingFields,x,T):Qe(r.validatingFields,x))}),g.state.next({validatingFields:r.validatingFields,isValidating:!Je(r.validatingFields)}))},b=()=>{r.dirtyFields=Qr(s,i)},S=(C,T=[],x,z,q=!0,Q=!0)=>{if(z&&x&&!t.disabled){if(o.action=!0,Q&&Array.isArray(W(n,C))){const H=x(W(n,C),z.argA,z.argB);q&&ke(n,C,H)}if(Q&&Array.isArray(W(r.errors,C))){const H=x(W(r.errors,C),z.argA,z.argB);q&&ke(r.errors,C,H),$1(r.errors,C)}if((f.touchedFields||y.touchedFields)&&Q&&Array.isArray(W(r.touchedFields,C))){const H=x(W(r.touchedFields,C),z.argA,z.argB);q&&ke(r.touchedFields,C,H)}(f.dirtyFields||y.dirtyFields)&&b(),g.state.next({name:C,isDirty:j(C,T),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else ke(i,C,T)},w=(C,T)=>{ke(r.errors,C,T),r.errors={...r.errors},g.state.next({errors:r.errors})},O=C=>{r.errors=C,g.state.next({errors:r.errors,isValid:!1})},I=C=>{const T=Es(C)?[C]:Hi(C);let x=i,z=s;for(let q=0;q<T.length-1;q++){const Q=T[q];if(x=ot(x)?x:x[Q],z=ot(z)?z:z[Q],x===null&&z!==null)return!0}return!1},k=(C,T,x,z)=>{const q=W(n,C);if(q){if(I(C))return;const Q=Le(W(i,C)),H=W(i,C,Le(x)?W(s,C):x);Le(H)||z&&z.defaultChecked||T?ke(i,C,T?H:rh(q._f)):ge(C,H),o.mount&&!o.action&&(v(),Q&&r.isDirty&&(f.isDirty||y.isDirty)&&(j()||(r.isDirty=!1,g.state.next({...r}))),e.shouldUnregister&&Q&&!Le(W(i,C))&&il(C,a)&&(o.watch=!0))}},P=(C,T,x,z,q)=>{let Q=!1,H=!1;const ee={name:C};if(!t.disabled){if(!x||z){(f.isDirty||y.isDirty)&&(H=r.isDirty,r.isDirty=ee.isDirty=j(),Q=H!==ee.isDirty);const he=Pt(W(s,C),T);H=!!W(r.dirtyFields,C),he!==r.isDirty?r.dirtyFields=Qr(s,i):he?Qe(r.dirtyFields,C):ke(r.dirtyFields,C,!0),ee.dirtyFields=r.dirtyFields,Q=Q||(f.dirtyFields||y.dirtyFields)&&H!==!he}if(x){const he=W(r.touchedFields,C);he||(ke(r.touchedFields,C,x),ee.touchedFields=r.touchedFields,Q=Q||(f.touchedFields||y.touchedFields)&&he!==x)}Q&&q&&g.state.next(ee)}return Q?ee:{}},B=(C,T,x,z)=>{const q=W(r.errors,C),Q=(f.isValid||y.isValid)&&At(T)&&r.isValid!==T;if(t.delayError&&x?(c=p(()=>w(C,x)),c(t.delayError)):(clearTimeout(d),c=null,x?ke(r.errors,C,x):Qe(r.errors,C),r.errors={...r.errors}),(x?!Pt(q,x):q)||!Je(z)||Q){const H={...z,...Q&&At(T)?{isValid:T}:{},errors:r.errors,name:C};r={...r,...H},g.state.next(H)}},N=async C=>(m(C,!0),await t.resolver(i,t.context,k1(C||a.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),M=async C=>{const{errors:T}=await N(C);if(m(C),C){for(const x of C){const z=W(T,x);z?a.array.has(x)&&Ue(z)&&!Object.keys(z).some(q=>!Number.isNaN(Number(q)))?oh(r.errors,{[x]:z},x):ke(r.errors,x,z):Qe(r.errors,x)}r.errors={...r.errors}}else r.errors=T;return T},V=async({name:C,eventType:T})=>{if(e.validate){const x=await e.validate({formValues:i,formState:r,name:C,eventType:T});if(Ue(x))for(const z in x){const q=x[z];q&&Ae(`${Ga}.${z}`,{message:gt(q.message)?q.message:"",type:q.type||Qt.validate})}else gt(x)||!x?Ae(Ga,{message:x||"",type:Qt.validate}):Se(Ga);return x}return!0},A=async({fields:C,onlyCheckValid:T,name:x,eventType:z,context:q={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(q.runRootValidation=!0,!await V({name:x,eventType:z})&&(q.valid=!1,T)))return q.valid;for(const Q in C){const H=C[Q];if(H){const{_f:ee,...he}=H;if(ee){const ze=a.array.has(ee.name),Nt=H._f&&A1(H._f),xt=f.validatingFields||f.isValidating||y.validatingFields||y.isValidating;Nt&&xt&&m([ee.name],!0);const pr=await lh(H,a.disabled,i,_,t.shouldUseNativeValidation&&!T,ze);if(Nt&&xt&&m([ee.name]),pr[ee.name]&&(q.valid=!1,T)||(!T&&(W(pr,ee.name)?ze?oh(r.errors,pr,ee.name):ke(r.errors,ee.name,pr[ee.name]):Qe(r.errors,ee.name)),e.shouldUseNativeValidation&&pr[ee.name]))break}!Je(he)&&await A({context:q,onlyCheckValid:T,fields:he,name:Q,eventType:z})}}return q.valid},U=()=>{for(const C of a.unMount){const T=W(n,C);T&&(T._f.refs?T._f.refs.every(x=>!rl(x)):!rl(T._f.ref))&&je(C)}a.unMount=new Set},j=(C,T)=>!t.disabled&&(C&&T&&ke(i,C,T),!Pt(K(),s)),J=(C,T,x)=>Xa(C,a,{...o.mount?i:Le(T)?s:gt(C)?{[C]:T}:T},x,T),se=C=>Wf(W(o.mount?i:s,C,t.shouldUnregister?W(s,C,[]):[])),ge=(C,T,x={},z=!1)=>{const q=W(n,C);let Q=T;if(q){const H=q._f;H&&(!H.disabled&&ke(i,C,Jf(T,H)),Q=Gi(H.ref)&&ot(T)?"":T,Qf(H.ref)?[...H.ref.options].forEach(ee=>ee.selected=Q.includes(ee.value)):H.refs?Os(H.ref)?H.refs.forEach(ee=>{(!ee.defaultChecked||!ee.disabled)&&(Array.isArray(Q)?ee.checked=!!Q.find(he=>he===ee.value):ee.checked=Q===ee.value||!!Q)}):H.refs.forEach(ee=>ee.checked=ee.value===Q):el(H.ref)?H.ref.value="":(H.ref.value=Q,H.ref.type||g.state.next({name:C,values:z?i:qe(i)})))}(x.shouldDirty||x.shouldTouch)&&P(C,Q,x.shouldTouch,x.shouldDirty,!0),x.shouldValidate&&Y(C)},_e=(C,T,x,z=!1)=>{for(const q in T){if(!T.hasOwnProperty(q))return;const Q=T[q],H=C+"."+q,ee=W(n,H);(a.array.has(C)||Ue(Q)||ee&&!ee._f)&&!Gr(Q)?_e(H,Q,x,z):ge(H,Q,x,z)}},we=(C,T,x,z)=>{const q=W(n,C),Q=a.array.has(C),H=z?T:qe(T),ee=W(i,C),he=Pt(ee,H);if(he||ke(i,C,H),Q)g.array.next({name:C,values:z?i:qe(i)}),(f.isDirty||f.dirtyFields||y.isDirty||y.dirtyFields)&&x.shouldDirty&&(b(),g.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:j(C,H)}));else{const ze=Array.isArray(H)&&!H.length||Je(H);!q||q._f||ot(H)||ze?ge(C,H,x,z):_e(C,H,x,z)}if(!he){const ze=il(C,a),Nt=z?i:qe(i);g.state.next({...ze&&r,name:o.mount||ze?C:void 0,values:Nt})}},G=(C,T,x={})=>we(C,T,x,!1),L=(C,T={})=>{const x=pt(C)?C(i):C;if(!Pt(i,x)){i={...i,...x};for(const z of a.mount)we(z,W(x,z),T,!0);g.state.next({...r,name:void 0,type:void 0,values:i}),T.shouldValidate&&v()}},X=async C=>{o.mount=!0;const T=C.target;let x=T.name,z=!0;const q=W(n,x),Q=he=>{z=Number.isNaN(he)||Gr(he)&&isNaN(he.getTime())||Pt(he,W(i,x,he))},H=nh(t.mode),ee=nh(t.reValidateMode);if(q){let he,ze;const Nt=T.type?rh(q._f):Ka(C),xt=C.type===Er.BLUR||C.type===Er.FOCUS_OUT,pr=!P1(q._f)&&!e.validate&&!t.resolver&&!W(r.errors,x)&&!q._f.deps||F1(xt,W(r.touchedFields,x),r.isSubmitted,ee,H),$s=il(x,a,xt);ke(i,x,Nt),xt?(!T||!T.readOnly)&&(q._f.onBlur&&q._f.onBlur(C),c&&c(0)):q._f.onChange&&q._f.onChange(C);const ln=P(x,Nt,xt),nt=!Je(ln)||$s;if(!xt&&g.state.next({name:x,type:C.type,values:qe(i)}),pr)return(f.isValid||y.isValid)&&(t.mode==="onBlur"?xt&&v():xt||v()),nt&&g.state.next({name:x,...$s?{}:ln});if(!t.resolver&&e.validate&&await V({name:x,eventType:C.type}),!xt&&$s&&g.state.next({...r}),t.resolver){const{errors:bt}=await N([x]);if(m([x]),Q(Nt),!z){!Je(ln)&&g.state.next(ln);return}const Ct=ih(r.errors,n,x),Zt=ih(bt,n,Ct.name||x);he=Zt.error,x=Zt.name,ze=Je(bt)}else m([x],!0),he=(await lh(q,a.disabled,i,_,t.shouldUseNativeValidation))[x],m([x]),Q(Nt),z&&(he?ze=!1:(f.isValid||y.isValid)&&(ze=await A({fields:n,onlyCheckValid:!0,name:x,eventType:C.type})));z&&(q._f.deps&&(!Array.isArray(q._f.deps)||q._f.deps.length>0)&&Y(q._f.deps),B(x,ze,he,ln))}},F=(C,T)=>{if(W(r.errors,T)&&C.focus)return C.focus(),1},Y=async(C,T={})=>{let x,z;const q=Ki(C);if(t.resolver){const Q=await M(Le(C)?C:q);x=Je(Q),z=C?!q.some(H=>W(Q,H)):x}else C?(z=(await Promise.all(q.map(async Q=>{const H=W(n,Q);return await A({fields:H&&H._f?{[Q]:H}:H,eventType:Er.TRIGGER})}))).every(Boolean),!(!z&&!r.isValid)&&v()):z=x=await A({fields:n,name:C,eventType:Er.TRIGGER});return g.state.next({...!gt(C)||(f.isValid||y.isValid)&&x!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:x}:{},errors:r.errors}),T.shouldFocus&&!z&&Is(n,F,C?q:a.mount),z},K=(C,T)=>{let x={...o.mount?i:s};return T&&(x=Gf(T.dirtyFields?r.dirtyFields:r.touchedFields,x)),Le(C)?x:gt(C)?W(x,C):C.map(z=>W(x,z))},oe=(C,T)=>({invalid:!!W((T||r).errors,C),isDirty:!!W((T||r).dirtyFields,C),error:W((T||r).errors,C),isValidating:!!W(r.validatingFields,C),isTouched:!!W((T||r).touchedFields,C)}),Se=C=>{const T=C?Ki(C):void 0;T==null||T.forEach(x=>Qe(r.errors,x)),T?T.forEach(x=>{g.state.next({name:x,errors:r.errors})}):g.state.next({errors:{}})},Ae=(C,T,x)=>{const z=(W(n,C,{_f:{}})._f||{}).ref,q=W(r.errors,C)||{},{ref:Q,message:H,type:ee,...he}=q;ke(r.errors,C,{...he,...T,ref:z}),g.state.next({name:C,errors:r.errors,isValid:!1}),x&&x.shouldFocus&&z&&z.focus&&z.focus()},ie=(C,T)=>pt(C)?g.state.subscribe({next:x=>"values"in x&&C(x.values||J(void 0,T),x)}):J(C,T,!0),ne=C=>g.state.subscribe({next:T=>{if(L1(C.name,T.name,C.exact)&&M1(T,C.formState||f,to,C.reRenderRoot)){const x={...i};C.callback({values:x,...r,...T,defaultValues:s})}}}).unsubscribe,de=C=>(o.mount=!0,y={...y,...C.formState},ne({...C,formState:{...u,...C.formState}})),je=(C,T={})=>{for(const x of C?Ki(C):a.mount)a.mount.delete(x),a.array.delete(x),T.keepValue||(Qe(n,x),Qe(i,x)),!T.keepError&&Qe(r.errors,x),!T.keepDirty&&Qe(r.dirtyFields,x),!T.keepTouched&&Qe(r.touchedFields,x),!T.keepIsValidating&&Qe(r.validatingFields,x),!t.shouldUnregister&&!T.keepDefaultValue&&Qe(s,x);g.state.next({values:qe(i)}),g.state.next({...r,...T.keepDirty?{isDirty:j()}:{}}),!T.keepIsValid&&v()},Ke=({disabled:C,name:T})=>{if(At(C)&&o.mount||C||a.disabled.has(T)){const q=a.disabled.has(T)!==!!C;C?a.disabled.add(T):a.disabled.delete(T),q&&o.mount&&!o.action&&v()}},Pe=(C,T={})=>{let x=W(n,C);const z=At(T.disabled)||At(t.disabled),q=!a.registerName.has(C)&&x&&x._f&&!x._f.mount;return ke(n,C,{...x||{},_f:{...x&&x._f?x._f:{ref:{name:C}},name:C,mount:!0,...T}}),a.mount.add(C),x&&!q?Ke({disabled:At(T.disabled)?T.disabled:t.disabled,name:C}):k(C,!0,T.value),{...z?{disabled:T.disabled||t.disabled}:{},...t.progressive?{required:!!T.required,min:Ds(T.min),max:Ds(T.max),minLength:Ds(T.minLength),maxLength:Ds(T.maxLength),pattern:Ds(T.pattern)}:{},name:C,onChange:X,onBlur:X,ref:Q=>{if(Q){a.registerName.add(C),Pe(C,T),a.registerName.delete(C),x=W(n,C);const H=Le(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,ee=I1(H),he=x._f.refs||[];if(ee?he.find(ze=>ze===H):H===x._f.ref)return;ke(n,C,{_f:{...x._f,...ee?{refs:[...he.filter(rl),H,...Array.isArray(W(s,C))?[{}]:[]],ref:{type:H.type,name:C}}:{ref:H}}}),k(C,!1,void 0,H)}else x=W(n,C,{}),x._f&&(x._f.mount=!1),(t.shouldUnregister||T.shouldUnregister)&&!(Bf(a.array,C)&&o.action)&&a.unMount.add(C)}}},te=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&Is(n,F,a.mount),Ye=C=>{At(C)&&(g.state.next({disabled:C}),Is(n,(T,x)=>{const z=W(n,x);z&&(T.disabled=z._f.disabled||C,Array.isArray(z._f.refs)&&z._f.refs.forEach(q=>{q.disabled=z._f.disabled||C}))},0,!1))},vt=(C,T)=>async x=>{let z;x&&(x.preventDefault&&x.preventDefault(),x.persist&&x.persist());let q=qe(i);if(g.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:H}=await N();m(),r.errors=Q,q=qe(H)}else await A({fields:n,eventType:Er.SUBMIT});if(a.disabled.size)for(const Q of a.disabled)Qe(q,Q);if(Qe(r.errors,Vf),Je(r.errors)){g.state.next({errors:{}});try{await C(q,x)}catch(Q){z=Q}}else T&&await T({...r.errors},x),te(),setTimeout(te);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Je(r.errors)&&!z,submitCount:r.submitCount+1,errors:r.errors}),z)throw z},St=(C,T={})=>{W(n,C)&&(Le(T.defaultValue)?G(C,qe(W(s,C))):(G(C,T.defaultValue),ke(s,C,qe(T.defaultValue))),T.keepTouched||Qe(r.touchedFields,C),T.keepDirty||(Qe(r.dirtyFields,C),r.isDirty=T.defaultValue?j(C,qe(W(s,C))):j()),T.keepError||(Qe(r.errors,C),f.isValid&&v()),g.state.next({...r}))},Ge=(C,T={})=>{const x=C?qe(C):s,z=qe(x),q=Je(C),Q=z;if(T.keepDefaultValues||(s=x),!T.keepValues){if(T.keepDirtyValues){const H=new Set([...a.mount,...Object.keys(Qr(s,i))]);for(const ee of Array.from(H)){const he=W(r.dirtyFields,ee),ze=W(i,ee),Nt=W(Q,ee);he&&!Le(ze)?ke(Q,ee,ze):!he&&!Le(Nt)&&G(ee,Nt)}}else{if(qi&&Le(C))for(const H of a.mount){const ee=W(n,H);if(ee&&ee._f){const he=Array.isArray(ee._f.refs)?ee._f.refs[0]:ee._f.ref;if(Gi(he)){const ze=he.closest("form");if(ze){ze.reset();break}}}}if(T.keepFieldsRef)for(const H of a.mount)G(H,W(Q,H));else n={}}if(t.shouldUnregister){if(i=T.keepDefaultValues?qe(s):{},T.keepFieldsRef)for(const H of a.mount)ke(i,H,W(Q,H))}else i=qe(Q);g.array.next({values:{...Q}}),g.state.next({values:{...Q}})}a={mount:T.keepDirtyValues?a.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!f.isValid||!!T.keepIsValid||!!T.keepDirtyValues||!t.shouldUnregister&&!Je(Q),o.watch=!!t.shouldUnregister,o.keepIsValid=!!T.keepIsValid,o.action=!1,T.keepErrors||(r.errors={}),g.state.next({submitCount:T.keepSubmitCount?r.submitCount:0,isDirty:q?!1:T.keepDirty?r.isDirty:T.keepValues?j():!!(T.keepDefaultValues&&!Pt(C,s)),isSubmitted:T.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:q?{}:T.keepDirtyValues?T.keepDefaultValues&&i?Qr(s,i):r.dirtyFields:T.keepDefaultValues&&C?Qr(s,C):T.keepDirty?r.dirtyFields:{},touchedFields:T.keepTouched?r.touchedFields:{},errors:T.keepErrors?r.errors:{},isSubmitSuccessful:T.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},rt=(C,T)=>Ge(pt(C)?C(i):C,{...t.resetOptions,...T}),mt=(C,T={})=>{const x=W(n,C),z=x&&x._f;if(z){const q=z.refs?z.refs[0]:z.ref;q.focus&&setTimeout(()=>{q.focus(),T.shouldSelect&&pt(q.select)&&q.select()})}},to=C=>{r={...r,...C}},ro={control:{register:Pe,unregister:je,getFieldState:oe,handleSubmit:vt,setError:Ae,_subscribe:ne,_runSchema:N,_updateIsValidating:m,_focusError:te,_getWatch:J,_getDirty:j,_setValid:v,_setFieldArray:S,_setDisabledField:Ke,_setErrors:O,_getFieldArray:se,_reset:Ge,_resetDefaultValues:()=>pt(t.defaultValues)&&t.defaultValues().then(C=>{rt(C,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:U,_disableForm:Ye,_subjects:g,_proxyFormState:f,get _fields(){return n},get _formValues(){return i},get _state(){return o},set _state(C){o=C},get _defaultValues(){return s},get _names(){return a},set _names(C){a=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:de,trigger:Y,register:Pe,handleSubmit:vt,watch:ie,setValue:G,setValues:L,getValues:K,reset:rt,resetField:St,resetDefaultValues:(C,T={})=>{if(s=qe(C),!T.keepDirty){const x=Qr(s,i);r.dirtyFields=x,r.isDirty=!Je(x)}T.keepIsValid||v(),g.state.next({...r,defaultValues:s})},clearErrors:Se,unregister:je,setError:Ae,setFocus:mt,getFieldState:oe};return{...ro,formControl:ro}}function U1(e={}){const t=h.useRef(void 0),r=h.useRef(void 0),n=h.useRef(e.formControl),[s,i]=h.useState(()=>({...qe(ch),isLoading:pt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:pt(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&n.current!==e.formControl)if(n.current=e.formControl,e.formControl)t.current={...e.formControl,formState:s},e.defaultValues&&!pt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...c}=B1(e);t.current={...c,formState:s}}const o=t.current.control;return o._options=e,Ra(()=>{const a=o._subscribe({formState:o._proxyFormState,callback:()=>i({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return i(c=>({...c,isReady:!0})),o._formState.isReady=!0,a},[o]),h.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),h.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),h.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),h.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),h.useEffect(()=>{if(o._proxyFormState.isDirty){const a=o._getDirty();a!==s.isDirty&&o._subjects.state.next({isDirty:a})}},[o,s.isDirty]),h.useEffect(()=>{var a;e.values&&!Pt(e.values,r.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((a=o._options.resetOptions)===null||a===void 0)&&a.keepIsValid||o._setValid(),r.current=e.values,i(c=>({...c}))):o._resetDefaultValues()},[o,e.values]),h.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=h.useMemo(()=>qf(s,o),[o,s]),t.current}async function uh(e){var r,n;return(n=(r=(await Me.get(`/api/framework/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.framework}function dh(e,t){const r=vo({queryKey:["framework",e],queryFn:()=>uh(e),enabled:!!e,staleTime:3e5}),n=t==null?void 0:t[0],s=vo({queryKey:["framework",n],queryFn:()=>uh(n),enabled:!!n,staleTime:5*60*1e3}),i=s.data?[s.data]:[];return{organisationFramework:r.data,targetFrameworks:i,isLoading:r.isLoading||s.isLoading}}async function V1(e){var r,n;return(n=(r=(await Me.get(`/api/channel/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.channel}function z1(e){var r,n,s,i,o,a;const t=vo({queryKey:["channel",e],queryFn:()=>V1(e),enabled:!!e,staleTime:6e5});return{identifier:((r=t.data)==null?void 0:r.identifier)??e??"",name:(n=t.data)==null?void 0:n.name,frameworks:(s=t.data)==null?void 0:s.frameworks,collectionAdditionalCategories:(i=t.data)==null?void 0:i.collectionAdditionalCategories,contentAdditionalCategories:(o=t.data)==null?void 0:o.contentAdditionalCategories,defaultLicense:(a=t.data)==null?void 0:a.defaultLicense,isLoading:t.isLoading}}const q1={"First Section":{title:"Basic Information",description:"Core details that define the content identity."},"Second Section":{title:"Categorisation",description:"Category and type classification for the content."},"Organisation Framework Terms":{title:"Curriculum",description:"Framework-aligned categorisation."},"Target Framework Terms":{title:"Target Audience",description:"Curriculum alignment for the intended learners."},"Fourth Section":{title:"Licensing & Attribution",description:"Copyright and usage rights information."}},fh={"First Section":"details","Second Section":"details","Organisation Framework Terms":"details","Target Framework Terms":"audience","Fourth Section":"licensing"},H1={name:"details",description:"details",keywords:"details",appIcon:"details",primaryCategory:"details",additionalCategories:"details",board:"details",subject:"details",subjectIds:"details",medium:"details",framework:"details",topicsIds:"details",topic:"details",audience:"audience",targetBoardIds:"audience",targetMediumIds:"audience",targetGradeLevelIds:"audience",targetSubjectIds:"audience",gradeLevel:"audience",creator:"licensing",author:"licensing",attributions:"licensing",license:"licensing",copyright:"licensing",copyrightYear:"licensing"},hh={board:"board",medium:"medium",gradeLevel:"gradeLevel",subject:"subject",subjectIds:"subject",topicsIds:"topic",topic:"topic",targetBoardIds:"board",targetMediumIds:"medium",targetGradeLevelIds:"gradeLevel",targetSubjectIds:"subject"},ph=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds"]);function W1(e,t,r,n){if(!(e!=null&&e.length))return J1(t,n,r);const s=new Set;return e.filter(i=>{if(n&&(i.code==="dialCode"||i.code==="dialcode")||i.visible===!1)return!1;const o=i.code;return s.has(o)?!1:(s.add(o),!0)}).map(i=>{const o=i.code??"",a=Y1(i),c=R1(i,r,t),d=t[o],u=gh(d,a);return{code:o,label:i.label??o,inputType:a,required:!!(i.required===!0||Array.isArray(i.validations)&&i.validations.some(f=>f.type==="required")),editable:i.editable!==!1,placeholder:i.placeholder,maxLength:i.maxLength,options:G1(c,u,a,r),depends:i.depends,tab:Q1(i),section:i.section,defaultValue:i.defaultValue??i.default,currentValue:u}})}function K1(e){var n,s,i;const t=new Map,r=o=>o==null?void 0:o.forEach(a=>{a.identifier&&t.set(a.identifier,a.name),a.name&&t.set(a.name,a.name)});return(s=(n=e.organisationFramework)==null?void 0:n.categories)==null||s.forEach(o=>r(o.terms)),(i=e.targetFrameworks)==null||i.forEach(o=>{var a;return(a=o.categories)==null?void 0:a.forEach(c=>r(c.terms))}),t}function G1(e,t,r,n){if(r!=="select"&&r!=="multiselect"&&r!=="radio")return e;const s=Array.isArray(t)?t:t!=null&&t!==""?[t]:[];if(!s.length)return e;const i=e?[...e]:[],o=new Set(i.map(c=>c.value)),a=K1(n);for(const c of s){const d=String(c);o.has(d)||(i.push({label:a.get(d)??d,value:d}),o.add(d))}return i}function Q1(e){const t=e.section;if(t&&fh[t])return fh[t];const r=e.code??"";return H1[r]??"details"}function gh(e,t){const r=new Set(["multiselect","chips","keywords","tagsinput"]),n=new Set(["select","text","textarea","radio","datepicker","datetime","license"]);return r.has(t)?Array.isArray(e)?e:e!=null&&e!==""?[e]:[]:n.has(t)?Array.isArray(e)?e[0]??"":e??"":e}function Y1(e){const t=(e.inputType??e.dataType??"").toLowerCase(),n=(e.dataType??"").toLowerCase()==="list";return t==="select"||t==="framework"?"select":t==="frameworkcategoryselect"?n?"multiselect":"select":t==="topicselector"?"chips":t==="multiselect"||t==="multi-select"?"multiselect":t==="keywords"||e.code==="keywords"||e.code==="topic"||e.code==="topicsIds"?"chips":t==="radio"?"radio":e.code==="appIcon"||t==="appicon"?"appIcon":t==="textarea"||e.code==="description"?"textarea":t==="datepicker"||t==="date"?"datepicker":t==="datetime"||t==="datetime-local"?"datetime":t==="tagsinput"?"tagsinput":t==="nestedselect"||t==="nested-select"?n?"multiselect":"select":t==="license"?"license":t==="dialcode"||t==="dial-code"?"dialcode":"text"}function R1(e,t,r){var a;const n=e.range;if(Array.isArray(n)&&n.length)return typeof n[0]=="string"?n.map(c=>({label:c,value:c})):n.map(c=>({label:c.name,value:c.identifier}));const s=e.enum;if(s!=null&&s.length)return s.map(c=>({label:c,value:c}));const i=e.code??"";if(i==="framework")return t.orgFrameworks;if(i==="additionalCategories")return(a=t.channelAdditionalCategories)==null?void 0:a.map(c=>({label:c,value:c}));const o=e.sourceCategory??hh[i];if(o)return yh(i,o,e,t,r)}function yh(e,t,r,n,s){var f,y,g,_,p;const i=ph.has(e)||r.output==="identifier"||typeof r.section=="string"&&r.section.includes("Target"),o=v=>({label:v.name,value:i?v.identifier:v.name}),a=(y=(f=n.organisationFramework)==null?void 0:f.categories)==null?void 0:y.find(v=>v.code===t),c=(p=(_=(g=n.targetFrameworks)==null?void 0:g[0])==null?void 0:_.categories)==null?void 0:p.find(v=>v.code===t);let d=(ph.has(e)?c==null?void 0:c.terms:a==null?void 0:a.terms)??(c==null?void 0:c.terms)??(a==null?void 0:a.terms)??[];const u=r.depends;if(u!=null&&u.length){const v=u.flatMap(m=>{const b=s[m];return Array.isArray(b)?b:b!=null&&b!==""?[b]:[]}).map(String);if(v.length){const m=d.filter(b=>{const S=b.associations;return!S||!S.length?!0:S.some(w=>v.includes(w.identifier)||v.includes(w.code)||v.includes(w.name))});m.length&&(d=m)}}return d.map(o)}function kn(e,t){const r=hh[e];if(r)return yh(e,r,{},t,{})}const X1=[{label:"Student",value:"Student"},{label:"Teacher",value:"Teacher"},{label:"Administrator",value:"Administrator"},{label:"Parent",value:"Parent"},{label:"Other",value:"Other"}],Z1=[{label:"CC BY 4.0",value:"CC BY 4.0"},{label:"CC BY-SA 4.0",value:"CC BY-SA 4.0"},{label:"CC BY-ND 4.0",value:"CC BY-ND 4.0"},{label:"CC BY-NC 4.0",value:"CC BY-NC 4.0"},{label:"CC BY-NC-SA 4.0",value:"CC BY-NC-SA 4.0"},{label:"CC BY-NC-ND 4.0",value:"CC BY-NC-ND 4.0"},{label:"CC0 1.0",value:"CC0 1.0"},{label:"All Rights Reserved",value:"All Rights Reserved"}];function at(e,t,r){return gh(e[t],r)}function J1(e,t,r){const n=[{code:"name",label:"Title",inputType:"text",required:!0,editable:!0,tab:"details",section:"First Section",maxLength:200,currentValue:at(e,"name","text")},{code:"description",label:"Description",inputType:"textarea",editable:!0,tab:"details",section:"First Section",maxLength:2e3,currentValue:at(e,"description","textarea")},{code:"keywords",label:"Keywords",inputType:"chips",editable:!0,tab:"details",section:"First Section",currentValue:at(e,"keywords","chips")}];return t&&(n.push({code:"primaryCategory",label:"Category",inputType:"select",editable:!1,tab:"details",section:"Second Section",currentValue:at(e,"primaryCategory","select"),options:[{label:"Course",value:"Course"},{label:"Digital Textbook",value:"Digital Textbook"},{label:"Teacher Resource",value:"Teacher Resource"},{label:"Learning Resource",value:"Learning Resource"},{label:"Practice Question Set",value:"Practice Question Set"}]},{code:"additionalCategories",label:"Additional Category",inputType:"multiselect",editable:!0,tab:"details",section:"Second Section",currentValue:at(e,"additionalCategories","multiselect"),options:[{label:"Lesson Plan",value:"Lesson Plan"},{label:"Textbook",value:"Textbook"},{label:"TV Lesson",value:"TV Lesson"},{label:"Revision Material",value:"Revision Material"}]},{code:"board",label:"Course Type",inputType:"select",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:kn("board",r),currentValue:at(e,"board","select")},{code:"subject",label:"Subjects covered in the course",inputType:"multiselect",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:kn("subject",r),currentValue:at(e,"subject","multiselect")}),n.push({code:"audience",label:"Audience Type",inputType:"multiselect",editable:!0,tab:"audience",section:"Target Framework Terms",options:X1,currentValue:at(e,"audience","multiselect")},{code:"targetBoardIds",label:"Board/Syllabus of the audience",inputType:"select",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",options:kn("targetBoardIds",r),currentValue:at(e,"targetBoardIds","select")},{code:"targetMediumIds",label:"Medium(s) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetBoardIds"],options:kn("targetMediumIds",r),currentValue:at(e,"targetMediumIds","multiselect")},{code:"targetGradeLevelIds",label:"Class(es) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetMediumIds"],options:kn("targetGradeLevelIds",r),currentValue:at(e,"targetGradeLevelIds","multiselect")},{code:"targetSubjectIds",label:"Subject(s) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetGradeLevelIds"],options:kn("targetSubjectIds",r),currentValue:at(e,"targetSubjectIds","multiselect")}),n.push({code:"creator",label:"Author",inputType:"text",editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"creator","text")},{code:"attributions",label:"Attributions",inputType:"text",editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"attributions","text")},{code:"copyright",label:"Copyright",inputType:"text",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"copyright","text")},{code:"copyrightYear",label:"Copyright Year",inputType:"text",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"copyrightYear","text")},{code:"license",label:"License",inputType:"select",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",options:Z1,currentValue:at(e,"license","select")})),n}function eO(e,t){const{watch:r,setValue:n}=e;h.useEffect(()=>{const s=r((i,{name:o})=>{o&&t.forEach(a=>{var c;(c=a.depends)!=null&&c.includes(o)&&n(a.code,a.inputType==="multiselect"||a.inputType==="chips"?[]:"",{shouldDirty:!0})})});return()=>s.unsubscribe()},[r,n,t])}const An={section:"_section_ylgu8_1",header:"_header_ylgu8_11",title:"_title_ylgu8_17",description:"_description_ylgu8_24",divider:"_divider_ylgu8_30",fields:"_fields_ylgu8_36"},tO=({title:e,description:t,children:r})=>l.jsxs("div",{className:An.section,children:[l.jsxs("div",{className:An.header,children:[l.jsx("h3",{className:An.title,children:e}),t&&l.jsx("p",{className:An.description,children:t})]}),l.jsx("hr",{className:An.divider}),l.jsx("div",{className:An.fields,children:r})]}),$={field:"_field_1s288_1",fullWidth:"_fullWidth_1s288_7",label:"_label_1s288_11",required:"_required_1s288_19",input:"_input_1s288_24",textarea:"_textarea_1s288_45",inputError:"_inputError_1s288_50",error:"_error_1s288_54",selectBtn:"_selectBtn_1s288_59",selectOpen:"_selectOpen_1s288_83",placeholder:"_placeholder_1s288_87",selectedVal:"_selectedVal_1s288_91",chevronUp:"_chevronUp_1s288_95",dropdown:"_dropdown_1s288_100",option:"_option_1s288_116",optionSelected:"_optionSelected_1s288_134",noOpts:"_noOpts_1s288_139",chipGroup:"_chipGroup_1s288_146",chipInput:"_chipInput_1s288_158",addChipBtn:"_addChipBtn_1s288_167",radioGroup:"_radioGroup_1s288_184",radioLabel:"_radioLabel_1s288_191",iconWrap:"_iconWrap_1s288_199",iconPreview:"_iconPreview_1s288_214",iconPlaceholder:"_iconPlaceholder_1s288_220",removeIconBtn:"_removeIconBtn_1s288_233",tagChip:"_tagChip_1s288_252",tagChipRemove:"_tagChipRemove_1s288_264",nestedSelectRow:"_nestedSelectRow_1s288_278",dialcodeRow:"_dialcodeRow_1s288_287",validateBtn:"_validateBtn_1s288_293",dialcodeValid:"_dialcodeValid_1s288_315",dialcodeSpinner:"_dialcodeSpinner_1s288_325"},vh=({name:e,label:t,required:r,disabled:n,multiline:s,maxLength:i,placeholder:o})=>{const{register:a,formState:{errors:c}}=Yt(),d=c[e],u={required:r?`${t} is required`:!1,maxLength:i?{value:i,message:`Max ${i} characters`}:void 0};return l.jsxs("div",{className:[$.field,s?$.fullWidth:""].join(" "),children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),s?l.jsx("textarea",{id:e,className:[$.input,$.textarea,d?$.inputError:""].join(" "),disabled:n,placeholder:o,rows:3,...a(e,u)}):l.jsx("input",{id:e,type:"text",className:[$.input,d?$.inputError:""].join(" "),disabled:n,placeholder:o,...a(e,u)}),d&&l.jsx("span",{className:$.error,children:String(d.message)})]})},rO=({name:e,label:t,options:r,required:n,disabled:s})=>{var p;const[i,o]=h.useState(!1),a=h.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Yt(),y=d(e),g=((p=r.find(v=>v.value===y))==null?void 0:p.label)??"Select…",_=f[e];return h.useEffect(()=>{if(!i)return;const v=m=>{var b;(b=a.current)!=null&&b.contains(m.target)||o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[i]),l.jsxs("div",{className:$.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[$.selectBtn,_?$.inputError:"",i?$.selectOpen:""].join(" "),onClick:()=>o(v=>!v),children:[l.jsx("span",{className:y?$.selectedVal:$.placeholder,children:g}),l.jsx(ls,{size:14,className:i?$.chevronUp:""})]}),i&&l.jsxs("div",{className:$.dropdown,children:[r.map(v=>l.jsxs("button",{type:"button",className:[$.option,y===v.value?$.optionSelected:""].join(" "),onClick:()=>{u(e,v.value,{shouldDirty:!0,shouldValidate:!0}),o(!1)},children:[l.jsx("span",{children:v.label}),y===v.value&&l.jsx(hn,{size:13})]},v.value)),!r.length&&l.jsx("span",{className:$.noOpts,children:"No options"})]}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},nO=({name:e,label:t,options:r,required:n,disabled:s})=>{const[i,o]=h.useState(!1),a=h.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Yt(),y=d(e)??[],g=f[e],_=y.length?`${y.length} selected`:"Select…";h.useEffect(()=>{if(!i)return;const v=m=>{var b;(b=a.current)!=null&&b.contains(m.target)||o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[i]);const p=v=>{const m=y.includes(v)?y.filter(b=>b!==v):[...y,v];u(e,m,{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:$.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[$.selectBtn,g?$.inputError:"",i?$.selectOpen:""].join(" "),onClick:()=>o(v=>!v),children:[l.jsx("span",{className:y.length?$.selectedVal:$.placeholder,children:_}),l.jsx(ls,{size:14,className:i?$.chevronUp:""})]}),i&&l.jsxs("div",{className:$.dropdown,children:[r.map(v=>l.jsxs("button",{type:"button",className:[$.option,y.includes(v.value)?$.optionSelected:""].join(" "),onClick:()=>p(v.value),children:[l.jsx(hn,{size:13,style:{opacity:y.includes(v.value)?1:0}}),l.jsx("span",{children:v.label})]},v.value)),!r.length&&l.jsx("span",{className:$.noOpts,children:"No options"})]}),g&&l.jsx("span",{className:$.error,children:String(g.message)})]})},sO=({name:e,label:t,required:r,disabled:n,placeholder:s="Add…"})=>{const[i,o]=h.useState(""),[a,c]=h.useState(!1),d=h.useRef(null),{watch:u,setValue:f,formState:{errors:y}}=Yt(),g=u(e)??[],_=y[e],p=()=>{const m=i.trim();m&&!g.includes(m)&&f(e,[...g,m],{shouldDirty:!0}),o(""),c(!1)},v=m=>f(e,g.filter(b=>b!==m),{shouldDirty:!0});return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:$.chipGroup,children:[g.map(m=>l.jsxs("span",{className:"sbx-chip filled",children:[m,!n&&l.jsx("button",{type:"button",className:"sbx-chip-remove",onClick:()=>v(m),"aria-label":`Remove ${m}`,children:"×"})]},m)),!n&&(a?l.jsx("input",{ref:d,autoFocus:!0,className:$.chipInput,value:i,onChange:m=>o(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),p()),m.key==="Escape"&&(o(""),c(!1))},onBlur:p,placeholder:s}):l.jsxs("button",{type:"button",className:$.addChipBtn,onClick:()=>{c(!0),setTimeout(()=>{var m;return(m=d.current)==null?void 0:m.focus()},50)},children:[l.jsx(cs,{size:12})," Add"]}))]}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},iO=({name:e,label:t,options:r,required:n,disabled:s})=>{const{register:i,formState:{errors:o}}=Yt(),a=o[e];return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("div",{className:$.radioGroup,children:r.map(c=>l.jsxs("label",{className:$.radioLabel,children:[l.jsx("input",{type:"radio",value:c.value,disabled:s,...i(e,{required:n?`${t} is required`:!1})}),c.label]},c.value))}),a&&l.jsx("span",{className:$.error,children:String(a.message)})]})};async function oO(e,t,r,n){var o,a;const i=(a=(o=(await Me.post("/action/asset/v1/create",{request:{asset:{primaryCategory:"asset",language:["English"],code:crypto.randomUUID(),name:e,mediaType:"image",mimeType:t,createdBy:r,creator:null,channel:n,keywords:""}}})).data)==null?void 0:o.result)==null?void 0:a.node_id;if(!i)throw new Error("Asset creation failed: no node_id returned");return i}async function aO(e,t){var s,i;const n=(i=(s=(await Me.post(`/action/content/v3/upload/url/${e}`,{request:{content:{fileName:t}}})).data)==null?void 0:s.result)==null?void 0:i.pre_signed_url;if(!n)throw new Error("Pre-signed URL fetch failed");return n}async function lO(e,t,r={}){const n=await fetch(e,{method:"PUT",body:t,headers:{"x-ms-blob-type":"BlockBlob","Content-Type":"application/octet-stream",...r}});if(!n.ok)throw new Error(`Blob upload failed: ${n.status} ${n.statusText}`)}async function cO(e,t,r){var o,a;const n=new FormData;n.append("fileUrl",t),n.append("mimeType",r);const i=(a=(o=(await Me.post(`/action/asset/v1/upload/${e}`,n,{params:{enctype:"multipart/form-data",processData:!1,contentType:!1,cache:!1}})).data)==null?void 0:o.result)==null?void 0:a.content_url;if(!i)throw new Error("Asset finalize failed: no content_url returned");return i}const fe={overlay:"_overlay_ga6eh_1",modal:"_modal_ga6eh_12",header:"_header_ga6eh_24",title:"_title_ga6eh_33",closeBtn:"_closeBtn_ga6eh_39",tabs:"_tabs_ga6eh_57",tab:"_tab_ga6eh_57",activeTab:"_activeTab_ga6eh_83",body:"_body_ga6eh_88",searchWrap:"_searchWrap_ga6eh_99",searchIcon:"_searchIcon_ga6eh_104",searchInput:"_searchInput_ga6eh_113",grid:"_grid_ga6eh_132",imgCell:"_imgCell_ga6eh_148",imgCellSelected:"_imgCellSelected_ga6eh_166",thumb:"_thumb_ga6eh_171",noThumb:"_noThumb_ga6eh_177",checkBadge:"_checkBadge_ga6eh_183",loadMoreBtn:"_loadMoreBtn_ga6eh_198",loadingRow:"_loadingRow_ga6eh_220",empty:"_empty_ga6eh_230",spinner:"_spinner_ga6eh_237",uploadArea:"_uploadArea_ga6eh_247",dropZone:"_dropZone_ga6eh_256",uploadIcon:"_uploadIcon_ga6eh_277",dropText:"_dropText_ga6eh_281",dropSubtext:"_dropSubtext_ga6eh_288",uploadPreview:"_uploadPreview_ga6eh_294",hiddenInput:"_hiddenInput_ga6eh_301",fileName:"_fileName_ga6eh_305",errorText:"_errorText_ga6eh_311",footer:"_footer_ga6eh_318",cancelBtn:"_cancelBtn_ga6eh_328",confirmBtn:"_confirmBtn_ga6eh_345"},mh=18,bh=({nodeId:e,currentValue:t,onSelect:r,onClose:n})=>{const[s,i]=h.useState("my"),[o,a]=h.useState(""),[c,d]=h.useState([]),[u,f]=h.useState(0),[y,g]=h.useState(!1),[_,p]=h.useState(null),[v,m]=h.useState(0),[b,S]=h.useState(null),[w,O]=h.useState(""),[I,k]=h.useState(!1),[P,B]=h.useState(""),N=h.useRef(null),M=ce(F=>{var Y,K;return((K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.channel)??""}),V=ce(F=>{var Y,K;return((K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.uid)??""}),A=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.cloudStorage)==null?void 0:oe.presigned_headers)??{}}),U=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.config)==null?void 0:K.assetConfig)==null?void 0:oe.size)??1*1024*1024}),j=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.config)==null?void 0:K.assetConfig)==null?void 0:oe.accepted)??"image/png,image/jpeg"}),J=h.useCallback(async(F,Y,K=!1)=>{var oe;g(!0);try{const Se={status:["Live"],mediaType:["image"],mimeType:["image/png","image/jpeg","image/jpg","image/gif","image/svg+xml"]};s==="my"&&V&&(Se.createdBy=V),M&&(Se.channel=M);const ie=((oe=(await Me.post("/action/composite/v3/search",{request:{filters:Se,query:F,limit:mh,offset:Y,sort_by:{createdOn:"desc"},fields:["identifier","name","appIcon","artifactUrl","downloadUrl"]}},{headers:{"X-Source":"web"}})).data)==null?void 0:oe.result)??{},ne=ie.content??[];f(ie.count??0),d(de=>K?[...de,...ne]:ne)}catch{}finally{g(!1)}},[s,V,M]);h.useEffect(()=>{s!=="upload"&&(d([]),m(0),J(o,0))},[s]);const se=h.useRef(),ge=F=>{a(F),clearTimeout(se.current),se.current=setTimeout(()=>{d([]),m(0),J(F,0)},400)},_e=()=>{const F=v+mh;m(F),J(o,F,!0)},we=()=>{const F=(_==null?void 0:_.artifactUrl)??(_==null?void 0:_.appIcon)??(_==null?void 0:_.downloadUrl)??"";F&&r(F)};h.useEffect(()=>()=>{w&&URL.revokeObjectURL(w)},[w]);const G=F=>{var oe;const Y=(oe=F.target.files)==null?void 0:oe[0];if(F.target.value="",!Y)return;const K=j.split(",").map(Se=>Se.trim());if(!K.includes(Y.type)){const Se=K.map(Ae=>Ae.replace("image/","").toUpperCase()).join(", ");B(`Only ${Se} files are accepted.`);return}if(Y.size>U){const Se=(U/1048576).toFixed(0);B(`Image must be under ${Se} MB.`);return}w&&URL.revokeObjectURL(w),S(Y),O(URL.createObjectURL(Y)),B("")},L=async()=>{if(b){k(!0),B("");try{const F=await oO(b.name.split(".").slice(0,-1).join(".")||b.name,b.type,V,M),Y=await aO(F,b.name);await lO(Y,b,A);const K=Y.split("?")[0],oe=await cO(F,K,b.type);r(oe)}catch(F){B(F instanceof Error?F.message:"Upload failed.")}finally{k(!1)}}},X=c.length<u;return l.jsx("div",{className:fe.overlay,role:"dialog","aria-modal":"true","aria-label":"Select App Icon",children:l.jsxs("div",{className:fe.modal,children:[l.jsxs("div",{className:fe.header,children:[l.jsx("span",{className:fe.title,children:"Select App Icon"}),l.jsx("button",{className:fe.closeBtn,onClick:n,"aria-label":"Close",children:l.jsx(jr,{size:18})})]}),l.jsxs("div",{className:fe.tabs,role:"tablist",children:[l.jsx("button",{role:"tab","aria-selected":s==="my",className:`${fe.tab} ${s==="my"?fe.activeTab:""}`,onClick:()=>i("my"),children:"My Images"}),l.jsx("button",{role:"tab","aria-selected":s==="all",className:`${fe.tab} ${s==="all"?fe.activeTab:""}`,onClick:()=>i("all"),children:"All Images"}),l.jsxs("button",{role:"tab","aria-selected":s==="upload",className:`${fe.tab} ${s==="upload"?fe.activeTab:""}`,onClick:()=>i("upload"),children:[l.jsx(Bc,{size:13,style:{marginRight:4}}),"Upload"]})]}),l.jsx("div",{className:fe.body,children:s!=="upload"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:fe.searchWrap,children:[l.jsx(Vo,{size:14,className:fe.searchIcon}),l.jsx("input",{type:"search",className:fe.searchInput,placeholder:"Search images…",value:o,onChange:F=>ge(F.target.value)})]}),y&&c.length===0?l.jsxs("div",{className:fe.loadingRow,children:[l.jsx(ci,{size:20,className:fe.spinner}),l.jsx("span",{children:"Loading…"})]}):c.length===0?l.jsx("div",{className:fe.empty,children:"No images found"}):l.jsx("div",{className:fe.grid,children:c.map(F=>{const Y=F.appIcon??F.artifactUrl??F.downloadUrl??"",K=(_==null?void 0:_.identifier)===F.identifier;return l.jsxs("button",{type:"button",className:`${fe.imgCell} ${K?fe.imgCellSelected:""}`,onClick:()=>p(F),title:F.name,children:[Y?l.jsx("img",{src:Y,alt:F.name,className:fe.thumb}):l.jsx("div",{className:fe.noThumb,children:"IMG"}),K&&l.jsx("div",{className:fe.checkBadge,children:l.jsx(hn,{size:12})})]},F.identifier)})}),X&&!y&&l.jsx("button",{className:fe.loadMoreBtn,onClick:_e,children:"Load More"}),y&&c.length>0&&l.jsx("div",{className:fe.loadingRow,children:l.jsx(ci,{size:16,className:fe.spinner})})]}):l.jsxs("div",{className:fe.uploadArea,children:[l.jsx("div",{className:fe.dropZone,onClick:()=>{var F;return(F=N.current)==null?void 0:F.click()},onDragOver:F=>F.preventDefault(),onDrop:F=>{F.preventDefault();const Y=F.dataTransfer.files[0];Y&&G({target:{files:[Y],value:""}})},children:w?l.jsx("img",{src:w,alt:"Preview",className:fe.uploadPreview}):l.jsxs(l.Fragment,{children:[l.jsx(Bc,{size:32,className:fe.uploadIcon}),l.jsx("p",{className:fe.dropText,children:"Drag & drop or click to browse"}),l.jsxs("p",{className:fe.dropSubtext,children:[j.split(",").map(F=>F.replace("image/","").toUpperCase()).join(", ")," · max ",(U/(1024*1024)).toFixed(0)," MB"]})]})}),l.jsx("input",{ref:N,type:"file",accept:j,className:fe.hiddenInput,onChange:G}),b&&l.jsx("p",{className:fe.fileName,children:b.name}),P&&l.jsx("p",{className:fe.errorText,children:P})]})}),l.jsxs("div",{className:fe.footer,children:[l.jsx("button",{className:fe.cancelBtn,onClick:n,children:"Cancel"}),s==="upload"?l.jsx("button",{className:fe.confirmBtn,disabled:!b||I,onClick:L,children:I?l.jsxs(l.Fragment,{children:[l.jsx(ci,{size:14,className:fe.spinner})," Uploading…"]}):"Upload & Use"}):l.jsx("button",{className:fe.confirmBtn,disabled:!_,onClick:we,children:"Use Selected"})]})]})})},uO=({name:e,label:t,nodeId:r,required:n,disabled:s})=>{const[i,o]=h.useState(!1),{watch:a,setValue:c,register:d,formState:{errors:u}}=Yt(),f=a(e),y=u[e],g=p=>{c(e,p,{shouldDirty:!0,shouldValidate:!0}),o(!1)},_=()=>{c(e,"",{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...d(e,{required:n?`${t} is required`:!1})}),l.jsx("div",{className:$.iconWrap,role:"button",tabIndex:s?-1:0,"aria-label":"Select app icon",onClick:()=>!s&&o(!0),onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&!s&&o(!0)},children:f?l.jsx("img",{src:f,alt:"App icon",className:$.iconPreview}):l.jsxs("div",{className:$.iconPlaceholder,children:[l.jsx($c,{size:20}),l.jsx("span",{children:"Select icon"})]})}),f&&!s&&l.jsxs("button",{type:"button",className:$.removeIconBtn,onClick:_,"aria-label":"Remove app icon",children:[l.jsx(zo,{size:13}),l.jsx("span",{children:"Remove"})]}),y&&l.jsx("span",{className:$.error,children:String(y.message)}),i&&l.jsx(bh,{nodeId:r,currentValue:f,onSelect:g,onClose:()=>o(!1)})]})},dO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1}});return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{id:e,type:"datetime-local",className:[$.input,o?$.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:i.onChange,onBlur:i.onBlur,ref:i.ref}),o&&l.jsx("span",{className:$.error,children:String(o.message)})]})},fO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:[]}),[a,c]=h.useState(""),d=h.useRef(null),u=i.value??[],f=p=>{const v=p.trim();!v||u.includes(v)||i.onChange([...u,v])},y=p=>{i.onChange(u.filter(v=>v!==p))},g=p=>{p.key==="Enter"||p.key===","?(p.preventDefault(),f(a),c("")):p.key==="Backspace"&&a===""&&u.length>0&&y(u[u.length-1])},_=()=>{a.trim()&&(f(a),c("")),i.onBlur()};return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:[$.chipGroup,o?$.inputError:""].join(" "),onClick:()=>{var p;return!n&&((p=d.current)==null?void 0:p.focus())},style:{cursor:n?"not-allowed":"text"},children:[u.map(p=>l.jsxs("span",{className:$.tagChip,children:[p,!n&&l.jsx("button",{type:"button",className:$.tagChipRemove,onClick:v=>{v.stopPropagation(),y(p)},"aria-label":`Remove ${p}`,children:l.jsx(jr,{size:11})})]},p)),!n&&l.jsx("input",{ref:d,className:$.chipInput,value:a,onChange:p=>c(p.target.value),onKeyDown:g,onBlur:_,placeholder:u.length===0?"Type and press Enter or comma…":"",style:{flexGrow:1,minWidth:120}})]}),o&&l.jsx("span",{className:$.error,children:String(o.message)})]})},hO=({name:e,label:t,levels:r,required:n,disabled:s})=>{const{control:i}=Yt(),{field:o,fieldState:{error:a}}=Wi({name:e,control:i,rules:{required:n?`${t} is required`:!1},defaultValue:{}}),c=o.value??{},d=(u,f,y)=>{const g={};for(let _=0;_<f;_++)g[r[_].code]=c[r[_].code]??"";g[u]=y;for(let _=f+1;_<r.length;_++)g[r[_].code]="";o.onChange(g)};return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("div",{className:$.nestedSelectRow,children:r.map((u,f)=>{const y=f>0&&!c[r[f-1].code];return l.jsxs("div",{className:$.field,style:{flex:1},children:[l.jsx("label",{className:$.label,htmlFor:`${e}_${u.code}`,children:u.label}),l.jsxs("select",{id:`${e}_${u.code}`,className:[$.input,a?$.inputError:""].join(" "),disabled:s||y,value:c[u.code]??"",onChange:g=>d(u.code,f,g.target.value),onBlur:o.onBlur,children:[l.jsx("option",{value:"",children:"Select…"}),u.options.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))]})]},u.code)})}),a&&l.jsx("span",{className:$.error,children:String(a.message)})]})},_h=[{label:"CC BY 4.0",value:"CC BY 4.0"},{label:"CC BY-SA 4.0",value:"CC BY-SA 4.0"},{label:"CC BY-NC 4.0",value:"CC BY-NC 4.0"},{label:"CC BY-NC-SA 4.0",value:"CC BY-NC-SA 4.0"},{label:"CC BY-ND 4.0",value:"CC BY-ND 4.0"},{label:"CC0 1.0 (Public Domain)",value:"CC0 1.0"}],pO=({name:e,label:t,required:r,disabled:n})=>{const[s,i]=h.useState(!1),o=h.useRef(null),{register:a,watch:c,setValue:d,formState:{errors:u}}=Yt(),f=c(e),y=_h.find(p=>p.value===f),g=(y==null?void 0:y.label)??"Select license…",_=u[e];return h.useEffect(()=>{if(!s)return;const p=v=>{var m;(m=o.current)!=null&&m.contains(v.target)||i(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[s]),l.jsxs("div",{className:$.field,ref:o,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...a(e,{required:r?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:n,className:[$.selectBtn,_?$.inputError:"",s?$.selectOpen:""].join(" "),onClick:()=>i(p=>!p),"aria-haspopup":"listbox","aria-expanded":s,children:[l.jsx("span",{className:f?$.selectedVal:$.placeholder,children:g}),l.jsx(ls,{size:14,className:s?$.chevronUp:""})]}),s&&l.jsx("div",{className:$.dropdown,role:"listbox",children:_h.map(p=>l.jsxs("button",{type:"button",role:"option","aria-selected":f===p.value,className:[$.option,f===p.value?$.optionSelected:""].join(" "),onClick:()=>{d(e,p.value,{shouldDirty:!0,shouldValidate:!0}),i(!1)},children:[l.jsx("span",{children:p.label}),f===p.value&&l.jsx(hn,{size:13})]},p.value))}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},gO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:""}),[a,c]=h.useState("idle"),[d,u]=h.useState(""),f=async()=>{const g=(i.value??"").trim();if(!g){c("invalid"),u("Enter a dial code to validate.");return}c("loading"),u("");try{const _=await qb(g),p=_==null?void 0:_.result,v=p==null?void 0:p.dialcodes;Array.isArray(v)&&v.length>0?(c("valid"),u("Dial code is valid.")):(c("invalid"),u("Dial code not found."))}catch{c("invalid"),u("Validation failed. Please try again.")}},y=()=>a==="loading"?l.jsx(ci,{size:16,className:$.dialcodeSpinner}):a==="valid"?l.jsx(Pc,{size:16,color:"var(--sbx-success, #2e7d32)"}):a==="invalid"?l.jsx(Fo,{size:16,color:"var(--sbx-error)"}):null;return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:$.dialcodeRow,children:[l.jsx("input",{id:e,type:"text",className:[$.input,o?$.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:g=>{i.onChange(g),c("idle"),u("")},onBlur:i.onBlur,ref:i.ref,placeholder:"e.g. A1B2C3",style:{flex:1}}),l.jsx("button",{type:"button",className:$.validateBtn,onClick:f,disabled:n||a==="loading","aria-label":"Validate dial code",children:a==="loading"?"Validating…":"Validate"}),y()]}),o&&l.jsx("span",{className:$.error,children:String(o.message)}),!o&&d&&l.jsx("span",{className:a==="valid"?$.dialcodeValid:$.error,children:d})]})},ol={form:"_form_szqex_1",ungrouped:"_ungrouped_szqex_7",noFields:"_noFields_szqex_18"},yO=({nodeMetadata:e,activeTab:t,isRoot:r,isFolder:n,editorMode:s,onFormValueChange:i,onFormStatusChange:o})=>{var ge,_e,we,G;const a=ce(L=>L.editorConfig),c=ce(L=>L.rootFormConfig),d=ce(L=>L.unitFormConfig),{organisationFramework:u,targetFrameworks:f,isLoading:y}=dh((ge=a==null?void 0:a.context)==null?void 0:ge.framework,(_e=a==null?void 0:a.context)==null?void 0:_e.targetFWIds),{frameworks:g,collectionAdditionalCategories:_}=z1((we=a==null?void 0:a.context)==null?void 0:we.channel),p=g==null?void 0:g.map(L=>({label:L.name,value:L.identifier})),v={organisationFramework:u,targetFrameworks:f,orgFrameworks:p,channelAdditionalCategories:_},m=xe(L=>L.selectedNodeId),b=xe(L=>L.treeCache),S=m?b[m]??{}:{},w={...e,...S},O=r?c:d,I=O||(((G=a==null?void 0:a.config.hierarchy)==null?void 0:G.formConfig)??[]),k=W1(I,w,v,r),P=k.filter(L=>L.tab===t&&L.inputType!=="appIcon"),B=U1({mode:"onChange",defaultValues:Object.fromEntries(k.map(L=>{const X=["multiselect","chips","keywords","tagsinput"],F=["nestedselect"];return X.includes(L.inputType)?[L.code,L.currentValue??L.defaultValue??[]]:F.includes(L.inputType)?[L.code,L.currentValue??L.defaultValue??{}]:[L.code,L.currentValue??L.defaultValue??""]}))});eO(B,k);const{updateNode:N}=xe(),M=h.useRef(k);M.current=k;const V=h.useRef(m);V.current=m;const A=h.useRef(i);A.current=i;const U=h.useRef(o);U.current=o,h.useEffect(()=>{B.trigger().then(()=>{const L=B.formState.errors,X=M.current,F=Array.from(new Set(Object.keys(L).map(Y=>{var K;return(K=X.find(oe=>oe.code===Y))==null?void 0:K.tab}).filter(Boolean)));U.current(Object.keys(L).length===0,F)})},[]),h.useEffect(()=>{const L=B.watch((X,{name:F})=>{const Y=V.current;if(!Y)return;const K=M.current,oe=new Set(K.map(ie=>ie.code));if(F&&oe.has(F)){const ie=B.getValues(F);N(Y,{[F]:ie}),A.current({[F]:ie})}else if(!F){const ie=B.getValues(),ne=Object.fromEntries(Object.entries(ie).filter(([de])=>oe.has(de)));Object.keys(ne).length>0&&(N(Y,ne),A.current(ne))}const Se=B.formState.errors,Ae=Array.from(new Set(Object.keys(Se).map(ie=>{var ne;return(ne=K.find(de=>de.code===ie))==null?void 0:ne.tab}).filter(Boolean)));U.current(Object.keys(Se).length===0,Ae)});return()=>L.unsubscribe()},[B]);const j=s!=="edit",J=P.reduce((L,X)=>{const F=L[L.length-1];return F&&F.section===X.section?F.fields.push(X):L.push({section:X.section,fields:[X]}),L},[]),se=L=>{const X={key:L.code,name:L.code,label:L.label,required:L.required,disabled:j||L.editable===!1};switch(L.inputType){case"textarea":return l.jsx(vh,{...X,multiline:!0,maxLength:L.maxLength});case"select":return l.jsx(rO,{...X,options:L.options??[]});case"multiselect":return l.jsx(nO,{...X,options:L.options??[]});case"chips":return l.jsx(sO,{...X});case"radio":return l.jsx(iO,{...X,options:L.options??[]});case"appIcon":return l.jsx(uO,{...X,nodeId:m??""});case"datepicker":case"datetime":return l.jsx(dO,{...X});case"keywords":case"tagsinput":return l.jsx(fO,{...X});case"nestedselect":return l.jsx(hO,{...X,levels:L.levels??[]});case"license":return l.jsx(pO,{...X});case"dialcode":return l.jsx(gO,{...X});default:return l.jsx(vh,{...X,maxLength:L.maxLength})}};return l.jsx(E1,{...B,children:l.jsxs("div",{className:ol.form,children:[J.map((L,X)=>{const F=L.section?q1[L.section]:void 0;return F?l.jsx(tO,{title:F.title,description:F.description,children:L.fields.map(se)},L.section??X):l.jsx("div",{className:ol.ungrouped,children:L.fields.map(se)},X)}),P.length===0&&!y&&l.jsx("p",{className:ol.noFields,children:"No fields configured for this tab."})]})})};function wh(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function vO(e,t){return e.reduce((r,n,s)=>{const i=t.get(n);return i&&(r[s]=i),r},Array(e.length))}function Yi(e){return e!==null&&e>=0}function mO(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function bO(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const Sh=e=>{let{rects:t,activeIndex:r,overIndex:n,index:s}=e;const i=wh(t,n,r),o=t[s],a=i[s];return!a||!o?null:{x:a.left-o.left,y:a.top-o.top,scaleX:a.width/o.width,scaleY:a.height/o.height}},Ri={scaleX:1,scaleY:1},_O=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:s,rects:i,overIndex:o}=e;const a=(t=i[r])!=null?t:n;if(!a)return null;if(s===r){const d=i[o];return d?{x:0,y:r<o?d.top+d.height-(a.top+a.height):d.top-a.top,...Ri}:null}const c=wO(i,s,r);return s>r&&s<=o?{x:0,y:-a.height-c,...Ri}:s<r&&s>=o?{x:0,y:a.height+c,...Ri}:{x:0,y:0,...Ri}};function wO(e,t,r){const n=e[t],s=e[t-1],i=e[t+1];return n?r<t?s?n.top-(s.top+s.height):i?i.top-(n.top+n.height):0:i?i.top-(n.top+n.height):s?n.top-(s.top+s.height):0:0}const Ch="Sortable",Oh=h.createContext({activeIndex:-1,containerId:Ch,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Sh,disabled:{draggable:!1,droppable:!1}});function SO(e){let{children:t,id:r,items:n,strategy:s=Sh,disabled:i=!1}=e;const{active:o,dragOverlay:a,droppableRects:c,over:d,measureDroppableContainers:u}=Nc(),f=ts(Ch,r),y=a.rect!==null,g=h.useMemo(()=>n.map(I=>typeof I=="object"&&"id"in I?I.id:I),[n]),_=o!=null,p=o?g.indexOf(o.id):-1,v=d?g.indexOf(d.id):-1,m=h.useRef(g),b=!mO(g,m.current),S=v!==-1&&p===-1||b,w=bO(i);Ht(()=>{b&&_&&u(g)},[b,g,_,u]),h.useEffect(()=>{m.current=g},[g]);const O=h.useMemo(()=>({activeIndex:p,containerId:f,disabled:w,disableTransforms:S,items:g,overIndex:v,useDragOverlay:y,sortedRects:vO(g,c),strategy:s}),[p,f,w.draggable,w.droppable,S,g,v,c,y,s]);return h.createElement(Oh.Provider,{value:O},t)}const CO=e=>{let{id:t,items:r,activeIndex:n,overIndex:s}=e;return wh(r,n,s).indexOf(t)},OO=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:s,items:i,newIndex:o,previousItems:a,previousContainerId:c,transition:d}=e;return!d||!n||a!==i&&s===o?!1:r?!0:o!==s&&t===c},EO={duration:200,easing:"ease"},Eh="transform",DO=wr.Transition.toString({property:Eh,duration:0,easing:"linear"}),IO={roleDescription:"sortable"};function TO(e){let{disabled:t,index:r,node:n,rect:s}=e;const[i,o]=h.useState(null),a=h.useRef(r);return Ht(()=>{if(!t&&r!==a.current&&n.current){const c=s.current;if(c){const d=fn(n.current,{ignoreTransform:!0}),u={x:c.left-d.left,y:c.top-d.top,scaleX:c.width/d.width,scaleY:c.height/d.height};(u.x||u.y)&&o(u)}}r!==a.current&&(a.current=r)},[t,r,n,s]),h.useEffect(()=>{i&&o(null)},[i]),i}function NO(e){let{animateLayoutChanges:t=OO,attributes:r,disabled:n,data:s,getNewIndex:i=CO,id:o,strategy:a,resizeObserverConfig:c,transition:d=EO}=e;const{items:u,containerId:f,activeIndex:y,disabled:g,disableTransforms:_,sortedRects:p,overIndex:v,useDragOverlay:m,strategy:b}=h.useContext(Oh),S=xO(n,g),w=u.indexOf(o),O=h.useMemo(()=>({sortable:{containerId:f,index:w,items:u},...s}),[f,s,w,u]),I=h.useMemo(()=>u.slice(u.indexOf(o)),[u,o]),{rect:k,node:P,isOver:B,setNodeRef:N}=Uy({id:o,data:O,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:I,...c}}),{active:M,activatorEvent:V,activeNodeRect:A,attributes:U,setNodeRef:j,listeners:J,isDragging:se,over:ge,setActivatorNodeRef:_e,transform:we}=Tc({id:o,data:O,attributes:{...IO,...r},disabled:S.draggable}),G=Eg(N,j),L=!!M,X=L&&!_&&Yi(y)&&Yi(v),F=!m&&se,Y=F&&X?we:null,oe=X?Y??(a??b)({rects:p,activeNodeRect:A,activeIndex:y,overIndex:v,index:w}):null,Se=Yi(y)&&Yi(v)?i({id:o,items:u,activeIndex:y,overIndex:v}):w,Ae=M==null?void 0:M.id,ie=h.useRef({activeId:Ae,items:u,newIndex:Se,containerId:f}),ne=u!==ie.current.items,de=t({active:M,containerId:f,isDragging:se,isSorting:L,id:o,index:w,items:u,newIndex:ie.current.newIndex,previousItems:ie.current.items,previousContainerId:ie.current.containerId,transition:d,wasDragging:ie.current.activeId!=null}),je=TO({disabled:!de,index:w,node:P,rect:k});return h.useEffect(()=>{L&&ie.current.newIndex!==Se&&(ie.current.newIndex=Se),f!==ie.current.containerId&&(ie.current.containerId=f),u!==ie.current.items&&(ie.current.items=u)},[L,Se,f,u]),h.useEffect(()=>{if(Ae===ie.current.activeId)return;if(Ae&&!ie.current.activeId){ie.current.activeId=Ae;return}const Pe=setTimeout(()=>{ie.current.activeId=Ae},50);return()=>clearTimeout(Pe)},[Ae]),{active:M,activeIndex:y,attributes:U,data:O,rect:k,index:w,newIndex:Se,items:u,isOver:B,isSorting:L,isDragging:se,listeners:J,node:P,overIndex:v,over:ge,setNodeRef:G,setActivatorNodeRef:_e,setDroppableNodeRef:N,setDraggableNodeRef:j,transform:je??oe,transition:Ke()};function Ke(){if(je||ne&&ie.current.newIndex===w)return DO;if(!(F&&!ei(V)||!d)&&(L||de))return wr.Transition.toString({...d,property:Eh})}}function xO(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function Xi(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kO=[me.Down,me.Right,me.Up,me.Left],AO=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:s,droppableContainers:i,over:o,scrollableAncestors:a}}=t;if(kO.includes(e.code)){if(e.preventDefault(),!r||!n)return;const c=[];i.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const y=s.get(f.id);if(y)switch(e.code){case me.Down:n.top<y.top&&c.push(f);break;case me.Up:n.top>y.top&&c.push(f);break;case me.Left:n.left>y.left&&c.push(f);break;case me.Right:n.left<y.left&&c.push(f);break}});const d=zg({collisionRect:n,droppableRects:s,droppableContainers:c});let u=ec(d,"id");if(u===(o==null?void 0:o.id)&&d.length>1&&(u=d[1].id),u!=null){const f=i.get(r.id),y=i.get(u),g=y?s.get(y.id):null,_=y==null?void 0:y.node.current;if(_&&g&&f&&y){const v=ni(_).some((I,k)=>a[k]!==I),m=Dh(f,y),b=PO(f,y),S=v||!m?{x:0,y:0}:{x:b?n.width-g.width:0,y:b?n.height-g.height:0},w={x:g.left,y:g.top};return S.x&&S.y?w:rs(w,S)}}}};function Dh(e,t){return!Xi(e)||!Xi(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function PO(e,t){return!Xi(e)||!Xi(t)||!Dh(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}const Yr={row:"_row_11nth_1",removeBtn:"_removeBtn_11nth_14",grip:"_grip_11nth_17",ctIcon:"_ctIcon_11nth_34",info:"_info_11nth_38",name:"_name_11nth_46",meta:"_meta_11nth_55"},MO={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},LO=({item:e,onRemove:t,isEditable:r})=>{const n=zi(e),s=MO[n.key]??pn,{attributes:i,listeners:o,setNodeRef:a,transform:c,transition:d,isDragging:u}=NO({id:e.id,disabled:!r}),f={transform:wr.Transform.toString(c),transition:d,opacity:u?.5:1};return l.jsxs("div",{ref:a,style:f,className:Yr.row,role:"listitem",children:[r&&l.jsx("span",{className:Yr.grip,...i,...o,"aria-label":"Drag to reorder",children:l.jsx(Fc,{size:15})}),l.jsx("span",{className:[`sbx-ct-sq--${n.key}`,Yr.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(s,{size:14})}),l.jsxs("div",{className:Yr.info,children:[l.jsx("span",{className:Yr.name,title:e.name,children:e.name}),l.jsx("span",{className:Yr.meta,children:n.label})]}),l.jsx("span",{className:`sbx-ct-badge--${n.key}`,children:n.label}),r&&l.jsx("button",{type:"button",className:Yr.removeBtn,onClick:()=>t(e.id),"aria-label":`Remove ${e.name}`,children:l.jsx(jr,{size:14})})]})},Rr={container:"_container_lzvke_1",header:"_header_lzvke_7",heading:"_heading_lzvke_13",count:"_count_lzvke_21",list:"_list_lzvke_30",emptyState:"_emptyState_lzvke_36",addRow:"_addRow_lzvke_52"},FO=({editorMode:e})=>{const{selectedNodeId:t,getChildrenOf:r,reorderChildren:n,deleteNode:s}=xe(),i=t?r(t):[],o=e==="edit",a=Rl(Oo(si,{activationConstraint:{distance:5}}),Oo(No,{coordinateGetter:AO})),c=h.useCallback(u=>{const{active:f,over:y}=u;if(!y||f.id===y.id||!t)return;const g=xe.getState().getChildrenOf(t),_=g.findIndex(v=>v.id===f.id),p=g.findIndex(v=>v.id===y.id);_<0||p<0||n(t,_,p)},[t,n]),d=h.useCallback(u=>{window.confirm("Remove this content from the unit?")&&s(u)},[s]);return t?l.jsxs("div",{className:Rr.container,children:[l.jsxs("div",{className:Rr.header,children:[l.jsx("span",{className:Rr.heading,children:"Content in this unit"}),l.jsx("span",{className:Rr.count,children:i.length})]}),i.length>0?l.jsx(Dc,{sensors:a,collisionDetection:Vg,onDragEnd:c,children:l.jsx(SO,{items:i.map(u=>u.id),strategy:_O,children:l.jsx("div",{className:Rr.list,role:"list",children:i.map(u=>l.jsx(LO,{item:u,onRemove:d,isEditable:o},u.id))})})}):l.jsxs("div",{className:Rr.emptyState,children:[l.jsx("p",{children:"No content yet"}),l.jsx("span",{children:"Drag from the library or click Add content"})]}),o&&l.jsxs("button",{className:Rr.addRow,type:"button","aria-label":"Add content to unit",children:[l.jsx(cs,{size:14})," Add content"]})]}):null},Ih={dropZone:"_dropZone_ijo5w_1",active:"_active_ijo5w_14"},$O=({isActive:e,label:t="Drop here",nodeId:r,className:n})=>l.jsx("div",{className:`${Ih.dropZone} ${e?Ih.active:""} ${n??""}`,"data-droppable":e?"true":void 0,"data-node-id":r,"aria-label":t,role:"region",children:l.jsx("span",{children:t})});async function jO(e){var s;const t={status:["Live"],contentType:["Resource"],...e.filters??{}};e.channel&&(t.channel=e.channel);const n=((s=(await Me.post("/action/composite/v3/search",{request:{filters:t,query:e.query??"",limit:e.limit??20,offset:e.offset??0,sort_by:e.sortBy??{lastUpdatedOn:"desc"},fields:e.fields??["identifier","name","mimeType","contentType","primaryCategory","appIcon","channel","organisation","pkgVersion"]}},{headers:{"X-Source":"web","X-msgid":Math.random().toString(36).slice(2)}})).data)==null?void 0:s.result)??{};return{content:n.content??[],count:n.count??0}}async function BO(e){var r,n;return(n=(r=(await Me.get(`/action/content/v3/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.content}const Fe={contentPlayerRoot:"_contentPlayerRoot_ryh6z_1",stage:"_stage_ryh6z_9",playerHeader:"_playerHeader_ryh6z_19",playerHeaderThumb:"_playerHeaderThumb_ryh6z_33",playerHeaderTitle:"_playerHeaderTitle_ryh6z_43",typeBadge:"_typeBadge_ryh6z_53",typeDot:"_typeDot_ryh6z_92",aspectRatio:"_aspectRatio_ryh6z_99",playerFrame:"_playerFrame_ryh6z_112",coverOverlay:"_coverOverlay_ryh6z_120",coverHidden:"_coverHidden_ryh6z_132",coverThumb:"_coverThumb_ryh6z_137",coverPlayRing:"_coverPlayRing_ryh6z_146",coverPlayIcon:"_coverPlayIcon_ryh6z_159",coverLabel:"_coverLabel_ryh6z_168",coverSkeleton:"_coverSkeleton_ryh6z_174",playerWrapper:"_playerWrapper_ryh6z_200",infoStrip:"_infoStrip_ryh6z_210",infoChip:"_infoChip_ryh6z_226",infoChipLabel:"_infoChipLabel_ryh6z_245",infoChipIcon:"_infoChipIcon_ryh6z_254",playerError:"_playerError_ryh6z_260",playerErrorIcon:"_playerErrorIcon_ryh6z_274",playerErrorMsg:"_playerErrorMsg_ryh6z_279",qumlRoot:"_qumlRoot_ryh6z_286"},UO=[{key:"video",mimes:["video/mp4","video/webm","video/ogg"],label:"Video",icon:"🎬"},{key:"audio",mimes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav"],label:"Audio",icon:"🎵"},{key:"pdf",mimes:["application/pdf"],label:"PDF",icon:"📄"},{key:"epub",mimes:["application/epub"],label:"ePub",icon:"📖"},{key:"ecml",mimes:["application/vnd.ekstep.ecml-archive"],label:"ECML",icon:"✏️"},{key:"h5p",mimes:["application/vnd.ekstep.h5p-archive"],label:"H5P",icon:"🎮"},{key:"scorm",mimes:["application/vnd.ekstep.content-collection"],label:"SCORM",icon:"📦"}];function VO(e){return UO.find(t=>t.mimes.includes(e))??{key:"other",label:"Content",icon:"📱"}}const zO={"pdf-player":["application/pdf"],"video-player":["video/mp4","video/webm"],"epub-player":["application/epub"]},qO={"pdf-player":"/assets/sunbird-pdf-player.js","video-player":"/assets/sunbird-video-player.js","epub-player":"/assets/sunbird-epub-player.js"},HO={"pdf-player":"sunbird-pdf-player","video-player":"sunbird-video-player","epub-player":"sunbird-epub-player"},WO="/content/preview/preview.html?webview=true&build_number=2.8.0.e552fcd";function al(e){for(const[t,r]of Object.entries(zO))if(r.includes(e))return t;return"default-player"}function KO(e,t,r){var i;const n=r==null?void 0:r.context,s=t.mimeType??e.mimeType??"";return{context:{mode:"play",partner:[],pdata:{id:((i=n==null?void 0:n.pdata)==null?void 0:i.id)??"sunbird.portal",ver:1,pid:"sunbird-portal"},contentId:e.identifier,sid:(n==null?void 0:n.sid)??"",uid:(n==null?void 0:n.uid)??"",channel:(n==null?void 0:n.channel)??"",did:(n==null?void 0:n.did)??"",timeDiff:0,contextRollup:{},tags:[],app:[(n==null?void 0:n.channel)??""],dims:""},config:{showEndPage:!1,showStartPage:!0,host:"",overlay:{showUser:!1},splash:{text:"",icon:"",bgImage:"",webLink:""},sideMenu:{showDownload:!0,showExit:!1,showShare:!0},apislug:"/action",repos:["/sunbird-plugins/renderer"],plugins:[{id:"org.sunbird.iframeEvent",ver:1,type:"plugin"},{id:"org.sunbird.player.endpage",ver:1.1,type:"plugin"}],enableTelemetryValidation:!1},metadata:t,data:s==="application/vnd.ekstep.ecml-archive"?t.body??{}:{}}}function GO(e){return document.querySelector(`script[src="${e}"]`)?Promise.resolve():new Promise((t,r)=>{const n=document.createElement("script");n.src=e,n.onload=()=>t(),n.onerror=()=>r(new Error(`Failed to load ${e}`)),document.head.appendChild(n)})}async function QO(e,t,r=100){await GO(qO[t]??""),!customElements.get(e)&&await new Promise((n,s)=>{let i=0;const o=setInterval(()=>{i++,customElements.get(e)?(clearInterval(o),n()):i>=r&&(clearInterval(o),s(new Error(`Custom element <${e}> did not register`)))},100)})}const YO=[{key:"author",label:"Author",icon:"👤"},{key:"license",label:"License",icon:"⚖️"},{key:"language",label:"Language",icon:"🌐"},{key:"gradeLevel",label:"Class",icon:"🏫"},{key:"subject",label:"Subject",icon:"📚"},{key:"contentType",label:"Type",icon:"🏷️"}];function RO({node:e}){const t=e.metadata??{},r=YO.flatMap(n=>{const s=t[n.key];if(!s)return[];const i=Array.isArray(s)?s.join(", "):String(s);return i?[{...n,val:i}]:[]});return r.length?l.jsx("div",{className:Fe.infoStrip,children:r.map(n=>l.jsxs("div",{className:Fe.infoChip,children:[n.icon&&l.jsx("span",{className:Fe.infoChipIcon,children:n.icon}),l.jsx("span",{className:Fe.infoChipLabel,children:n.label}),n.val]},n.key))}):null}function XO({node:e,hidden:t}){var n;const r=e.appIcon??((n=e.metadata)==null?void 0:n.appIcon);return l.jsx("div",{className:`${Fe.coverOverlay} ${t?Fe.coverHidden:""}`,children:r?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:r,alt:e.name,className:Fe.coverThumb}),l.jsx("div",{className:Fe.coverPlayRing,children:l.jsx("div",{className:Fe.coverPlayIcon})}),l.jsx("span",{className:Fe.coverLabel,children:"Loading preview…"})]}):l.jsx("div",{className:Fe.coverSkeleton})})}function ZO({message:e}){return l.jsxs("div",{className:Fe.playerError,children:[l.jsx("span",{className:Fe.playerErrorIcon,children:"⚠"}),l.jsx("span",{className:Fe.playerErrorMsg,children:e})]})}function JO({mimeType:e}){const t=VO(e);return l.jsxs("span",{className:Fe.typeBadge,"data-type":t.key,children:[l.jsx("span",{className:Fe.typeDot}),t.label]})}const ll=({node:e,editorMode:t,type:r})=>{var s;if(r==="quml")return l.jsx(tE,{node:e,editorMode:t});const n=e.appIcon??((s=e.metadata)==null?void 0:s.appIcon);return l.jsxs("div",{className:Fe.contentPlayerRoot,children:[l.jsxs("div",{className:Fe.stage,children:[l.jsxs("div",{className:Fe.playerHeader,children:[n&&l.jsx("img",{src:n,alt:"",className:Fe.playerHeaderThumb}),l.jsx("span",{className:Fe.playerHeaderTitle,children:e.name}),l.jsx(JO,{mimeType:e.mimeType??""})]}),l.jsx(eE,{node:e})]}),l.jsx(RO,{node:e})]})};function eE({node:e}){var v;const t=ce(m=>m.editorConfig),[r,n]=h.useState(()=>al(e.mimeType??"")),[s,i]=h.useState(!1),[o,a]=h.useState(null),[c,d]=h.useState(e.metadata??{}),[u,f]=h.useState(!1),y=h.useRef(null),g=h.useRef(null),_=((v=t==null?void 0:t.config)==null?void 0:v.previewCdnUrl)??WO;h.useEffect(()=>{let m=!1;return f(!1),i(!1),a(null),d(e.metadata??{}),n(al(e.mimeType??"")),BO(e.identifier).then(b=>{if(m)return;const S={...e.metadata??{},...b};d(S);const w=b.mimeType??e.mimeType??"";n(al(w)),f(!0)}).catch(()=>{m||f(!0)}),()=>{m=!0}},[e.identifier]);const p=KO(e,c,t);return h.useEffect(()=>{if(!u||r!=="default-player")return;const m=y.current;if(!m)return;m.src=_;const b=()=>{try{const w=m.contentWindow;if(typeof(w==null?void 0:w.initializePreview)!="function"){a("Preview player unavailable. Check that /content/preview is reachable.");return}w.initializePreview(p),setTimeout(()=>i(!0),300)}catch(w){console.error("[ContentPlayer] initializePreview failed",w),a("Failed to initialize the content player.")}},S=()=>a("Preview player could not be loaded.");return m.addEventListener("load",b),m.addEventListener("error",S),()=>{m.removeEventListener("load",b),m.removeEventListener("error",S),m.src=""}},[e.identifier,r,_,u]),h.useEffect(()=>{if(!u||r==="default-player")return;const m=g.current;if(!m)return;const b=HO[r];if(!b)return;const S=p;QO(b,r).then(()=>{if(!g.current)return;if(!customElements.get(b)){n("default-player");return}const w=document.createElement(b);w.setAttribute("player-config",JSON.stringify(S)),w.addEventListener("playerEvent",()=>{}),w.addEventListener("telemetryEvent",()=>{}),m.innerHTML="",m.appendChild(w),setTimeout(()=>{try{w.playerConfig=S}catch{}i(!0)},200)}).catch(()=>{console.warn(`[ContentPlayer] ${r} script unavailable, falling back to iframe`),n("default-player")})},[e.identifier,r,u]),l.jsxs("div",{className:Fe.aspectRatio,children:[o?l.jsx(ZO,{message:o}):l.jsx(XO,{node:e,hidden:s}),r==="default-player"?l.jsx("iframe",{ref:y,id:"contentPlayer",title:e.name,className:Fe.playerFrame,name:"contentPlayer",allowFullScreen:!0}):l.jsx("div",{ref:g,className:Fe.playerFrame})]})}function tE({node:e,editorMode:t}){const r=ce(s=>s.editorConfig),n=h.useRef(null);return h.useEffect(()=>{var a;if(!n.current)return;const s=r==null?void 0:r.context,i={context:{mode:t==="edit"?"edit":"play",pdata:{id:((a=s==null?void 0:s.pdata)==null?void 0:a.id)??"sunbird.portal",ver:"1.0",pid:"sunbird-portal"},contentId:e.identifier,sid:(s==null?void 0:s.sid)??"",uid:(s==null?void 0:s.uid)??"",channel:(s==null?void 0:s.channel)??"",did:(s==null?void 0:s.did)??""},config:{enable:!1,showShare:!1,showDownload:!1,showReplay:!0,showExit:!1},metadata:e.metadata??{},data:{}},o=document.createElement("sunbird-quml-player");o.setAttribute("player-config",JSON.stringify(i)),n.current.innerHTML="",n.current.appendChild(o)},[e.identifier,t]),l.jsx("div",{className:Fe.qumlRoot,children:l.jsx("div",{ref:n,className:Fe.playerWrapper})})}const Vt={overlay:"_overlay_ifddx_1",modal:"_modal_ifddx_11",header:"_header_ifddx_21",body:"_body_ifddx_37",hint:"_hint_ifddx_43",list:"_list_ifddx_49",item:"_item_ifddx_55",selected:"_selected_ifddx_68",empty:"_empty_ifddx_73",footer:"_footer_ifddx_79",cancelBtn:"_cancelBtn_ifddx_87",moveBtn:"_moveBtn_ifddx_95"};function rE(e,t,r){const n=[],s=i=>{var o;for(const a of i)a.isFolder&&a.id!==r&&a.id!==t&&n.push(a),(o=a.children)!=null&&o.length&&s(a.children)};return s(e),n}const nE=({resourceId:e,resourceName:t,currentUnitId:r,onClose:n})=>{var u;const{treeData:s,moveNode:i}=xe(),o=rE(s,((u=s[0])==null?void 0:u.id)??"",r),[a,c]=h.useState(null),d=()=>{a&&(i(e,r,a),n())};return l.jsx("div",{className:Vt.overlay,role:"dialog","aria-label":"Move resource",children:l.jsxs("div",{className:Vt.modal,children:[l.jsxs("div",{className:Vt.header,children:[l.jsxs("span",{children:['Move "',t,'"']}),l.jsx("button",{onClick:n,"aria-label":"Close",children:l.jsx(jr,{size:16})})]}),l.jsxs("div",{className:Vt.body,children:[l.jsx("p",{className:Vt.hint,children:"Select a unit to move this content to:"}),l.jsxs("ul",{className:Vt.list,children:[o.map(f=>l.jsxs("li",{className:`${Vt.item} ${a===f.id?Vt.selected:""}`,onClick:()=>c(f.id),children:[l.jsx(av,{size:14}),l.jsx("span",{children:f.name})]},f.id)),o.length===0&&l.jsx("li",{className:Vt.empty,children:"No other units available"})]})]}),l.jsxs("div",{className:Vt.footer,children:[l.jsx("button",{className:Vt.cancelBtn,onClick:n,children:"Cancel"}),l.jsx("button",{className:Vt.moveBtn,onClick:d,disabled:!a,children:"Move here"})]})]})})},rr={overlay:"_overlay_16at9_1",modal:"_modal_16at9_11",header:"_header_16at9_21",body:"_body_16at9_37",table:"_table_16at9_43",pageInput:"_pageInput_16at9_61",empty:"_empty_16at9_68",footer:"_footer_16at9_74",cancelBtn:"_cancelBtn_16at9_82",saveBtn:"_saveBtn_16at9_90"};function sE(e){const t=[],r=n=>{var s;for(const i of n)!i.isFolder&&(!i.children||i.children.length===0)?t.push(i):(s=i.children)!=null&&s.length&&r(i.children)};return r(e),t}const iE=({onClose:e})=>{const{treeData:t,updateNode:r}=xe(),n=sE(t),[s,i]=h.useState(()=>Object.fromEntries(n.map(a=>{var c;return[a.id,String(((c=a.metadata)==null?void 0:c.pageNumber)??"")]}))),o=h.useCallback(()=>{for(const[a,c]of Object.entries(s))c!==""&&r(a,{pageNumber:parseInt(c,10)||void 0});e()},[s,r,e]);return l.jsx("div",{className:rr.overlay,role:"dialog","aria-label":"Assign Page Numbers",children:l.jsxs("div",{className:rr.modal,children:[l.jsxs("div",{className:rr.header,children:[l.jsx("span",{children:"Assign Page Numbers"}),l.jsx("button",{onClick:e,"aria-label":"Close",children:l.jsx(jr,{size:16})})]}),l.jsx("div",{className:rr.body,children:n.length===0?l.jsx("p",{className:rr.empty,children:"No content items found in this collection."}):l.jsxs("table",{className:rr.table,children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Content"}),l.jsx("th",{children:"Page Number"})]})}),l.jsx("tbody",{children:n.map(a=>l.jsxs("tr",{children:[l.jsx("td",{children:a.name}),l.jsx("td",{children:l.jsx("input",{type:"number",min:1,value:s[a.id]??"",onChange:c=>i(d=>({...d,[a.id]:c.target.value})),className:rr.pageInput})})]},a.id))})]})}),l.jsxs("div",{className:rr.footer,children:[l.jsx("button",{className:rr.cancelBtn,onClick:e,children:"Cancel"}),l.jsxs("button",{className:rr.saveBtn,onClick:o,children:[l.jsx(yv,{size:14})," Save"]})]})]})})},Ve={container:"_container_1a7t2_1",panelHeader:"_panelHeader_1a7t2_10",panelHeaderLeft:"_panelHeaderLeft_1a7t2_19",panelCollapseBtn:"_panelCollapseBtn_1a7t2_27",titleRow:"_titleRow_1a7t2_46",field:"_field_1a7t2_47",moveBtn:"_moveBtn_1a7t2_64",icon:"_icon_1a7t2_84",nameInput:"_nameInput_1a7t2_93",fieldHeader:"_fieldHeader_1a7t2_118",label:"_label_1a7t2_124",fieldCount:"_fieldCount_1a7t2_133",chips:"_chips_1a7t2_170",chip:"_chip_1a7t2_170",chipRemove:"_chipRemove_1a7t2_188",keywordInput:"_keywordInput_1a7t2_202",input:"_input_1a7t2_207",addBtn:"_addBtn_1a7t2_220",radioGroup:"_radioGroup_1a7t2_234",radioLabel:"_radioLabel_1a7t2_239"},oE=({node:e,editorMode:t,onMoveClick:r,reorderDialog:n})=>{var M,V;const{updateNode:s,markDirty:i}=xe(),o=t==="edit",a=zi(e),c=ce(A=>A.relationalFormConfig),d=A=>c==null?void 0:c.find(U=>U.code===A),u=A=>!c||!!d(A),f=(A,U)=>{var j;return((j=d(A))==null?void 0:j.label)||U},[y,g]=h.useState(!0),_=((M=e.metadata)==null?void 0:M.relationalMetadata)??{},[p,v]=h.useState(_.name??e.name??""),[m,b]=h.useState(""),[S,w]=h.useState(Array.isArray(_.keywords)?_.keywords:Array.isArray((V=e.metadata)==null?void 0:V.keywords)?e.metadata.keywords:[]),[O,I]=h.useState(!!_.optional);h.useEffect(()=>{var U,j;const A=((U=e.metadata)==null?void 0:U.relationalMetadata)??{};v(A.name??e.name??""),w(Array.isArray(A.keywords)?A.keywords:Array.isArray((j=e.metadata)==null?void 0:j.keywords)?e.metadata.keywords:[]),I(!!A.optional)},[e.id]);const k=()=>{p.trim()&&p!==e.name&&(s(e.id,{name:p.trim()}),i())},P=()=>{const A=m.trim();if(A&&!S.includes(A)){const U=[...S,A];w(U),s(e.id,{keywords:U}),i()}b("")},B=A=>{const U=S.filter(j=>j!==A);w(U),s(e.id,{keywords:U}),i()},N=A=>{I(A),s(e.id,{optional:A}),i()};return l.jsxs("div",{className:Ve.container,children:[l.jsxs("div",{className:Ve.panelHeader,children:[l.jsxs("div",{className:Ve.panelHeaderLeft,children:[l.jsx("span",{className:`sbx-ct-badge--${a.key}`,children:a.label}),o&&l.jsx("button",{type:"button",className:Ve.moveBtn,onClick:r,children:"Move to another unit"})]}),l.jsx("button",{type:"button",className:Ve.panelCollapseBtn,onClick:()=>g(A=>!A),"aria-expanded":y,"aria-label":y?"Collapse metadata panel":"Expand metadata panel",title:y?"Collapse":"Expand",children:y?l.jsx(ls,{size:15}):l.jsx(sv,{size:15})})]}),y&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:Ve.titleRow,children:[e.appIcon&&l.jsx("img",{src:e.appIcon,alt:"icon",className:Ve.icon}),l.jsx("input",{type:"text",className:Ve.nameInput,value:p,disabled:!o,onChange:A=>v(A.target.value),onBlur:k,placeholder:"Content name"})]}),u("keywords")&&l.jsxs("div",{className:Ve.field,children:[l.jsx("div",{className:Ve.fieldHeader,children:l.jsxs("label",{className:Ve.label,children:[f("keywords","Keywords"),S.length>0&&l.jsx("span",{className:Ve.fieldCount,children:S.length})]})}),S.length>0&&l.jsx("div",{className:Ve.chips,children:S.map(A=>l.jsxs("span",{className:Ve.chip,children:[A,o&&l.jsx("button",{type:"button",className:Ve.chipRemove,onClick:()=>B(A),children:"×"})]},A))}),o&&l.jsxs("div",{className:Ve.keywordInput,children:[l.jsx("input",{type:"text",className:Ve.input,value:m,placeholder:"Add keyword and press Enter",onChange:A=>b(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(A.preventDefault(),P())}}),l.jsx("button",{type:"button",className:Ve.addBtn,onClick:P,children:"Add"})]})]}),u("optional")&&l.jsxs("div",{className:Ve.field,children:[l.jsx("label",{className:Ve.label,children:f("optional","Optional in Collection")}),l.jsxs("div",{className:Ve.radioGroup,children:[l.jsxs("label",{className:Ve.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:O===!0,onChange:()=>N(!0),disabled:!o}),"Yes"]}),l.jsxs("label",{className:Ve.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:O===!1,onChange:()=>N(!1),disabled:!o}),"No"]})]})]})]}),n]})},Ts={iconBtn:"_iconBtn_vl14u_1",editable:"_editable_vl14u_14",iconImg:"_iconImg_vl14u_26",placeholder:"_placeholder_vl14u_34",removeBtn:"_removeBtn_vl14u_41"},aE=({nodeId:e,value:t,editable:r})=>{const[n,s]=h.useState(!1),{updateNode:i,markDirty:o}=xe(),a=d=>{i(e,{appIcon:d}),o(),s(!1)},c=d=>{d.stopPropagation(),i(e,{appIcon:""}),o()};return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:[Ts.iconBtn,r?Ts.editable:""].filter(Boolean).join(" "),role:r?"button":void 0,tabIndex:r?0:-1,"aria-label":r?"Select app icon":"App icon",onClick:()=>r&&s(!0),onKeyDown:d=>{r&&(d.key==="Enter"||d.key===" ")&&s(!0)},children:[t?l.jsx("img",{src:t,alt:"App icon",className:Ts.iconImg}):l.jsx("div",{className:Ts.placeholder,children:l.jsx($c,{size:18})}),t&&r&&l.jsx("button",{type:"button",className:Ts.removeBtn,onClick:c,"aria-label":"Remove icon",children:l.jsx(zo,{size:11})})]}),n&&l.jsx(bh,{nodeId:e,currentValue:t,onSelect:a,onClose:()=>s(!1)})]})},Rt={leafContentLayout:"_leafContentLayout_1osey_1",container:"_container_1osey_17",emptyState:"_emptyState_1osey_26",titleRow:"_titleRow_1osey_36",nodeTitle:"_nodeTitle_1osey_52",formArea:"_formArea_1osey_74",contentListArea:"_contentListArea_1osey_78",dropZone:"_dropZone_1osey_83",reviewComment:"_reviewComment_1osey_90",reviewCommentLabel:"_reviewCommentLabel_1osey_103",reviewCommentText:"_reviewCommentText_1osey_109"},lE=["application/vnd.sunbird.questionset"],cE=({editorMode:e,onToolbarEvent:t})=>{var M,V,A,U;const[r,n]=h.useState("details"),[s,i]=h.useState([]),[o,a]=h.useState(null),[c,d]=h.useState(!1),u=h.useRef(null),f=h.useRef(),{selectedNodeId:y,breadcrumb:g,activeNodeMeta:_,updateNode:p,treeData:v}=xe(),m=ce(j=>{var J,se,ge,_e;return((se=(J=j.editorConfig)==null?void 0:J.context)==null?void 0:se.contentId)??((_e=(ge=j.editorConfig)==null?void 0:ge.context)==null?void 0:_e.identifier)??""}),b=y?Th(v,y):null,S=!!b&&!b.parent,w=!!(b!=null&&b.isFolder),O=b&&lE.includes(b.mimeType??""),I=b&&!b.isFolder&&!O&&!S,k=((M=b==null?void 0:b.metadata)==null?void 0:M.rejectComment)??(S?(A=(V=v[0])==null?void 0:V.metadata)==null?void 0:A.rejectComment:void 0),P=h.useCallback(()=>{const j=u.current;if(!j||!y)return;const J=j.innerText.trim();clearTimeout(f.current),f.current=setTimeout(()=>{p(y,{name:J})},600)},[y,p]),B=h.useCallback(j=>{t({action:"onFormValueChange",data:j})},[t]),N=h.useCallback((j,J)=>{i(J),t({action:"onFormStatusChange",data:{isValid:j,nodeId:y}})},[t,y]);return b?O?l.jsx(ll,{node:b,editorMode:e,type:"quml"}):I?l.jsxs("div",{className:Rt.leafContentLayout,children:[l.jsx(ll,{node:b,editorMode:e,type:"content"}),l.jsx(oE,{node:b,editorMode:e,onMoveClick:()=>a(b.identifier),reorderDialog:o?l.jsx(nE,{resourceId:o,resourceName:b.name,currentUnitId:b.parent??"",onClose:()=>a(null)}):null})]}):l.jsxs("div",{className:Rt.container,children:[l.jsx(w1,{crumbs:g}),k&&l.jsxs("div",{className:Rt.reviewComment,role:"alert",children:[l.jsx("span",{className:Rt.reviewCommentLabel,children:"Reviewer comment:"}),l.jsx("span",{className:Rt.reviewCommentText,children:k})]}),l.jsxs("div",{className:Rt.titleRow,children:[S&&y&&l.jsx(aE,{nodeId:y,value:String(b.appIcon??((U=b.metadata)==null?void 0:U.appIcon)??""),editable:e==="edit"}),l.jsx("div",{ref:u,className:Rt.nodeTitle,contentEditable:e==="edit",suppressContentEditableWarning:!0,onInput:P,onBlur:P,"data-placeholder":"Untitled","aria-label":"Node title",children:b.name})]}),l.jsx(S1,{activeTab:r,onChange:j=>n(j),errorTabs:s,visibleTabs:S?void 0:["details"]}),l.jsx("div",{className:Rt.formArea,children:l.jsx(yO,{nodeMetadata:_,activeTab:r,isRoot:S,isFolder:w,editorMode:e,onFormValueChange:B,onFormStatusChange:N},`${y??"none"}:${S?"root":"node"}`)}),(w||S)&&r==="details"&&l.jsx("div",{className:Rt.contentListArea,children:l.jsx(FO,{editorMode:e})}),l.jsx($O,{isActive:!1,label:"Drop to add content to this unit",nodeId:y??void 0,className:Rt.dropZone}),c&&l.jsx(iE,{contentId:m,onClose:()=>d(!1)})]}):l.jsx("div",{className:Rt.emptyState,children:l.jsx("p",{children:"Select a unit from the outline to edit its details"})})};function Th(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=Th(r.children,t);if(n)return n}}}const Nh=di((e,t)=>({allContent:[],filteredContent:[],searchQuery:"",activeFilter:"all",advancedFilters:{},isLoading:!1,totalCount:0,offset:0,sortAZ:!1,setContent:(r,n)=>{e({allContent:r,totalCount:n,offset:r.length}),t().applyFilter()},appendContent:(r,n)=>{const i=[...t().allContent,...r];e({allContent:i,totalCount:n,offset:i.length}),t().applyFilter()},setFilter:r=>{e({activeFilter:r}),t().applyFilter()},setSearch:r=>{e({searchQuery:r}),t().applyFilter()},setLoading:r=>e({isLoading:r}),setAdvancedFilters:r=>e({advancedFilters:r}),setOffset:r=>e({offset:r}),setSortAZ:r=>e({sortAZ:r}),applyFilter:()=>{const{allContent:r,activeFilter:n,searchQuery:s}=t();let i=r;if(n&&n!=="all"){const o=n.toLowerCase();i=i.filter(a=>[a.mimeType??"",a.primaryCategory??"",a.contentType??""].join(" ").toLowerCase().includes(o))}if(s&&s.trim()!==""){const o=s.toLowerCase().trim();i=i.filter(a=>(a.name??"").toLowerCase().includes(o))}e({filteredContent:i})}})),uE=20;function xh(){var d;const e=ce(u=>u.editorConfig),t=xe(u=>u.selectedNodeId),r=xe(u=>u.treeData),n=h.useCallback(()=>{if(!t||!r.length)return 0;function u(f,y,g=0){var _;for(const p of f){if(p.id===y)return g;if((_=p.children)!=null&&_.length){const v=u(p.children,y,g+1);if(v>=0)return v}}return-1}return Math.max(0,u(r,t))},[t,r])(),s=(d=e==null?void 0:e.config)==null?void 0:d.hierarchy;if(!s)return[...Lf];const i=`level${n}`,o=s[i],a=o==null?void 0:o.children,c=a==null?void 0:a.Content;return c!=null&&c.length?c:[...Lf]}function dE(){const e=Nh(),t=ce(f=>{var y,g;return((g=(y=f.editorConfig)==null?void 0:y.context)==null?void 0:g.channel)??""}),r=xh(),n=h.useRef(),s=h.useCallback(async(f="",y="all",g={},_=!0,p=!1)=>{var v,m,b,S,w;e.setLoading(!0);try{const O={status:["Live"],contentType:["Resource"],primaryCategory:y&&y!=="all"?[y]:r};(v=g==null?void 0:g.board)!=null&&v.length&&(O.board=g.board),(m=g==null?void 0:g.medium)!=null&&m.length&&(O.medium=g.medium),(b=g==null?void 0:g.gradeLevel)!=null&&b.length&&(O.gradeLevel=g.gradeLevel),(S=g==null?void 0:g.subject)!=null&&S.length&&(O.subject=g.subject),(w=g==null?void 0:g.primaryCategory)!=null&&w.length&&(O.primaryCategory=g.primaryCategory);const I=_?0:e.offset,{content:k,count:P}=await jO({filters:O,query:f,limit:f?50:uE,offset:I,channel:t||void 0,sortBy:p?{name:"asc"}:{lastUpdatedOn:"desc"}});_?e.setContent(k,P):e.appendContent(k,P)}catch(O){console.error("[useLibrary] load error:",O)}finally{e.setLoading(!1)}},[r,t]);h.useEffect(()=>{s()},[t]);const i=h.useCallback(f=>{e.setSearch(f),clearTimeout(n.current),n.current=setTimeout(()=>s(f,e.activeFilter,e.advancedFilters,!0,e.sortAZ),300)},[e.activeFilter,e.advancedFilters,e.sortAZ,s]),o=h.useCallback(f=>{e.setFilter(f),s(e.searchQuery,f,e.advancedFilters,!0,e.sortAZ)},[e.searchQuery,e.advancedFilters,e.sortAZ,s]),a=h.useCallback(f=>{e.setAdvancedFilters(f),s(e.searchQuery,e.activeFilter,f,!0,e.sortAZ)},[e.searchQuery,e.activeFilter,e.sortAZ,s]),c=h.useCallback(()=>{const f=!e.sortAZ;e.setSortAZ(f),s(e.searchQuery,e.activeFilter,e.advancedFilters,!0,f)},[e.sortAZ,e.searchQuery,e.activeFilter,e.advancedFilters,s]),d=h.useCallback(()=>{e.isLoading||s(e.searchQuery,e.activeFilter,e.advancedFilters,!1,e.sortAZ)},[e.isLoading,e.searchQuery,e.activeFilter,e.advancedFilters,e.sortAZ,s]),u=e.allContent.length<e.totalCount;return{content:e.filteredContent,isLoading:e.isLoading,totalCount:e.totalCount,activeFilter:e.activeFilter,advancedFilters:e.advancedFilters,searchQuery:e.searchQuery,sortAZ:e.sortAZ,hasMore:u,search:i,setFilter:o,applyAdvancedFilters:a,toggleSort:c,loadMore:d,refetch:()=>s(e.searchQuery,e.activeFilter,e.advancedFilters,!0,e.sortAZ)}}const nr={card:"_card_jzciw_1",addBtn:"_addBtn_jzciw_17",dragging:"_dragging_jzciw_24",ctIcon:"_ctIcon_jzciw_29",info:"_info_jzciw_33",name:"_name_jzciw_41",meta:"_meta_jzciw_50",addBtnMuted:"_addBtnMuted_jzciw_78",added:"_added_jzciw_87",addedBadge:"_addedBadge_jzciw_96"},fE={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},hE=({item:e,onAdd:t,onPreview:r,isDraggable:n,isAdded:s})=>{var p,v;const i=zi(e),o=fE[i.key]??pn,a=Ha(),c=c1(),d=a&&!s&&c,{attributes:u,listeners:f,setNodeRef:y,isDragging:g}=Tc({id:e.identifier,disabled:!n||!a||!c,data:{type:"library-item",item:e}}),_=()=>{r&&r(e)};return l.jsxs("div",{ref:y,className:[nr.card,g?nr.dragging:"",s?nr.added:""].join(" "),"aria-label":e.name,...n?{...u,...f}:{},role:"listitem",onClick:_,children:[l.jsx("span",{className:[`sbx-ct-sq--${i.key}`,nr.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(o,{size:14})}),l.jsxs("div",{className:nr.info,children:[l.jsx("span",{className:nr.name,title:e.name,children:e.name}),l.jsxs("span",{className:nr.meta,children:[((p=e.organisation)==null?void 0:p[0])??e.channel??"",(v=e.organisation)!=null&&v[0]&&e.primaryCategory?" · ":"",e.primaryCategory??""]})]}),s&&l.jsx("span",{className:nr.addedBadge,"aria-label":"Already added",title:"Already added to this collection",children:l.jsx(hn,{size:12})}),!s&&l.jsx("button",{type:"button",className:[nr.addBtn,!d&&a?nr.addBtnMuted:""].join(" "),onClick:m=>{m.stopPropagation(),t(e)},disabled:!a,"aria-disabled":!d,"aria-label":`Add ${e.name} to unit`,title:a?c?"Add to unit":"Select a unit to add":"Only Draft content can be added",children:l.jsx(cs,{size:14})})]})},kh={chips:"_chips_xhhaq_1",chip:"_chip_xhhaq_1"},pE=({filters:e,active:t,onChange:r})=>l.jsx("div",{className:kh.chips,role:"group","aria-label":"Content type filters",children:e.map(n=>l.jsx("button",{type:"button",role:"radio","aria-checked":t===n.value,className:["sbx-chip",t===n.value?"filled":"outline",kh.chip].join(" "),onClick:()=>r(n.value),children:n.label},n.value))}),et={panel:"_panel_1cl11_1",header:"_header_1cl11_10",headerTitle:"_headerTitle_1cl11_19",closeBtn:"_closeBtn_1cl11_25",body:"_body_1cl11_43",section:"_section_1cl11_59",sectionLabel:"_sectionLabel_1cl11_65",chips:"_chips_1cl11_73",chip:"_chip_1cl11_73",active:"_active_1cl11_96",footer:"_footer_1cl11_102",resetBtn:"_resetBtn_1cl11_112",applyBtn:"_applyBtn_1cl11_129"},gE=[{key:"board",label:"Board"},{key:"medium",label:"Medium"},{key:"gradeLevel",label:"Class"},{key:"subject",label:"Subject"}],yE=new Set(["board","medium","gradeLevel","subject","topic"]),vE=({local:e,toggle:t})=>{const r=xh();return r.length?l.jsxs("div",{className:et.section,children:[l.jsx("div",{className:et.sectionLabel,children:"Primary Category"}),l.jsx("div",{className:et.chips,children:r.map(n=>l.jsx("button",{type:"button",className:[et.chip,(e.primaryCategory??[]).includes(n)?et.active:""].join(" "),onClick:()=>t("primaryCategory",n),children:n},n))})]}):null},mE=({isOpen:e,filters:t,onApply:r,onClose:n})=>{var g,_;const s=ce(p=>p.editorConfig),i=ce(p=>p.searchFormConfig),{organisationFramework:o}=dh((g=s==null?void 0:s.context)==null?void 0:g.framework,(_=s==null?void 0:s.context)==null?void 0:_.targetFWIds),[a,c]=h.useState(t),d=i!=null&&i.length?i.filter(p=>yE.has(p.code)).map(p=>({key:p.code,label:p.label||p.code})):gE;h.useEffect(()=>{c(t)},[t]);const u=(p,v)=>{c(m=>{const b=m[p]??[],S=b.includes(v)?b.filter(w=>w!==v):[...b,v];return{...m,[p]:S}})},f=(o==null?void 0:o.categories)??[],y=p=>{var v;return((v=f.find(m=>m.code===p))==null?void 0:v.terms)??[]};return e?l.jsxs("div",{className:et.panel,role:"dialog","aria-label":"Filter library","aria-modal":"true",children:[l.jsxs("div",{className:et.header,children:[l.jsx("span",{className:et.headerTitle,children:"Filters"}),l.jsx("button",{type:"button",className:et.closeBtn,onClick:n,"aria-label":"Close filters",children:l.jsx(jr,{size:16})})]}),l.jsxs("div",{className:et.body,children:[d.map(({key:p,label:v})=>{const m=y(p);return m.length?l.jsxs("div",{className:et.section,children:[l.jsx("div",{className:et.sectionLabel,children:v}),l.jsx("div",{className:et.chips,children:m.slice(0,20).map(b=>l.jsx("button",{type:"button",className:[et.chip,(a[p]??[]).includes(b.name)?et.active:""].join(" "),onClick:()=>u(p,b.name),children:b.name},b.identifier))})]},p):null}),l.jsx(vE,{local:a,toggle:u})]}),l.jsxs("div",{className:et.footer,children:[l.jsx("button",{type:"button",className:et.resetBtn,onClick:()=>c({}),children:"Reset"}),l.jsx("button",{type:"button",className:et.applyBtn,onClick:()=>{r(a),n()},children:"Apply"})]})]}):null},dr={header:"_header_6qdpu_10",title:"_title_6qdpu_20",headerActions:"_headerActions_6qdpu_31",iconBtn:"_iconBtn_6qdpu_38",playerArea:"_playerArea_6qdpu_56",footer:"_footer_6qdpu_64",addBtn:"_addBtn_6qdpu_73",modalOverlay:"_modalOverlay_6qdpu_92",modalPanel:"_modalPanel_6qdpu_103"},bE=({content:e,onAdd:t,onClose:r})=>{if(!e)return null;const n={id:e.identifier,identifier:e.identifier,name:e.name??"",mimeType:e.mimeType,primaryCategory:e.primaryCategory,contentType:e.contentType,appIcon:e.appIcon,status:e.status,isFolder:!1,children:[],metadata:e};return Be.createPortal(l.jsx("div",{className:dr.modalOverlay,role:"dialog","aria-modal":"true","aria-label":"Content preview",onClick:r,children:l.jsxs("div",{className:dr.modalPanel,onClick:s=>s.stopPropagation(),children:[l.jsxs("div",{className:dr.header,children:[l.jsx("span",{className:dr.title,title:e.name,children:e.name}),l.jsx("div",{className:dr.headerActions,children:l.jsx("button",{type:"button",className:dr.iconBtn,onClick:r,"aria-label":"Close preview",children:l.jsx(jr,{size:16})})})]}),l.jsx("div",{className:dr.playerArea,children:l.jsx(ll,{node:n,editorMode:"read",type:"content"})}),l.jsx("div",{className:dr.footer,children:l.jsx("button",{type:"button",className:dr.addBtn,onClick:()=>t(e),children:"+ Add to Unit"})})]})}),document.body)},$e={dock:"_dock_1lpg0_1",header:"_header_1lpg0_8",headerLeft:"_headerLeft_1lpg0_17",headerTitle:"_headerTitle_1lpg0_24",count:"_count_1lpg0_30",searchRow:"_searchRow_1lpg0_39",searchWrap:"_searchWrap_1lpg0_47",searchIcon:"_searchIcon_1lpg0_53",searchInput:"_searchInput_1lpg0_62",filterToggleBtn:"_filterToggleBtn_1lpg0_80",filterToggleBtnActive:"_filterToggleBtnActive_1lpg0_99",filterBadge:"_filterBadge_1lpg0_105",filters:"_filters_1lpg0_124",mainArea:"_mainArea_1lpg0_134",sidePanelOverlay:"_sidePanelOverlay_1lpg0_143",cardList:"_cardList_1lpg0_152",skeleton:"_skeleton_1lpg0_168",skeletonIcon:"_skeletonIcon_1lpg0_178",skeletonText:"_skeletonText_1lpg0_186",skeletonLine:"_skeletonLine_1lpg0_193",skeletonLineSm:"_skeletonLineSm_1lpg0_200",loadMoreBtn:"_loadMoreBtn_1lpg0_215",emptyState:"_emptyState_1lpg0_240",collapseBtn:"_collapseBtn_1lpg0_260"};function _E(e){const t=new Set,r=[...e];for(;r.length>0;){const n=r.shift();n.isFolder||t.add(n.identifier),n.children&&r.push(...n.children)}return t}const wE=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{const{content:n,isLoading:s,totalCount:i,activeFilter:o,searchQuery:a,sortAZ:c,hasMore:d,search:u,setFilter:f,applyAdvancedFilters:y,toggleSort:g,loadMore:_}=dE(),{addResource:p,selectedNodeId:v,treeData:m}=xe(),b=e==="edit",[S,w]=h.useState(!1),[O,I]=h.useState({}),[k,P]=h.useState(null),B=h.useMemo(()=>_E(m),[m]),N=h.useCallback(j=>{var ge;if(!v){Ee.error("Select a unit first");return}const J=(ge=m[0])==null?void 0:ge.id;if(v===J){Ee("Select a unit from the outline to add content — resources cannot be added directly to the course.",{icon:"ℹ️",duration:4e3});return}if(p(j,v)===!1){Ee.error(`"${j.name}" is already in this collection`);return}Ee.success(`Added "${j.name}"`)},[v,p,m]),M=h.useCallback(j=>{I(j),y(j)},[y]),V=h.useCallback(j=>{P(j)},[]),A=h.useCallback(j=>{N(j),P(null)},[N]),U=h.useMemo(()=>Object.values(O).reduce((j,J)=>j+((J==null?void 0:J.length)??0),0),[O]);return l.jsxs("div",{className:$e.dock,children:[l.jsx("div",{className:$e.header,children:l.jsxs("div",{className:$e.headerLeft,children:[l.jsx("button",{type:"button",className:$e.collapseBtn,onClick:r,"aria-label":"Collapse library panel",title:"Collapse library",children:l.jsx(hv,{size:15})}),l.jsx(uv,{size:16}),l.jsx("span",{className:$e.headerTitle,children:"Library"}),i>0&&l.jsx("span",{className:$e.count,children:i})]})}),l.jsxs("div",{className:$e.searchRow,children:[l.jsxs("div",{className:$e.searchWrap,children:[l.jsx(Vo,{size:14,className:$e.searchIcon}),l.jsx("input",{type:"search",className:$e.searchInput,placeholder:"Search content…",value:a,onChange:j=>u(j.target.value),"aria-label":"Search library"})]}),l.jsx("button",{type:"button",className:[$e.filterToggleBtn,c?$e.filterToggleBtnActive:""].join(" "),onClick:g,"aria-label":c?"Sort: A–Z (click for Recent)":"Sort: Recent (click for A–Z)",title:c?"A–Z":"Recent",children:c?l.jsx(rv,{size:15}):l.jsx(iv,{size:15})}),l.jsxs("button",{type:"button",className:[$e.filterToggleBtn,S?$e.filterToggleBtnActive:""].join(" "),onClick:()=>w(j=>!j),"aria-label":"Toggle advanced filters","aria-pressed":S,title:"Advanced filters",children:[l.jsx(bv,{size:15}),U>0&&l.jsx("span",{className:$e.filterBadge,children:U})]})]}),l.jsx("div",{className:$e.filters,children:l.jsx(pE,{filters:u1,active:o,onChange:f})}),l.jsxs("div",{className:$e.mainArea,children:[l.jsx("div",{className:$e.cardList,role:"list","aria-label":"Library content",children:s&&n.length===0?Array.from({length:4}).map((j,J)=>l.jsxs("div",{className:$e.skeleton,"aria-hidden":"true",children:[l.jsx("div",{className:$e.skeletonIcon}),l.jsxs("div",{className:$e.skeletonText,children:[l.jsx("div",{className:$e.skeletonLine}),l.jsx("div",{className:$e.skeletonLineSm})]})]},J)):n.length>0?l.jsxs(l.Fragment,{children:[n.map(j=>l.jsx(hE,{item:j,onAdd:N,onPreview:V,isDraggable:b,isAdded:B.has(j.identifier)},j.identifier)),d&&l.jsx("button",{type:"button",className:$e.loadMoreBtn,onClick:_,disabled:s,"aria-label":"Load more content",children:s?"Loading…":"Load More"})]}):l.jsxs("div",{className:$e.emptyState,children:[l.jsx(Vo,{size:24}),l.jsx("p",{children:"No content found"}),l.jsx("span",{children:"Try a different search or filter"})]})}),S&&l.jsx("div",{className:$e.sidePanelOverlay,children:l.jsx(mE,{isOpen:S,filters:O,onApply:M,onClose:()=>w(!1)})}),k&&l.jsx(bE,{content:k,onAdd:A,onClose:()=>P(null)})]})]})};function SE(e,t,r){const n={},s={},i=new Set(["id","isFolder","children","parent","isNew","breadcrumb","title","relationalMetadata","optional"]),o=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","targetFWIds","targetTopicIds","topic","topicsIds"]),a=new Set(["audience","attributions","targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","medium","gradeLevel","subject","additionalCategories","keywords","language"]),c=new Set(["copyrightYear","compatibilityLevel","version"]);function d(y,g=!1){const _={};for(const[p,v]of Object.entries(y))if(!i.has(p)&&!(g&&o.has(p)))if(a.has(p))Array.isArray(v)?_[p]=v:v!=null&&v!==""?_[p]=[v]:_[p]=[];else if(c.has(p)){const m=Number(v);isNaN(m)||(_[p]=m)}else _[p]=v;return _}function u(y){var _;const g={};for(const p of y.children??[]){if(p.isFolder)continue;const v=t[p.identifier];if(!v)continue;const{isNew:m,...b}=v;if(Object.keys(b).length===0)continue;const S=((_=p.metadata)==null?void 0:_.relationalMetadata)??{};g[p.identifier]={name:p.name,...S,...b}}return g}function f(y,g){var S,w;const _=y.identifier,p=t[_],v=_.startsWith("temp-")||!!(p!=null&&p.isNew),m=!y.isFolder&&!g;if(g||v||p&&!m){let O;if(v)O={mimeType:"application/vnd.ekstep.content-collection",code:_,contentType:((S=y.metadata)==null?void 0:S.contentType)??"CourseUnit",primaryCategory:((w=y.metadata)==null?void 0:w.primaryCategory)??"Course Unit",name:y.name,visibility:"Parent",channel:r,...d(y.metadata??{})};else if(g){const{isNew:I,...k}=p??{};O={...d(y.metadata??{},!0),...d(k,!1),name:y.name}}else{const{isNew:I,...k}=p??{};O={name:y.name,visibility:"Parent",...d(k,!0)}}n[_]={metadata:O,objectType:y.objectType||(y.isFolder?"Collection":"Content"),root:g,isNew:v}}const b=y.isFolder?u(y):{};s[_]={name:y.name,children:(y.children??[]).map(O=>O.identifier),...Object.keys(b).length>0?{relationalMetadata:b}:{},root:g},(y.children??[]).forEach(O=>f(O,!1))}return e.forEach((y,g)=>f(y,g===0)),{nodesModified:n,hierarchy:s}}function CE(){const[e,t]=h.useState(!1),r=xe(u=>u.treeCache),n=xe(u=>u.treeData),s=ce(u=>u.isDirty),i=ce(u=>u.lastSaved),{setIsDirty:o,setLastSaved:a}=ce(),c=ce(u=>u.editorConfig);return{save:h.useCallback(async()=>{if(!c||e)return;const u=c.context.contentId??c.context.identifier??"";if(!u)return;const f=c.context.channel??"",y=c.context.userId??c.context.uid??"";t(!0);try{const{nodesModified:g,hierarchy:_}=SE(n,r,f),{identifiers:p}=await Fb(u,g,_,y);p&&Object.keys(p).length>0&&xe.getState().replaceNodeIds(p);const v=new Date().toISOString();a(v),o(!1)}catch(g){console.error("[useSaveHierarchy] save failed:",g),Ee.error("Failed to save. Please try again.")}finally{t(!1)}},[c,e,n,r,o,a]),isSaving:e,isDirty:s,lastSaved:i}}function OE(e){const t=ce(o=>o.editorConfig),r=ce(o=>o.setButtonLoader),n=ce(o=>o.validateAllForms),s=xe(o=>o.treeData);return{runAction:h.useCallback(async(o,a)=>{var u,f,y,g;const c=((u=t==null?void 0:t.context)==null?void 0:u.contentId)??((f=t==null?void 0:t.context)==null?void 0:f.identifier)??"";if(!c)return Ee.error("No content identifier found."),!1;const d=((y=t==null?void 0:t.context)==null?void 0:y.userId)??((g=t==null?void 0:t.context)==null?void 0:g.uid)??"";try{switch(o){case"sendForReview":return n(s)?(r("saveCollection",!0),await e(),await Bb(c),Ee.success("Content sent for review"),!0):(Ee.error("Some units have missing required fields. Please fill them before sending for review."),!1);case"reject":{r("rejectCollection",!0);const _=(a==null?void 0:a.comment)??"";return await Ub(c,_),Ee.success("Content rejected and sent back to the author"),!0}case"publish":return n(s)?(r("publishCollection",!0),await e(),await $b(c,d),Ee.success("Content published successfully"),!0):(Ee.error("Some units have missing required fields. Please fill them before publishing."),!1);default:return!1}}catch(_){console.error(`[useToolbarActions] ${o} failed`,_);const p=o==="sendForReview"?"send for review":o==="reject"?"reject":"publish";return Ee.error(`Failed to ${p}. Please try again.`),!1}finally{r("saveCollection",!1),r("rejectCollection",!1),r("publishCollection",!1)}},[t,e,r])}}const Mt={shell:"_shell_90fon_1",workspace:"_workspace_90fon_8",sidebarCollapsed:"_sidebarCollapsed_90fon_16",dockCollapsed:"_dockCollapsed_90fon_19",dock:"_dock_90fon_19",outline:"_outline_90fon_40",reopenTab:"_reopenTab_90fon_45",outlineHidden:"_outlineHidden_90fon_79",editor:"_editor_90fon_86",dockHidden:"_dockHidden_90fon_101",dockReopenTab:"_dockReopenTab_90fon_108",dragChip:"_dragChip_90fon_133",dragChipLabel:"_dragChipLabel_90fon_148"},EE=({editorMode:e,onToolbarEvent:t,onContentAdded:r,onHierarchySaved:n})=>{const[s,i]=h.useState(null),[o,a]=h.useState(!1),[c,d]=h.useState(!1),[u,f]=h.useState(!1),{addResource:y,treeData:g}=xe(),_=ce(A=>A.setFormStatus),[p,v]=h.useState(!0),m=xe(A=>A.selectedNodeId),{save:b,isSaving:S,isDirty:w,lastSaved:O}=CE(),{runAction:I}=OE(b);h.useEffect(()=>{if(!w)return;const A=U=>{U.preventDefault(),U.returnValue=""};return window.addEventListener("beforeunload",A),()=>window.removeEventListener("beforeunload",A)},[w]);const k=Rl(Oo(si,{activationConstraint:{distance:8}})),P=h.useCallback(A=>{var j;const U=(j=A.active.data.current)==null?void 0:j.item;U&&i(U)},[]),B=h.useCallback(A=>{var _e,we;i(null);const U=(_e=A.active.data.current)==null?void 0:_e.item;if(!U)return;const j=A.over,J=(j==null?void 0:j.id)??m??void 0;if(!J){Ee.error("Drop onto a unit to add content");return}const se=(we=g[0])==null?void 0:we.id;if(J===se){Ee.error("Drop content onto a unit, not directly on the course.");return}if(!y(U,J)){Ee.error(`"${U.name}" is already in this collection`);return}r==null||r(U,J),Ee.success(`Added "${U.name}" to unit`)},[m,y,r]),N=h.useCallback(async A=>{if(A.action==="onFormStatusChange"){const{isValid:U,nodeId:j}=A.data??{},J=U!==!1;v(J),j&&_(j,J);return}if(A.action==="back"&&w){f(!0);return}if(A.action==="saveCollection"){if(!p){Ee.error("Please fill the required metadata");return}await b(),n==null||n(g),t==null||t(A);return}if(A.action==="sendForReview"||A.action==="reject"||A.action==="publish"){await I(A.action,A.data)&&(t==null||t(A));return}t==null||t(A)},[b,I,t,n,g,w,p]),M=h.useCallback(async()=>{await b(),f(!1),n==null||n(g),t==null||t({action:"back"})},[b,n,t,g]),V=h.useCallback(()=>{f(!1),t==null||t({action:"back"})},[t]);return l.jsxs(Dc,{sensors:k,onDragStart:P,onDragEnd:B,children:[l.jsxs("div",{className:Mt.shell,children:[l.jsx(Rb,{editorMode:e,isSaving:S,isDirty:w,lastSaved:O,isFormValid:p,onToolbarEvent:N}),l.jsxs("div",{className:[Mt.workspace,o?Mt.sidebarCollapsed:"",c?Mt.dockCollapsed:""].filter(Boolean).join(" "),children:[l.jsx("aside",{className:[Mt.outline,o?Mt.outlineHidden:""].join(" "),"aria-label":"Course outline","aria-hidden":o,children:l.jsx(_1,{editorMode:e,collapsed:o,onToggleCollapse:()=>a(A=>!A)})}),o&&l.jsx("button",{className:Mt.reopenTab,onClick:()=>a(!1),title:"Show outline",type:"button",children:"›"}),l.jsx("main",{className:Mt.editor,role:"main","aria-label":"Content editor",children:l.jsx(cE,{editorMode:e,onToolbarEvent:N})}),l.jsx("aside",{className:[Mt.dock,c?Mt.dockHidden:""].filter(Boolean).join(" "),"aria-label":"Content library","aria-hidden":c,children:l.jsx(wE,{editorMode:e,collapsed:c,onToggleCollapse:()=>d(A=>!A)})}),c&&l.jsx("button",{className:Mt.dockReopenTab,onClick:()=>d(!1),title:"Show library",type:"button",children:"‹"})]})]}),l.jsx(Xy,{dropAnimation:null,children:s?l.jsx("div",{className:Mt.dragChip,children:l.jsx("span",{className:Mt.dragChipLabel,children:s.name})}):null}),u&&l.jsx(Xb,{onSave:M,onDiscard:V,onCancel:()=>f(!1),isSaving:S})]})},DE="v1";function IE(e){const t=e.validations,r=t==null?void 0:t.find(s=>s.type==="maxlength"||s.type==="maxLength");if(!r)return e.maxLength;const n=Number(r.value);return Number.isFinite(n)?n:void 0}function Ah(e,t){var r;return{code:e.code??"",label:e.label??e.name??e.code??"",name:e.name,inputType:e.inputType,dataType:e.dataType,required:e.required===!0||Array.isArray(e.validations)&&e.validations.some(n=>n.type==="required")||String(((r=e.renderingHints)==null?void 0:r.class)??"").includes("required"),editable:e.editable!==!1,visible:e.visible!==!1,placeholder:e.placeholder,maxLength:IE(e),depends:e.depends,sourceCategory:e.sourceCategory,range:e.range,enum:e.enum,default:e.default,defaultValue:e.defaultValue,index:e.index,section:t,output:e.output}}function Dr(e){const t=e==null?void 0:e.properties;if(!Array.isArray(t))return[];const r=[];for(const n of t)if(Array.isArray(n.fields)){const s=n.title??n.name??void 0;for(const i of n.fields)i.code&&r.push(Ah(i,s))}else n.code&&r.push(Ah(n));return r.sort((n,s)=>(n.index??0)-(s.index??0))}function TE(e){const t=e==null?void 0:e.properties;if(!t)return{};const r={};for(const[n,s]of Object.entries(t))s&&"default"in s&&(r[n]=s.default);return r}async function NE(e,t,r="Collection",n=DE){var d,u;const i=(u=(d=(await Me.post(`/action/object/category/definition/${n}/read?fields=objectMetadata,forms,name,label`,{request:{objectCategoryDefinition:{objectType:r,name:e,...t?{channel:t}:{}}}})).data)==null?void 0:d.result)==null?void 0:u.objectCategoryDefinition,o=(i==null?void 0:i.forms)??{},a=(i==null?void 0:i.objectMetadata)??{},c=a.config??{};return{rootForm:Dr(o.create),unitForm:Dr(o.unitMetadata),childForm:Dr(o.childMetadata),searchForm:Dr(o.search??o.searchConfig),relationalForm:Dr(o.relationalMetadata),publishChecklist:Dr(o.publishchecklist),reviewChecklist:Dr(o.review),rfcChecklist:Dr(o.requestforchangeschecklist),schemaDefaults:TE(a.schema),frameworkMetadata:c.frameworkMetadata??{},sourcingSettings:c.sourcingSettings??{}}}function xE({config:e,onError:t}){const[r,n]=h.useState(!0),[s,i]=h.useState(null),[o,a]=h.useState(!1),{setEditorConfig:c,setEditorMode:d,setCategoryDefinition:u}=ce(),{setTreeData:f,selectNode:y}=xe();return h.useEffect(()=>{let g=!1;async function _(){var p,v;try{n(!0),i(null),e.apiBaseUrl&&Uu(e.apiBaseUrl),c(e),d(e.config.mode);const m=e.context.contentId??e.context.identifier??"";if(m){const{rootNode:b}=await qu(m);g||(f(b?[b]:[]),b&&y(b.id));const S=e.config.primaryCategory??"Course",w=e.context.channel??"",O=e.config.categoryDefinitionApiVersion??"v1";try{const I=await NE(S,w,e.config.objectType??"Collection",O);if(!g){u(I);const k=((p=I.sourcingSettings)==null?void 0:p.collection)??{},P={};k.maxDepth&&!e.config.maxDepth&&(P.maxDepth=k.maxDepth),k.children&&!e.config.children&&(P.children=k.children),k.hierarchy&&!((v=e.config.hierarchy)!=null&&v.level1)&&(P.hierarchy={...e.config.hierarchy??{},...k.hierarchy}),Object.keys(P).length>0&&c({...e,config:{...e.config,...P}})}}catch{}}g||a(!0)}catch(m){if(!g){const b=m instanceof Error?m:new Error(String(m));i(b),t==null||t(b)}}finally{g||n(!1)}}return _(),()=>{g=!0}},[e.context.contentId,e.context.identifier]),{isLoading:r,error:s,isReady:o}}const Ns={root:"_root_qcpw6_1",loadingState:"_loadingState_qcpw6_10",loadingSpinner:"_loadingSpinner_qcpw6_20",errorState:"_errorState_qcpw6_34"},kE=new Cp({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});class AE extends h.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t){var r,n;(n=(r=this.props).onError)==null||n.call(r,t)}render(){return this.state.error?l.jsxs("div",{className:Ns.errorState,children:[l.jsx("h3",{children:"Something went wrong"}),l.jsx("p",{children:this.state.error.message}),l.jsx("button",{onClick:()=>this.setState({error:null}),children:"Retry"})]}):this.props.children}}function PE(e){const{isLoading:t,error:r}=xE({config:e,onError:e.onError}),n=ce(s=>s.editorMode);return t?l.jsxs("div",{className:Ns.loadingState,children:[l.jsx("div",{className:Ns.loadingSpinner}),l.jsx("p",{children:"Loading editor..."})]}):r?l.jsxs("div",{className:Ns.errorState,children:[l.jsx("h3",{children:"Failed to load editor"}),l.jsx("p",{children:r.message})]}):l.jsx("div",{className:`sb-split-builder ${Ns.root}`,children:l.jsx(EE,{editorMode:n,onToolbarEvent:e.onToolbarEvent,onContentAdded:e.onContentAdded,onHierarchySaved:e.onHierarchySaved})})}const Ph=e=>l.jsx(AE,{onError:e.onError,children:l.jsxs(Ep,{client:kE,children:[l.jsx(PE,{...e}),l.jsx(Og,{position:"top-right",toastOptions:{duration:3e3}})]})}),Zi=Symbol.for("r2wc.reactRender"),Mh=Symbol.for("r2wc.shouldRender"),Ji=Symbol.for("r2wc.root");function ME(e=""){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function LE(e=""){return e.replace(/-([a-z0-9])/g,function(t){return t[1].toUpperCase()})}var Lh={expando:function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:function(){return r},set:function(n){r=n,this[Zi]()}}),e[Zi]()}};function FE(e,t,r,n={}){var s={isConnected:"isConnected"in HTMLElement.prototype},i=!1,o=function(){var d=Reflect.construct(HTMLElement,arguments,this.constructor);return typeof n.shadow=="string"?d.attachShadow({mode:n.shadow}):n.shadow&&(console.warn('Specifying the "shadow" option as a boolean is deprecated and will be removed in a future version.'),d.attachShadow({mode:"open"})),d},a=Object.create(HTMLElement.prototype);a.constructor=o;var c=new Proxy(a,{has:function(d,u){return u in e.propTypes||u in a},set:function(d,u,f,y){return i&&(s[u]=!0),typeof u=="symbol"||s[u]||u in d?(e.propTypes&&u in e.propTypes&&Lh.expando(y,u,f),Reflect.set(d,u,f,y)):(Lh.expando(y,u,f),!0)},getOwnPropertyDescriptor:function(d,u){var f=Reflect.getOwnPropertyDescriptor(d,u);if(f)return f;if(u in e.propTypes)return{configurable:!0,enumerable:!0,writable:!0,value:void 0}}});return o.prototype=c,a.connectedCallback=function(){this[Mh]=!0,this[Zi]()},a.disconnectedCallback=function(){typeof r.createRoot=="function"?this[Ji].unmount():r.unmountComponentAtNode(this)},a[Zi]=function(){if(this[Mh]===!0){var d={};Object.keys(this).forEach(function(y){s[y]!==!1&&(d[y]=this[y])},this),i=!0;const u=n.shadow?this.shadowRoot:this,f=t.createElement(e,d);typeof r.createRoot=="function"?(this[Ji]||(this[Ji]=r.createRoot(u)),this[Ji].render(f)):r.render(f,u),i=!1}},e.propTypes&&(o.observedAttributes=n.dashStyleAttributes?Object.keys(e.propTypes).map(function(d){return ME(d)}):Object.keys(e.propTypes),a.attributeChangedCallback=function(d,u,f){var y=n.dashStyleAttributes?LE(d):d;this[y]=f}),o}var xs={},ks=Be;if(process.env.NODE_ENV==="production")xs.createRoot=ks.createRoot,xs.hydrateRoot=ks.hydrateRoot;else{var eo=ks.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;xs.createRoot=function(e,t){eo.usingClientEntryPoint=!0;try{return ks.createRoot(e,t)}finally{eo.usingClientEntryPoint=!1}},xs.hydrateRoot=function(e,t,r){eo.usingClientEntryPoint=!0;try{return ks.hydrateRoot(e,t,r)}finally{eo.usingClientEntryPoint=!1}}}function $E(){if(document.getElementById("sb-ce-react-styles"))return;const e=document.createElement("style");e.id="sb-ce-react-styles",e.textContent="@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');",document.head.insertBefore(e,document.head.firstChild)}function jE(e="sb-collection-editor"){if($E(),typeof customElements>"u"||customElements.get(e))return;const t=FE(Ph,h,xs,{});customElements.define(e,t)}ve.CollectionEditor=Ph,ve.registerCollectionEditor=jE,ve.setApiBaseUrl=Uu,ve.useEditorStore=ce,ve.useLibraryStore=Nh,ve.useTreeStore=xe,Object.defineProperty(ve,Symbol.toStringTag,{value:"Module"})});
466
+ Use the data prop if you want to provide your own handlers.`);if(e.initialData){const[t,r]=i1(e.initialData,{idAccessor:e.idAccessor,childrenAccessor:e.childrenAccessor});return Object.assign(Object.assign(Object.assign({},e),r),{data:t})}else return e}function a1(e,t){const r=o1(e);return l.jsxs(R0,{treeProps:r,imperativeHandle:t,children:[l.jsx(Z0,{children:l.jsx(J0,{})}),l.jsx(e1,{})]})}const l1=h.forwardRef(a1);function Ha(){return xe(e=>{var n;const t=e.treeData[0];return(((n=t==null?void 0:t.metadata)==null?void 0:n.status)??(t==null?void 0:t.status)??"Draft").toLowerCase()==="draft"})}function c1(){return xe(e=>{var s;if(!e.selectedNodeId)return!1;const t=(s=e.treeData[0])==null?void 0:s.id,r=i=>{var o;for(const a of i){if(a.id===e.selectedNodeId)return a;if((o=a.children)!=null&&o.length){const c=r(a.children);if(c)return c}}},n=r(e.treeData);return!!(n!=null&&n.isFolder)&&n.id!==t})}const Pf={video:"#EA580C",pdf:"#DC2626",h5p:"#0D9488",scorm:"#7C3AED",audio:"#DB2777",quiz:"#16A34A",default:"#6B7280"},Mf={video:"Video",pdf:"FileText",h5p:"Layers",scorm:"Package",audio:"Music",quiz:"HelpCircle",default:"File"},Lf=["Course Assessment","eTextbook","Exam Question","Explanation Content","Learning Resource","Practice Question Set","SCORM Content","Teacher Resource"],u1=[{label:"All",value:"all"},{label:"Course Assessment",value:"Course Assessment"},{label:"eTextbook",value:"eTextbook"},{label:"Exam Question",value:"Exam Question"},{label:"Explanation Content",value:"Explanation Content"},{label:"Learning Resource",value:"Learning Resource"},{label:"Practice Question Set",value:"Practice Question Set"},{label:"SCORM Content",value:"SCORM Content"},{label:"Teacher Resource",value:"Teacher Resource"}];function d1(e){const t=[e.mimeType??"",e.primaryCategory??"",e.contentType??""].join(" ").toLowerCase();return t.includes("video")?"video":t.includes("pdf")||t.includes("epub")?"pdf":t.includes("h5p")?"h5p":t.includes("scorm")?"scorm":t.includes("audio")||t.includes("mp3")?"audio":t.includes("quiz")||t.includes("question")||t.includes("ecml")?"quiz":"default"}function zi(e){const t=d1(e);return{key:t,color:Pf[t]??Pf.default,bgClass:`sbx-ct-sq--${t}`,badgeClass:`sbx-ct-badge--${t}`,tintClass:`sbx-ct-tint--${t}`,iconName:Mf[t]??Mf.default,label:t.charAt(0).toUpperCase()+t.slice(1)}}const It={row:"_row_i3qt2_1",grip:"_grip_i3qt2_16",menuBtn:"_menuBtn_i3qt2_19",selected:"_selected_i3qt2_23",title:"_title_i3qt2_28",dropTarget:"_dropTarget_i3qt2_33",toggle:"_toggle_i3qt2_50",ctIcon:"_ctIcon_i3qt2_65",folderIcon:"_folderIcon_i3qt2_77",renameInput:"_renameInput_i3qt2_92",dropHere:"_dropHere_i3qt2_101",menuWrap:"_menuWrap_i3qt2_111",menu:"_menu_i3qt2_19",dangerItem:"_dangerItem_i3qt2_163"},f1={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},h1=({node:e,style:t,dragHandle:r,editorMode:n})=>{const[s,i]=h.useState(!1),[o,a]=h.useState(!1),[c,d]=h.useState(e.data.name),u=h.useRef(null),f=n==="edit",y=Ha(),g=zi(e.data),_=f1[g.key]??pn,p=e.isSelected,v=e.level===0,m=e.data.isFolder??(e.children&&e.children.length>0),b=v?nv:m?lv:_;h.useEffect(()=>{if(!s)return;const O=I=>{var k;(k=u.current)!=null&&k.contains(I.target)||i(!1)};return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[s]);const S=h.useCallback(()=>{c.trim()&&e.submit(c.trim()),a(!1)},[c,e]),w=h.useCallback(O=>{O.key==="Enter"&&S(),O.key==="Escape"&&(d(e.data.name),a(!1))},[S,e.data.name]);return l.jsxs("div",{className:[It.row,p?It.selected:"",e.state.isOver&&m?It.dropTarget:""].filter(Boolean).join(" "),style:t,onClick:()=>e.select(),"data-node-id":e.data.id,"data-droppable":m?"true":void 0,role:"treeitem","aria-selected":p,"aria-expanded":m?!e.isClosed:void 0,children:[f&&l.jsx("span",{ref:r,className:It.grip,"aria-hidden":"true",children:l.jsx(Fc,{size:14})}),l.jsx("button",{className:It.toggle,onClick:O=>{O.stopPropagation(),e.toggle()},"aria-label":e.isClosed?"Expand":"Collapse",style:{visibility:m?"visible":"hidden"},children:e.isClosed?l.jsx(Ac,{size:14}):l.jsx(ls,{size:14})}),l.jsx("span",{className:`${It.ctIcon} ${v||m?It.folderIcon:g.bgClass}`,"aria-hidden":"true",children:l.jsx(b,{size:12})}),o?l.jsx("input",{className:It.renameInput,value:c,autoFocus:!0,onChange:O=>d(O.target.value),onBlur:S,onKeyDown:w,onClick:O=>O.stopPropagation()}):l.jsx("span",{className:It.title,title:e.data.name,onDoubleClick:()=>f&&a(!0),children:e.data.name.length>25?`${e.data.name.slice(0,25)}...`:e.data.name}),e.state.isOver&&m&&l.jsx("span",{className:It.dropHere,"aria-hidden":"true",children:"Drop here"}),f&&l.jsxs("div",{className:It.menuWrap,ref:u,children:[l.jsx("button",{className:It.menuBtn,onClick:O=>{O.stopPropagation(),i(I=>!I)},"aria-label":"Node options",children:l.jsx(Mc,{size:14})}),s&&l.jsxs("div",{className:It.menu,role:"menu",children:[l.jsxs("button",{role:"menuitem",onClick:()=>{a(!0),i(!1)},children:[l.jsx(pv,{size:13})," Rename"]}),m&&y&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.id}),i(!1)},children:[l.jsx(Lc,{size:13})," Add sub-unit"]}),e.data.parent&&y&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.data.parent}),i(!1)},children:[l.jsx(cs,{size:13})," Add Sibling"]}),l.jsxs("button",{role:"menuitem",className:It.dangerItem,onClick:()=>{e.tree.delete(e.id),i(!1)},children:[l.jsx(zo,{size:13})," Delete"]})]})]})]})};async function p1(e,t){var i,o;const n=((i=(await Me.post(`/action/content/v3/upload/url/${e}?type=hierarchy`,{request:{content:{fileName:t}}})).data)==null?void 0:i.result)??{},s=((o=n.content)==null?void 0:o.preSignedURL)??n.pre_signed_url??n.preSignedUrl;if(!s)throw new Error("Could not obtain an upload URL");return s}async function g1(e,t){const r=await fetch(e,{method:"PUT",headers:{"x-ms-blob-type":"BlockBlob","Content-Type":"text/csv"},body:t});if(!r.ok)throw new Error(`Blob upload failed (${r.status})`);return e.split("?")[0]}async function y1(e,t){var a;const r=await p1(e,t.name),n=await g1(r,t),s=new FormData;return s.append("fileUrl",n),s.append("mimeType",t.type||"text/csv"),{processId:(((a=(await Me.post(`/action/collection/v1/import/${e}`,s)).data)==null?void 0:a.result)??{}).processId??""}}async function v1(e){var r;return((r=(await Me.get(`/action/collection/v1/import/status/${e}`)).data)==null?void 0:r.result)??{status:"PENDING"}}async function Ff(e){var n,s,i;const r=(i=(s=(n=(await Me.get(`/action/collection/v1/export/${e}`)).data)==null?void 0:n.result)==null?void 0:s.collection)==null?void 0:i.tocUrl;if(!r)throw new Error("No export URL returned");return r}async function m1(e){return Ff(e)}const Ie={container:"_container_jr3ij_1",header:"_header_jr3ij_13",title:"_title_jr3ij_22",closeBtn:"_closeBtn_jr3ij_29",body:"_body_jr3ij_45",dropZone:"_dropZone_jr3ij_54",dragOver:"_dragOver_jr3ij_67",hasFile:"_hasFile_jr3ij_72",hiddenInput:"_hiddenInput_jr3ij_78",fileInfo:"_fileInfo_jr3ij_82",fileIcon:"_fileIcon_jr3ij_89",fileName:"_fileName_jr3ij_93",fileSize:"_fileSize_jr3ij_100",dropHint:"_dropHint_jr3ij_105",dropIcon:"_dropIcon_jr3ij_112",dropText:"_dropText_jr3ij_117",dropSubtext:"_dropSubtext_jr3ij_124",sampleLink:"_sampleLink_jr3ij_130",statusBar:"_statusBar_jr3ij_145",status_uploading:"_status_uploading_jr3ij_154",status_processing:"_status_processing_jr3ij_154",status_done:"_status_done_jr3ij_159",status_error:"_status_error_jr3ij_164",successDetail:"_successDetail_jr3ij_170",spinner:"_spinner_jr3ij_175",spin:"_spin_jr3ij_175",errorMsg:"_errorMsg_jr3ij_191",failedSection:"_failedSection_jr3ij_197",failedTitle:"_failedTitle_jr3ij_203",tableWrap:"_tableWrap_jr3ij_213",failedTable:"_failedTable_jr3ij_219",reasonCell:"_reasonCell_jr3ij_244",footer:"_footer_jr3ij_248"},b1=({contentId:e,onComplete:t,onClose:r,mode:n="create"})=>{const[s,i]=h.useState(null),[o,a]=h.useState(!1),[c,d]=h.useState("idle"),[u,f]=h.useState(""),[y,g]=h.useState([]),[_,p]=h.useState(null),v=h.useRef(null),m=h.useRef(null),b=h.useCallback(()=>{m.current!==null&&(clearInterval(m.current),m.current=null)},[]);h.useEffect(()=>()=>b(),[b]);const S=N=>N.name.toLowerCase().endsWith(".csv")?N.size>50*1024*1024?(f("File size must not exceed 50 MB."),!1):!0:(f("Only .csv files are accepted."),!1),w=h.useCallback(N=>{f(""),g([]),p(null),d("idle"),S(N)&&i(N)},[]),O=h.useCallback(N=>{N.preventDefault(),a(!1);const M=N.dataTransfer.files[0];M&&w(M)},[w]),I=h.useCallback(N=>{var V;const M=(V=N.target.files)==null?void 0:V[0];M&&w(M),N.target.value=""},[w]),k=h.useCallback(async()=>{try{const N=await m1(e),M=document.createElement("a");M.href=N,M.download="sample_hierarchy.csv",M.target="_blank",M.click()}catch{f("Failed to download sample CSV.")}},[e]),P=h.useCallback(async()=>{if(s){d("uploading"),f(""),g([]);try{const{processId:N}=await y1(e,s);if(!N){d("done"),p(null),setTimeout(t,1500);return}d("processing"),m.current=setInterval(async()=>{try{const M=await v1(N);M.status==="COMPLETED"?(b(),d("done"),p(M.successCount??null),M.failedRecords&&M.failedRecords.length>0?g(M.failedRecords):setTimeout(t,1500)):M.status==="FAILED"&&(b(),d("error"),f("Upload processing failed. Please check the error rows below."),M.failedRecords&&g(M.failedRecords))}catch{b(),d("error"),f("Lost connection while checking status. Please try again.")}},2e3)}catch{d("error"),f("Upload failed. Please check your file and try again.")}}},[e,s,t,b]),B={idle:"",uploading:"Uploading...",processing:"Processing...",done:"Done!",error:"Error"};return l.jsxs("div",{className:Ie.container,children:[l.jsxs("div",{className:Ie.header,children:[l.jsx("h2",{className:Ie.title,children:n==="update"?"Update Folder Metadata via CSV":"Create Folders via CSV"}),l.jsx("button",{className:Ie.closeBtn,onClick:r,"aria-label":"Close",children:"✕"})]}),l.jsxs("div",{className:Ie.body,children:[l.jsxs("div",{className:`${Ie.dropZone} ${o?Ie.dragOver:""} ${s?Ie.hasFile:""}`,onDragEnter:N=>{N.preventDefault(),a(!0)},onDragOver:N=>{N.preventDefault(),a(!0)},onDragLeave:N=>{N.preventDefault(),a(!1)},onDrop:O,onClick:()=>{var N;return(N=v.current)==null?void 0:N.click()},role:"button",tabIndex:0,"aria-label":"Drop CSV file here or click to browse",onKeyDown:N=>{var M;return N.key==="Enter"&&((M=v.current)==null?void 0:M.click())},children:[l.jsx("input",{ref:v,type:"file",accept:".csv",className:Ie.hiddenInput,onChange:I,"aria-hidden":"true"}),s?l.jsxs("div",{className:Ie.fileInfo,children:[l.jsx("span",{className:Ie.fileIcon,children:"📄"}),l.jsx("span",{className:Ie.fileName,children:s.name}),l.jsxs("span",{className:Ie.fileSize,children:["(",(s.size/1024).toFixed(1)," KB)"]})]}):l.jsxs("div",{className:Ie.dropHint,children:[l.jsx("span",{className:Ie.dropIcon,children:"⬆️"}),l.jsx("p",{className:Ie.dropText,children:"Drag & drop your CSV here"}),l.jsx("p",{className:Ie.dropSubtext,children:"or click to browse"})]})]}),l.jsx("button",{className:Ie.sampleLink,onClick:k,type:"button",children:"Download Sample CSV"}),c!=="idle"&&l.jsxs("div",{className:`${Ie.statusBar} ${Ie[`status_${c}`]}`,role:"status","aria-live":"polite",children:[c==="processing"&&l.jsx("span",{className:Ie.spinner,"aria-hidden":"true"}),B[c],c==="done"&&_!==null&&l.jsxs("span",{className:Ie.successDetail,children:[" — ",_," item(s) imported"]})]}),u&&l.jsx("p",{className:Ie.errorMsg,role:"alert",children:u}),y.length>0&&l.jsxs("div",{className:Ie.failedSection,children:[l.jsxs("h4",{className:Ie.failedTitle,children:["Failed Rows (",y.length,")"]}),l.jsx("div",{className:Ie.tableWrap,children:l.jsxs("table",{className:Ie.failedTable,children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Row"}),l.jsx("th",{children:"Name"}),l.jsx("th",{children:"Reason"})]})}),l.jsx("tbody",{children:y.map((N,M)=>l.jsxs("tr",{children:[l.jsx("td",{children:N.rowNumber??M+1}),l.jsx("td",{children:N.name??"—"}),l.jsx("td",{className:Ie.reasonCell,children:N.reason??"Unknown error"})]},M))})]})})]})]}),l.jsxs("div",{className:Ie.footer,children:[l.jsx(Te,{variant:"ghost",onClick:r,disabled:c==="uploading"||c==="processing",children:"Cancel"}),l.jsx(Te,{variant:"primary",isLoading:c==="uploading"||c==="processing",disabled:!s||c==="done",onClick:P,children:c==="done"?"Uploaded":"Upload"})]})]})},tr={container:"_container_1y30m_1",header:"_header_1y30m_8",headerActions:"_headerActions_1y30m_19",iconBtn:"_iconBtn_1y30m_25",menuWrap:"_menuWrap_1y30m_43",dropdownMenu:"_dropdownMenu_1y30m_47",treeWrapper:"_treeWrapper_1y30m_79",csvModal:"_csvModal_1y30m_95",footer:"_footer_1y30m_105"},_1=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{var we;const n=h.useRef(null),s=h.useRef(null),i=h.useRef(null),[o,a]=h.useState(400),[c,d]=h.useState(!1),[u,f]=h.useState(!1),[y,g]=h.useState("create"),{treeData:_,selectedNodeId:p,selectNode:v,addNode:m,deleteNode:b,reorderChildren:S,moveNode:w,setTreeData:O}=xe(),I=e==="edit",k=Ha(),P=I&&k,B=(((we=_[0])==null?void 0:we.children)??[]).some(G=>G.isFolder),N=ce(G=>{var L,X,F,Y;return((X=(L=G.editorConfig)==null?void 0:L.context)==null?void 0:X.contentId)??((Y=(F=G.editorConfig)==null?void 0:F.context)==null?void 0:Y.identifier)??""}),M=ce(G=>{var X,F;const L=(F=(X=G.categoryMeta)==null?void 0:X.sourcingSettings)==null?void 0:F.collection;return(L==null?void 0:L.enableBulkUpload)!==!1});h.useEffect(()=>{const G=s.current;if(!G)return;const L=new ResizeObserver(()=>{a(G.clientHeight||400)});return L.observe(G),a(G.clientHeight||400),()=>L.disconnect()},[]),h.useEffect(()=>{if(!c)return;const G=L=>{var X;(X=i.current)!=null&&X.contains(L.target)||d(!1)};return document.addEventListener("mousedown",G),()=>document.removeEventListener("mousedown",G)},[c]);const V=h.useCallback(G=>{G.length>0&&v(G[0].data.id)},[v]),A=h.useCallback(({parentId:G,index:L,dragIds:X})=>{if(!G)return;const F=X[0],Y=Wa(_,F);if(!Y)return;const K=Y.parent;if(K===G){const oe=Wa(_,G);if(!(oe!=null&&oe.children))return;const Se=oe.children.findIndex(Ae=>Ae.id===F);if(Se<0)return;S(G,Se,L>Se?L-1:L)}else w(F,K??"",G)},[_,S,w]),U=h.useCallback(({ids:G})=>{G.forEach(L=>b(L))},[b]),j=h.useCallback(({parentId:G})=>{var F;const L=G??((F=_[0])==null?void 0:F.id)??"";if(!L)return{id:crypto.randomUUID()};const X=m(L,"unit");return X?{id:X}:(Ee.error("Maximum depth reached"),{id:crypto.randomUUID()})},[m,_]),J=h.useCallback(()=>{var L;const G=(L=_[0])==null?void 0:L.id;G&&(m(G,"unit")||Ee.error("Maximum depth reached"))},[_,m]),se=h.useCallback(()=>{p&&(m(p,"subunit")||Ee.error("Maximum depth reached"))},[p,m]),ge=h.useCallback(async()=>{if(d(!1),!!N)try{const G=await Ff(N),L=await fetch(G).then(Y=>Y.blob()),X=URL.createObjectURL(L),F=document.createElement("a");F.href=X,F.download=`${N}-folders.csv`,F.style.display="none",document.body.appendChild(F),F.click(),document.body.removeChild(F),URL.revokeObjectURL(X)}catch{Ee.error("Failed to download CSV")}},[N]),_e=h.useCallback(async()=>{if(f(!1),!!N)try{const{rootNode:G}=await qu(N);O([G]),Ee.success("Course outline refreshed.")}catch{Ee.error("Outline could not be refreshed automatically. Please reload the page.")}},[N,O]);return l.jsxs("div",{className:tr.container,children:[l.jsx("div",{className:tr.header,children:l.jsxs("div",{className:tr.headerActions,children:[I&&l.jsxs("div",{className:tr.menuWrap,ref:i,children:[l.jsx("button",{type:"button",className:tr.iconBtn,onClick:()=>d(G=>!G),"aria-label":"More options",title:"More options","aria-haspopup":"true","aria-expanded":c,children:l.jsx(Mc,{size:15})}),c&&l.jsx("div",{className:tr.dropdownMenu,role:"menu",children:M&&l.jsxs(l.Fragment,{children:[l.jsx("button",{role:"menuitem",type:"button",disabled:B,title:B?'Folders already exist — use "Update" instead':void 0,onClick:()=>{d(!1),g("create"),f(!0)},children:"Create folders using csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!B,title:B?void 0:'No folders yet — use "Create" first',onClick:ge,children:"Download folders as csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!B,title:B?void 0:'No folders yet — use "Create" first',onClick:()=>{d(!1),g("update"),f(!0)},children:"Update folder metadata using csv file"})]})})]}),r&&l.jsx("button",{type:"button",className:tr.iconBtn,onClick:r,"aria-label":t?"Expand outline":"Collapse outline",title:t?"Expand outline":"Collapse outline",children:t?l.jsx(fv,{size:15}):l.jsx(dv,{size:15})})]})}),l.jsx("div",{className:tr.treeWrapper,ref:s,children:l.jsx(l1,{ref:n,data:_,idAccessor:"id",childrenAccessor:"children",onSelect:V,onMove:I?A:void 0,onDelete:I?U:void 0,onCreate:I?j:void 0,disableEdit:!I,disableDrop:!I,selection:p??void 0,rowHeight:40,indent:20,paddingBottom:16,height:o,width:"100%",children:G=>l.jsx(h1,{...G,editorMode:e})})}),I&&l.jsxs("div",{className:tr.footer,children:[l.jsxs(Te,{variant:"ghost",size:"sm",onClick:J,disabled:!P,children:[l.jsx(cs,{size:14})," Add Unit"]}),l.jsxs(Te,{variant:"ghost",size:"sm",onClick:se,disabled:!P||!p,children:[l.jsx(Lc,{size:14})," Add Sub-unit"]})]}),u&&l.jsx("div",{className:tr.csvModal,children:l.jsx(b1,{contentId:N,mode:y,onComplete:_e,onClose:()=>f(!1)})})]})};function Wa(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=Wa(r.children,t);if(n)return n}}}const Ss={breadcrumb:"_breadcrumb_zd1aj_1",crumb:"_crumb_zd1aj_10",sep:"_sep_zd1aj_26",current:"_current_zd1aj_31"},w1=({crumbs:e})=>{const t=xe(r=>r.selectNode);return e.length?l.jsxs("nav",{className:Ss.breadcrumb,"aria-label":"Node path",children:[l.jsx("button",{className:Ss.crumb,onClick:()=>t(e[0].id),"aria-label":"Home",children:l.jsx(cv,{size:13})}),e.map((r,n)=>l.jsxs(h.Fragment,{children:[l.jsx(Ac,{size:13,className:Ss.sep}),n<e.length-1?l.jsx("button",{className:Ss.crumb,onClick:()=>t(r.id),children:r.name}):l.jsx("span",{className:Ss.current,children:r.name})]},r.id))]}):null},Cs={tabBar:"_tabBar_qhks1_1",tab:"_tab_qhks1_1",active:"_active_qhks1_29",error:"_error_qhks1_35",errorDot:"_errorDot_qhks1_39"},$f=[{id:"details",label:"Details"},{id:"audience",label:"Audience & Curriculum"},{id:"licensing",label:"Licensing"}],S1=({activeTab:e,onChange:t,errorTabs:r=[],visibleTabs:n})=>{const s=n?$f.filter(i=>n.includes(i.id)):$f;return l.jsx("div",{className:Cs.tabBar,role:"tablist","aria-label":"Metadata sections",children:s.map(i=>l.jsxs("button",{role:"tab","aria-selected":e===i.id,"aria-controls":`panel-${i.id}`,className:[Cs.tab,e===i.id?Cs.active:"",r.includes(i.id)?Cs.error:""].join(" "),onClick:()=>t(i.id),children:[i.label,r.includes(i.id)&&l.jsx("span",{className:Cs.errorDot,"aria-label":"Has errors"})]},i.id))})};var Os=e=>e.type==="checkbox",Gr=e=>e instanceof Date,ot=e=>e==null;const jf=e=>typeof e=="object";var Ue=e=>!ot(e)&&!Array.isArray(e)&&jf(e)&&!Gr(e),Ka=e=>Ue(e)&&e.target?Os(e.target)?e.target.checked:e.target.value:e,Bf=(e,t)=>t.split(".").some((r,n,s)=>!isNaN(Number(r))&&e.has(s.slice(0,n).join("."))),Uf=e=>{const t=e.constructor&&e.constructor.prototype;return Ue(t)&&t.hasOwnProperty("isPrototypeOf")},qi=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function qe(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(qi&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(Ue(e)&&Uf(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(n[s]=qe(e[s]));return n}const Er={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},Gt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Qt={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ga="form",Vf="root",zf=["__proto__","constructor","prototype"];var Es=e=>/^\w*$/.test(e),Le=e=>e===void 0,Hi=e=>e.split(/[.[\]'"]/g).filter(Boolean),W=(e,t,r)=>{if(!t||!Ue(e))return r;const n=Es(t)?[t]:Hi(t);if(n.some(i=>zf.includes(i)))return r;const s=n.reduce((i,o)=>ot(i)?void 0:i[o],e);return Le(s)||s===e?Le(e[t])?r:e[t]:s},At=e=>typeof e=="boolean",pt=e=>typeof e=="function",ke=(e,t,r)=>{let n=-1;const s=Es(t)?[t]:Hi(t),i=s.length,o=i-1;for(;++n<i;){const a=s[n];let c=r;if(n!==o){const d=e[a];c=Ue(d)||Array.isArray(d)?d:isNaN(+s[n+1])?{}:[]}if(zf.includes(a))return;e[a]=c,e=e[a]}};const Qa=h.createContext(null);Qa.displayName="HookFormControlContext";const Ya=()=>h.useContext(Qa);var qf=(e,t,r,n=!0)=>{const s={};for(const i in e)Object.defineProperty(s,i,{get:()=>{const o=i;return t._proxyFormState[o]!==Gt.all&&(t._proxyFormState[o]=!n||Gt.all),r&&(r[o]=!0),e[o]}});return s};const Ra=qi?h.useLayoutEffect:h.useEffect;function C1(e){const t=Ya(),{control:r=t,disabled:n,name:s,exact:i}=e||{},[o,a]=h.useState(()=>({...r._formState,defaultValues:r._defaultValues})),c=h.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ra(()=>r._subscribe({name:s,formState:c.current,exact:i,callback:d=>{!n&&a({...r._formState,...d,defaultValues:r._defaultValues})}}),[s,n,i]),h.useEffect(()=>{c.current.isValid&&r._setValid(!0)},[r]),h.useMemo(()=>qf(o,r,c.current,!1),[o,r])}var gt=e=>typeof e=="string",Xa=(e,t,r,n,s)=>gt(e)?(n&&t.watch.add(e),W(r,e,s)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),W(r,i))):(n&&(t.watchAll=!0),r),Za=e=>ot(e)||!jf(e);const Hf=(e,t)=>t.length===0&&!Array.isArray(e)&&!Uf(e);function Pt(e,t,r=new WeakMap){if(e===t)return!0;if(Za(e)||Za(t))return Object.is(e,t);if(Gr(e)&&Gr(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;if(Hf(e,n)||Hf(t,s))return Object.is(e,t);const i=r.get(e);if(i&&i.has(t))return!0;i?i.add(t):r.set(e,new WeakSet([t]));for(const o of n){const a=e[o];if(!(o in t))return!1;if(o!=="ref"){const c=t[o];if(Gr(a)&&Gr(c)||(Ue(a)||Array.isArray(a))&&(Ue(c)||Array.isArray(c))?!Pt(a,c,r):!Object.is(a,c))return!1}}return!0}function O1(e){const t=Ya(),{control:r=t,name:n,defaultValue:s,disabled:i,exact:o,compute:a}=e||{},c=h.useRef(s),d=h.useRef(a),u=h.useRef(void 0),f=h.useRef(r),y=h.useRef(n);d.current=a;const[g,_]=h.useState(()=>{const w=r._getWatch(n,c.current);return d.current?d.current(w):w}),p=h.useCallback(w=>{const O=Xa(n,r._names,w||r._formValues,!1,c.current);return d.current?d.current(O):O},[r._formValues,r._names,n]),v=h.useCallback(w=>{if(!i){const O=Xa(n,r._names,w||r._formValues,!1,c.current);if(d.current){const I=d.current(O);Pt(I,u.current)||(_(I),u.current=I)}else _(O)}},[r._formValues,r._names,i,n]);Ra(()=>((f.current!==r||!Pt(y.current,n))&&(f.current=r,y.current=n,v()),r._subscribe({name:n,formState:{values:!0},exact:o,callback:w=>{v(w.values)}})),[r,o,n,v]),h.useEffect(()=>r._removeUnmounted());const m=f.current!==r,b=y.current,S=h.useMemo(()=>{if(i)return null;const w=!m&&!Pt(b,n);return m||w?p():null},[i,m,n,b,p]);return S!==null?S:g}function Wi(e){const t=Ya(),{name:r,disabled:n,control:s=t,shouldUnregister:i,defaultValue:o,exact:a=!0}=e,c=Bf(s._names.array,r),d=h.useMemo(()=>W(s._formValues,r,W(s._defaultValues,r,o)),[s,r,o]),u=O1({control:s,name:r,defaultValue:d,exact:a}),f=C1({control:s,name:r,exact:a}),y=h.useRef(e),g=h.useRef(null),_=h.useRef(s.register(r,{...e.rules,value:u,...At(e.disabled)?{disabled:e.disabled}:{}}));y.current=e;const p=h.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!W(f.errors,r)},isDirty:{enumerable:!0,get:()=>!!W(f.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!W(f.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!W(f.validatingFields,r)},error:{enumerable:!0,get:()=>W(f.errors,r)}}),[f,r]),v=h.useCallback(w=>{const O=Ka(w);return W(s._fields,r)||(_.current=s.register(r,{...y.current.rules,value:O})),_.current.onChange({target:{value:Ka(w),name:r},type:Er.CHANGE})},[r,s]),m=h.useCallback(()=>_.current.onBlur({target:{value:W(s._formValues,r),name:r},type:Er.BLUR}),[r,s._formValues]),b=h.useCallback(w=>{w&&(g.current={focus:()=>pt(w.focus)&&w.focus(),select:()=>pt(w.select)&&w.select(),setCustomValidity:I=>pt(w.setCustomValidity)&&w.setCustomValidity(I),reportValidity:()=>pt(w.reportValidity)&&w.reportValidity()});const O=W(s._fields,r);O&&O._f&&w&&(O._f.ref=g.current)},[s._fields,r]),S=h.useMemo(()=>({name:r,value:u,...At(n)||f.disabled?{disabled:f.disabled||n}:{},onChange:v,onBlur:m,ref:b}),[r,n,f.disabled,v,m,b,u]);return h.useEffect(()=>{const w=s._options.shouldUnregister||i;s.register(r,{...y.current.rules,...At(y.current.disabled)?{disabled:y.current.disabled}:{}});const O=(I,k)=>{const P=W(s._fields,I);P&&P._f&&(P._f.mount=k)};if(O(r,!0),w){const I=qe(W(i?s._defaultValues:s._options.values||s._defaultValues,r,W(s._options.defaultValues,r,y.current.defaultValue)));ke(s._defaultValues,r,I),Le(W(s._formValues,r))&&ke(s._formValues,r,I)}if(!c&&s.register(r),g.current){const I=W(s._fields,r);I&&I._f&&(I._f.ref=g.current)}return()=>{(c?w&&!s._state.action:w)?s.unregister(r):O(r,!1)}},[r,s,c,i]),h.useEffect(()=>{s._setDisabledField({disabled:n,name:r})},[n,r,s]),h.useMemo(()=>({field:S,formState:f,fieldState:p}),[S,f,p])}const Ja=h.createContext(null);Ja.displayName="HookFormContext";const Yt=()=>h.useContext(Ja),E1=({children:e,watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:y,unregister:g,control:_,register:p,setFocus:v,subscribe:m})=>{const b=h.useMemo(()=>({watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:y,unregister:g,control:_,register:p,setFocus:v,subscribe:m}),[i,_,d,n,r,y,p,f,u,s,v,o,a,m,c,g,t]);return h.createElement(Ja.Provider,{value:b},h.createElement(Qa.Provider,{value:b.control},e))};var D1=(e,t,r,n,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:s||!0}}:{},Wf=e=>Array.isArray(e)?e.filter(Boolean):[],Ki=e=>Array.isArray(e)?e:[e],Kf=()=>{let e=[];return{get observers(){return e},next:s=>{for(const i of e)i.next&&i.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(i=>i!==s)}}),unsubscribe:()=>{e=[]}}};function Gf(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const s=e[n],i=t[n];if(s&&Ue(s)&&i){const o=Gf(s,i);Ue(o)&&(r[n]=o)}else e[n]&&(r[n]=i)}return r}var Je=e=>Ue(e)&&!Object.keys(e).length,el=e=>e.type==="file",Gi=e=>{if(!qi)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Qf=e=>e.type==="select-multiple",tl=e=>e.type==="radio",I1=e=>tl(e)||Os(e),rl=e=>Gi(e)&&e.isConnected;function T1(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;){if(ot(e)){e=void 0;break}e=e[t[n]],n++}return e}function N1(e){for(const t in e)if(e.hasOwnProperty(t)&&!Le(e[t]))return!1;return!0}function Qe(e,t){if(gt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Es(t)?[t]:Hi(t),n=r.length===1?e:T1(e,r),s=r.length-1,i=r[s];return n&&delete n[i],s!==0&&(Ue(n)&&Je(n)||Array.isArray(n)&&N1(n))&&Qe(e,r.slice(0,-1)),e}var x1=e=>{for(const t in e)if(pt(e[t]))return!0;return!1};function Yf(e){return Array.isArray(e)||Ue(e)&&!x1(e)}function nl(e,t={}){for(const r in e){const n=e[r];Yf(n)?(t[r]=Array.isArray(n)?[]:{},nl(n,t[r])):Le(n)||(t[r]=!0)}return t}function sl(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const t=e.map(r=>sl(r));return t.some(r=>r!==void 0)?t:void 0}if(Ue(e)){const t={};for(const r in e){const n=sl(e[r]);Le(n)||(t[r]=n)}return Object.keys(t).length?t:void 0}}}function Qr(e,t,r){r||(r=nl(t));for(const n in e){const s=e[n];if(Yf(s))Le(t)||Za(r[n])?r[n]=nl(s,Array.isArray(s)?[]:{}):Qr(s,ot(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Pt(s,i)}}return sl(r)||{}}const Rf={value:!1,isValid:!1},Xf={value:!0,isValid:!0};var Zf=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Le(e[0].attributes.value)?Le(e[0].value)||e[0].value===""?Xf:{value:e[0].value,isValid:!0}:Xf:Rf}return Rf},Jf=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>Le(e)?e:t?e===""?NaN:e&&+e:r&&gt(e)?new Date(e):n?n(e):e;const eh={isValid:!1,value:null};var th=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,eh):eh;function rh(e){const t=e.ref;return el(t)?t.files:tl(t)?th(e.refs).value:Qf(t)?[...t.selectedOptions].map(({value:r})=>r):Os(t)?Zf(e.refs).value:Jf(Le(t.value)?e.ref.value:t.value,e)}var k1=(e,t,r,n)=>{const s={};for(const i of e){const o=W(t,i);o&&ke(s,i,o._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:n}},Qi=e=>e instanceof RegExp,Ds=e=>Le(e)?e:Qi(e)?e.source:Ue(e)?Qi(e.value)?e.value.source:e.value:e,nh=e=>({isOnSubmit:!e||e===Gt.onSubmit,isOnBlur:e===Gt.onBlur,isOnChange:e===Gt.onChange,isOnAll:e===Gt.all,isOnTouch:e===Gt.onTouched});const sh="AsyncFunction";var A1=e=>!!e&&!!e.validate&&!!(pt(e.validate)&&e.validate.constructor.name===sh||Ue(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===sh)),P1=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),il=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(`${n}.`)));const Is=(e,t,r,n)=>{for(const s of r||Object.keys(e)){const i=W(e,s);if(i){const{_f:o,...a}=i;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],s)&&!n)return!0;if(o.ref&&t(o.ref,o.name)&&!n)return!0;if(Is(a,t))break}else if(Ue(a)&&Is(a,t))break}}};function ih(e,t,r){const n=W(e,r);if(n||Es(r))return{error:n,name:r};const s=r.split(".");for(;s.length;){const i=s.join("."),o=W(t,i),a=W(e,i);if(o&&!Array.isArray(o)&&r!==i)return{name:r};if(a&&a.type)return{name:i,error:a};if(a&&a.root&&a.root.type)return{name:`${i}.root`,error:a.root};s.pop()}return{name:r}}var M1=(e,t,r,n)=>{r(e);const{name:s,...i}=e;return Je(i)||n&&Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!n||Gt.all))},L1=(e,t,r)=>!e||!t||e===t||Ki(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),F1=(e,t,r,n,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(t||e):(r?n.isOnBlur:s.isOnBlur)?!e:(r?n.isOnChange:s.isOnChange)?e:!0,$1=(e,t)=>!Wf(W(e,t)).length&&Qe(e,t),oh=(e,t,r)=>{const n=W(e,r),s=Array.isArray(n)?n:[];return ke(s,Vf,t[r]),ke(e,r,s),e};function ah(e,t,r="validate"){if(gt(e)||Array.isArray(e)&&e.every(gt)||At(e)&&!e)return{type:r,message:gt(e)?e:"",ref:t}}var xn=e=>Ue(e)&&!Qi(e)?e:{value:e,message:""},lh=async(e,t,r,n,s,i)=>{const{ref:o,refs:a,required:c,maxLength:d,minLength:u,min:f,max:y,pattern:g,validate:_,name:p,valueAsNumber:v,mount:m}=e._f,b=W(r,p);if(!m||t.has(p))return{};const S=a?a[0]:o,w=V=>{if(s&&S.reportValidity){const A=At(V)?"":V||"";a?a.forEach(U=>U.setCustomValidity(A)):S.setCustomValidity(A),S.reportValidity()}},O={},I=tl(o),k=Os(o),P=I||k,B=(v||el(o))&&Le(o.value)&&Le(b)||Gi(o)&&o.value===""||b===""||Array.isArray(b)&&!b.length,N=D1.bind(null,p,n,O),M=(V,A,U,j=Qt.maxLength,J=Qt.minLength)=>{const se=V?A:U;O[p]={type:V?j:J,message:se,ref:o,...N(V?j:J,se)}};if(i?!Array.isArray(b)||!b.length:c&&(!P&&(B||ot(b))||At(b)&&!b||k&&!Zf(a).isValid||I&&!th(a).isValid)){const{value:V,message:A}=gt(c)?{value:!!c,message:c}:xn(c);if(V&&(O[p]={type:Qt.required,message:A,ref:S,...N(Qt.required,A)},!n))return w(A),O}if(!B&&(!ot(f)||!ot(y))){let V,A;const U=xn(y),j=xn(f);if(!ot(b)&&!isNaN(b)){const J=o.valueAsNumber||b&&+b;ot(U.value)||(V=J>U.value),ot(j.value)||(A=J<j.value)}else{const J=o.valueAsDate||new Date(b),se=we=>new Date(new Date().toDateString()+" "+we),ge=o.type=="time",_e=o.type=="week";gt(U.value)&&b&&(V=ge?se(b)>se(U.value):_e?b>U.value:J>new Date(U.value)),gt(j.value)&&b&&(A=ge?se(b)<se(j.value):_e?b<j.value:J<new Date(j.value))}if((V||A)&&(M(!!V,U.message,j.message,Qt.max,Qt.min),!n))return w(O[p].message),O}if((d||u)&&!B&&(gt(b)||i&&Array.isArray(b))){const V=xn(d),A=xn(u),U=!ot(V.value)&&b.length>+V.value,j=!ot(A.value)&&b.length<+A.value;if((U||j)&&(M(U,V.message,A.message),!n))return w(O[p].message),O}if(g&&!B&&gt(b)){const{value:V,message:A}=xn(g);if(Qi(V)&&!b.match(V)&&(O[p]={type:Qt.pattern,message:A,ref:o,...N(Qt.pattern,A)},!n))return w(A),O}if(_){if(pt(_)){const V=await _(b,r),A=ah(V,S);if(A&&(O[p]={...A,...N(Qt.validate,A.message)},!n))return w(A.message),O}else if(Ue(_)){let V={};for(const A in _){if(!Je(V)&&!n)break;const U=ah(await _[A](b,r),S,A);U&&(V={...U,...N(A,U.message)},w(U.message),n&&(O[p]=V))}if(!Je(V)&&(O[p]={ref:S,...V},!n))return O}}return w(!0),O};const j1={mode:Gt.onSubmit,reValidateMode:Gt.onChange,shouldFocusError:!0},ch={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function B1(e={}){let t={...j1,...e},r={...qe(ch),isLoading:pt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},n={},s=Ue(t.defaultValues)||Ue(t.values)?qe(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:qe(s),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},a={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,d=0;const u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},f={...u};let y={...f};const g={array:Kf(),state:Kf()},_=t.criteriaMode===Gt.all,p=C=>T=>{clearTimeout(d),d=setTimeout(C,T)},v=async C=>{if(!o.keepIsValid&&!t.disabled&&(f.isValid||y.isValid||C)){let T;t.resolver?(T=Je((await N()).errors),m()):T=await A({fields:n,onlyCheckValid:!0,eventType:Er.VALID}),T!==r.isValid&&g.state.next({isValid:T})}},m=(C,T)=>{!t.disabled&&(f.isValidating||f.validatingFields||y.isValidating||y.validatingFields)&&((C||Array.from(a.mount)).forEach(x=>{x&&(T?ke(r.validatingFields,x,T):Qe(r.validatingFields,x))}),g.state.next({validatingFields:r.validatingFields,isValidating:!Je(r.validatingFields)}))},b=()=>{r.dirtyFields=Qr(s,i)},S=(C,T=[],x,z,q=!0,Q=!0)=>{if(z&&x&&!t.disabled){if(o.action=!0,Q&&Array.isArray(W(n,C))){const H=x(W(n,C),z.argA,z.argB);q&&ke(n,C,H)}if(Q&&Array.isArray(W(r.errors,C))){const H=x(W(r.errors,C),z.argA,z.argB);q&&ke(r.errors,C,H),$1(r.errors,C)}if((f.touchedFields||y.touchedFields)&&Q&&Array.isArray(W(r.touchedFields,C))){const H=x(W(r.touchedFields,C),z.argA,z.argB);q&&ke(r.touchedFields,C,H)}(f.dirtyFields||y.dirtyFields)&&b(),g.state.next({name:C,isDirty:j(C,T),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else ke(i,C,T)},w=(C,T)=>{ke(r.errors,C,T),r.errors={...r.errors},g.state.next({errors:r.errors})},O=C=>{r.errors=C,g.state.next({errors:r.errors,isValid:!1})},I=C=>{const T=Es(C)?[C]:Hi(C);let x=i,z=s;for(let q=0;q<T.length-1;q++){const Q=T[q];if(x=ot(x)?x:x[Q],z=ot(z)?z:z[Q],x===null&&z!==null)return!0}return!1},k=(C,T,x,z)=>{const q=W(n,C);if(q){if(I(C))return;const Q=Le(W(i,C)),H=W(i,C,Le(x)?W(s,C):x);Le(H)||z&&z.defaultChecked||T?ke(i,C,T?H:rh(q._f)):ge(C,H),o.mount&&!o.action&&(v(),Q&&r.isDirty&&(f.isDirty||y.isDirty)&&(j()||(r.isDirty=!1,g.state.next({...r}))),e.shouldUnregister&&Q&&!Le(W(i,C))&&il(C,a)&&(o.watch=!0))}},P=(C,T,x,z,q)=>{let Q=!1,H=!1;const ee={name:C};if(!t.disabled){if(!x||z){(f.isDirty||y.isDirty)&&(H=r.isDirty,r.isDirty=ee.isDirty=j(),Q=H!==ee.isDirty);const he=Pt(W(s,C),T);H=!!W(r.dirtyFields,C),he!==r.isDirty?r.dirtyFields=Qr(s,i):he?Qe(r.dirtyFields,C):ke(r.dirtyFields,C,!0),ee.dirtyFields=r.dirtyFields,Q=Q||(f.dirtyFields||y.dirtyFields)&&H!==!he}if(x){const he=W(r.touchedFields,C);he||(ke(r.touchedFields,C,x),ee.touchedFields=r.touchedFields,Q=Q||(f.touchedFields||y.touchedFields)&&he!==x)}Q&&q&&g.state.next(ee)}return Q?ee:{}},B=(C,T,x,z)=>{const q=W(r.errors,C),Q=(f.isValid||y.isValid)&&At(T)&&r.isValid!==T;if(t.delayError&&x?(c=p(()=>w(C,x)),c(t.delayError)):(clearTimeout(d),c=null,x?ke(r.errors,C,x):Qe(r.errors,C),r.errors={...r.errors}),(x?!Pt(q,x):q)||!Je(z)||Q){const H={...z,...Q&&At(T)?{isValid:T}:{},errors:r.errors,name:C};r={...r,...H},g.state.next(H)}},N=async C=>(m(C,!0),await t.resolver(i,t.context,k1(C||a.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),M=async C=>{const{errors:T}=await N(C);if(m(C),C){for(const x of C){const z=W(T,x);z?a.array.has(x)&&Ue(z)&&!Object.keys(z).some(q=>!Number.isNaN(Number(q)))?oh(r.errors,{[x]:z},x):ke(r.errors,x,z):Qe(r.errors,x)}r.errors={...r.errors}}else r.errors=T;return T},V=async({name:C,eventType:T})=>{if(e.validate){const x=await e.validate({formValues:i,formState:r,name:C,eventType:T});if(Ue(x))for(const z in x){const q=x[z];q&&Ae(`${Ga}.${z}`,{message:gt(q.message)?q.message:"",type:q.type||Qt.validate})}else gt(x)||!x?Ae(Ga,{message:x||"",type:Qt.validate}):Se(Ga);return x}return!0},A=async({fields:C,onlyCheckValid:T,name:x,eventType:z,context:q={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(q.runRootValidation=!0,!await V({name:x,eventType:z})&&(q.valid=!1,T)))return q.valid;for(const Q in C){const H=C[Q];if(H){const{_f:ee,...he}=H;if(ee){const ze=a.array.has(ee.name),Nt=H._f&&A1(H._f),xt=f.validatingFields||f.isValidating||y.validatingFields||y.isValidating;Nt&&xt&&m([ee.name],!0);const pr=await lh(H,a.disabled,i,_,t.shouldUseNativeValidation&&!T,ze);if(Nt&&xt&&m([ee.name]),pr[ee.name]&&(q.valid=!1,T)||(!T&&(W(pr,ee.name)?ze?oh(r.errors,pr,ee.name):ke(r.errors,ee.name,pr[ee.name]):Qe(r.errors,ee.name)),e.shouldUseNativeValidation&&pr[ee.name]))break}!Je(he)&&await A({context:q,onlyCheckValid:T,fields:he,name:Q,eventType:z})}}return q.valid},U=()=>{for(const C of a.unMount){const T=W(n,C);T&&(T._f.refs?T._f.refs.every(x=>!rl(x)):!rl(T._f.ref))&&je(C)}a.unMount=new Set},j=(C,T)=>!t.disabled&&(C&&T&&ke(i,C,T),!Pt(K(),s)),J=(C,T,x)=>Xa(C,a,{...o.mount?i:Le(T)?s:gt(C)?{[C]:T}:T},x,T),se=C=>Wf(W(o.mount?i:s,C,t.shouldUnregister?W(s,C,[]):[])),ge=(C,T,x={},z=!1)=>{const q=W(n,C);let Q=T;if(q){const H=q._f;H&&(!H.disabled&&ke(i,C,Jf(T,H)),Q=Gi(H.ref)&&ot(T)?"":T,Qf(H.ref)?[...H.ref.options].forEach(ee=>ee.selected=Q.includes(ee.value)):H.refs?Os(H.ref)?H.refs.forEach(ee=>{(!ee.defaultChecked||!ee.disabled)&&(Array.isArray(Q)?ee.checked=!!Q.find(he=>he===ee.value):ee.checked=Q===ee.value||!!Q)}):H.refs.forEach(ee=>ee.checked=ee.value===Q):el(H.ref)?H.ref.value="":(H.ref.value=Q,H.ref.type||g.state.next({name:C,values:z?i:qe(i)})))}(x.shouldDirty||x.shouldTouch)&&P(C,Q,x.shouldTouch,x.shouldDirty,!0),x.shouldValidate&&Y(C)},_e=(C,T,x,z=!1)=>{for(const q in T){if(!T.hasOwnProperty(q))return;const Q=T[q],H=C+"."+q,ee=W(n,H);(a.array.has(C)||Ue(Q)||ee&&!ee._f)&&!Gr(Q)?_e(H,Q,x,z):ge(H,Q,x,z)}},we=(C,T,x,z)=>{const q=W(n,C),Q=a.array.has(C),H=z?T:qe(T),ee=W(i,C),he=Pt(ee,H);if(he||ke(i,C,H),Q)g.array.next({name:C,values:z?i:qe(i)}),(f.isDirty||f.dirtyFields||y.isDirty||y.dirtyFields)&&x.shouldDirty&&(b(),g.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:j(C,H)}));else{const ze=Array.isArray(H)&&!H.length||Je(H);!q||q._f||ot(H)||ze?ge(C,H,x,z):_e(C,H,x,z)}if(!he){const ze=il(C,a),Nt=z?i:qe(i);g.state.next({...ze&&r,name:o.mount||ze?C:void 0,values:Nt})}},G=(C,T,x={})=>we(C,T,x,!1),L=(C,T={})=>{const x=pt(C)?C(i):C;if(!Pt(i,x)){i={...i,...x};for(const z of a.mount)we(z,W(x,z),T,!0);g.state.next({...r,name:void 0,type:void 0,values:i}),T.shouldValidate&&v()}},X=async C=>{o.mount=!0;const T=C.target;let x=T.name,z=!0;const q=W(n,x),Q=he=>{z=Number.isNaN(he)||Gr(he)&&isNaN(he.getTime())||Pt(he,W(i,x,he))},H=nh(t.mode),ee=nh(t.reValidateMode);if(q){let he,ze;const Nt=T.type?rh(q._f):Ka(C),xt=C.type===Er.BLUR||C.type===Er.FOCUS_OUT,pr=!P1(q._f)&&!e.validate&&!t.resolver&&!W(r.errors,x)&&!q._f.deps||F1(xt,W(r.touchedFields,x),r.isSubmitted,ee,H),$s=il(x,a,xt);ke(i,x,Nt),xt?(!T||!T.readOnly)&&(q._f.onBlur&&q._f.onBlur(C),c&&c(0)):q._f.onChange&&q._f.onChange(C);const ln=P(x,Nt,xt),nt=!Je(ln)||$s;if(!xt&&g.state.next({name:x,type:C.type,values:qe(i)}),pr)return(f.isValid||y.isValid)&&(t.mode==="onBlur"?xt&&v():xt||v()),nt&&g.state.next({name:x,...$s?{}:ln});if(!t.resolver&&e.validate&&await V({name:x,eventType:C.type}),!xt&&$s&&g.state.next({...r}),t.resolver){const{errors:bt}=await N([x]);if(m([x]),Q(Nt),!z){!Je(ln)&&g.state.next(ln);return}const Ct=ih(r.errors,n,x),Zt=ih(bt,n,Ct.name||x);he=Zt.error,x=Zt.name,ze=Je(bt)}else m([x],!0),he=(await lh(q,a.disabled,i,_,t.shouldUseNativeValidation))[x],m([x]),Q(Nt),z&&(he?ze=!1:(f.isValid||y.isValid)&&(ze=await A({fields:n,onlyCheckValid:!0,name:x,eventType:C.type})));z&&(q._f.deps&&(!Array.isArray(q._f.deps)||q._f.deps.length>0)&&Y(q._f.deps),B(x,ze,he,ln))}},F=(C,T)=>{if(W(r.errors,T)&&C.focus)return C.focus(),1},Y=async(C,T={})=>{let x,z;const q=Ki(C);if(t.resolver){const Q=await M(Le(C)?C:q);x=Je(Q),z=C?!q.some(H=>W(Q,H)):x}else C?(z=(await Promise.all(q.map(async Q=>{const H=W(n,Q);return await A({fields:H&&H._f?{[Q]:H}:H,eventType:Er.TRIGGER})}))).every(Boolean),!(!z&&!r.isValid)&&v()):z=x=await A({fields:n,name:C,eventType:Er.TRIGGER});return g.state.next({...!gt(C)||(f.isValid||y.isValid)&&x!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:x}:{},errors:r.errors}),T.shouldFocus&&!z&&Is(n,F,C?q:a.mount),z},K=(C,T)=>{let x={...o.mount?i:s};return T&&(x=Gf(T.dirtyFields?r.dirtyFields:r.touchedFields,x)),Le(C)?x:gt(C)?W(x,C):C.map(z=>W(x,z))},oe=(C,T)=>({invalid:!!W((T||r).errors,C),isDirty:!!W((T||r).dirtyFields,C),error:W((T||r).errors,C),isValidating:!!W(r.validatingFields,C),isTouched:!!W((T||r).touchedFields,C)}),Se=C=>{const T=C?Ki(C):void 0;T==null||T.forEach(x=>Qe(r.errors,x)),T?T.forEach(x=>{g.state.next({name:x,errors:r.errors})}):g.state.next({errors:{}})},Ae=(C,T,x)=>{const z=(W(n,C,{_f:{}})._f||{}).ref,q=W(r.errors,C)||{},{ref:Q,message:H,type:ee,...he}=q;ke(r.errors,C,{...he,...T,ref:z}),g.state.next({name:C,errors:r.errors,isValid:!1}),x&&x.shouldFocus&&z&&z.focus&&z.focus()},ie=(C,T)=>pt(C)?g.state.subscribe({next:x=>"values"in x&&C(x.values||J(void 0,T),x)}):J(C,T,!0),ne=C=>g.state.subscribe({next:T=>{if(L1(C.name,T.name,C.exact)&&M1(T,C.formState||f,to,C.reRenderRoot)){const x={...i};C.callback({values:x,...r,...T,defaultValues:s})}}}).unsubscribe,de=C=>(o.mount=!0,y={...y,...C.formState},ne({...C,formState:{...u,...C.formState}})),je=(C,T={})=>{for(const x of C?Ki(C):a.mount)a.mount.delete(x),a.array.delete(x),T.keepValue||(Qe(n,x),Qe(i,x)),!T.keepError&&Qe(r.errors,x),!T.keepDirty&&Qe(r.dirtyFields,x),!T.keepTouched&&Qe(r.touchedFields,x),!T.keepIsValidating&&Qe(r.validatingFields,x),!t.shouldUnregister&&!T.keepDefaultValue&&Qe(s,x);g.state.next({values:qe(i)}),g.state.next({...r,...T.keepDirty?{isDirty:j()}:{}}),!T.keepIsValid&&v()},Ke=({disabled:C,name:T})=>{if(At(C)&&o.mount||C||a.disabled.has(T)){const q=a.disabled.has(T)!==!!C;C?a.disabled.add(T):a.disabled.delete(T),q&&o.mount&&!o.action&&v()}},Pe=(C,T={})=>{let x=W(n,C);const z=At(T.disabled)||At(t.disabled),q=!a.registerName.has(C)&&x&&x._f&&!x._f.mount;return ke(n,C,{...x||{},_f:{...x&&x._f?x._f:{ref:{name:C}},name:C,mount:!0,...T}}),a.mount.add(C),x&&!q?Ke({disabled:At(T.disabled)?T.disabled:t.disabled,name:C}):k(C,!0,T.value),{...z?{disabled:T.disabled||t.disabled}:{},...t.progressive?{required:!!T.required,min:Ds(T.min),max:Ds(T.max),minLength:Ds(T.minLength),maxLength:Ds(T.maxLength),pattern:Ds(T.pattern)}:{},name:C,onChange:X,onBlur:X,ref:Q=>{if(Q){a.registerName.add(C),Pe(C,T),a.registerName.delete(C),x=W(n,C);const H=Le(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,ee=I1(H),he=x._f.refs||[];if(ee?he.find(ze=>ze===H):H===x._f.ref)return;ke(n,C,{_f:{...x._f,...ee?{refs:[...he.filter(rl),H,...Array.isArray(W(s,C))?[{}]:[]],ref:{type:H.type,name:C}}:{ref:H}}}),k(C,!1,void 0,H)}else x=W(n,C,{}),x._f&&(x._f.mount=!1),(t.shouldUnregister||T.shouldUnregister)&&!(Bf(a.array,C)&&o.action)&&a.unMount.add(C)}}},te=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&Is(n,F,a.mount),Ye=C=>{At(C)&&(g.state.next({disabled:C}),Is(n,(T,x)=>{const z=W(n,x);z&&(T.disabled=z._f.disabled||C,Array.isArray(z._f.refs)&&z._f.refs.forEach(q=>{q.disabled=z._f.disabled||C}))},0,!1))},vt=(C,T)=>async x=>{let z;x&&(x.preventDefault&&x.preventDefault(),x.persist&&x.persist());let q=qe(i);if(g.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:H}=await N();m(),r.errors=Q,q=qe(H)}else await A({fields:n,eventType:Er.SUBMIT});if(a.disabled.size)for(const Q of a.disabled)Qe(q,Q);if(Qe(r.errors,Vf),Je(r.errors)){g.state.next({errors:{}});try{await C(q,x)}catch(Q){z=Q}}else T&&await T({...r.errors},x),te(),setTimeout(te);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Je(r.errors)&&!z,submitCount:r.submitCount+1,errors:r.errors}),z)throw z},St=(C,T={})=>{W(n,C)&&(Le(T.defaultValue)?G(C,qe(W(s,C))):(G(C,T.defaultValue),ke(s,C,qe(T.defaultValue))),T.keepTouched||Qe(r.touchedFields,C),T.keepDirty||(Qe(r.dirtyFields,C),r.isDirty=T.defaultValue?j(C,qe(W(s,C))):j()),T.keepError||(Qe(r.errors,C),f.isValid&&v()),g.state.next({...r}))},Ge=(C,T={})=>{const x=C?qe(C):s,z=qe(x),q=Je(C),Q=z;if(T.keepDefaultValues||(s=x),!T.keepValues){if(T.keepDirtyValues){const H=new Set([...a.mount,...Object.keys(Qr(s,i))]);for(const ee of Array.from(H)){const he=W(r.dirtyFields,ee),ze=W(i,ee),Nt=W(Q,ee);he&&!Le(ze)?ke(Q,ee,ze):!he&&!Le(Nt)&&G(ee,Nt)}}else{if(qi&&Le(C))for(const H of a.mount){const ee=W(n,H);if(ee&&ee._f){const he=Array.isArray(ee._f.refs)?ee._f.refs[0]:ee._f.ref;if(Gi(he)){const ze=he.closest("form");if(ze){ze.reset();break}}}}if(T.keepFieldsRef)for(const H of a.mount)G(H,W(Q,H));else n={}}if(t.shouldUnregister){if(i=T.keepDefaultValues?qe(s):{},T.keepFieldsRef)for(const H of a.mount)ke(i,H,W(Q,H))}else i=qe(Q);g.array.next({values:{...Q}}),g.state.next({values:{...Q}})}a={mount:T.keepDirtyValues?a.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!f.isValid||!!T.keepIsValid||!!T.keepDirtyValues||!t.shouldUnregister&&!Je(Q),o.watch=!!t.shouldUnregister,o.keepIsValid=!!T.keepIsValid,o.action=!1,T.keepErrors||(r.errors={}),g.state.next({submitCount:T.keepSubmitCount?r.submitCount:0,isDirty:q?!1:T.keepDirty?r.isDirty:T.keepValues?j():!!(T.keepDefaultValues&&!Pt(C,s)),isSubmitted:T.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:q?{}:T.keepDirtyValues?T.keepDefaultValues&&i?Qr(s,i):r.dirtyFields:T.keepDefaultValues&&C?Qr(s,C):T.keepDirty?r.dirtyFields:{},touchedFields:T.keepTouched?r.touchedFields:{},errors:T.keepErrors?r.errors:{},isSubmitSuccessful:T.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},rt=(C,T)=>Ge(pt(C)?C(i):C,{...t.resetOptions,...T}),mt=(C,T={})=>{const x=W(n,C),z=x&&x._f;if(z){const q=z.refs?z.refs[0]:z.ref;q.focus&&setTimeout(()=>{q.focus(),T.shouldSelect&&pt(q.select)&&q.select()})}},to=C=>{r={...r,...C}},ro={control:{register:Pe,unregister:je,getFieldState:oe,handleSubmit:vt,setError:Ae,_subscribe:ne,_runSchema:N,_updateIsValidating:m,_focusError:te,_getWatch:J,_getDirty:j,_setValid:v,_setFieldArray:S,_setDisabledField:Ke,_setErrors:O,_getFieldArray:se,_reset:Ge,_resetDefaultValues:()=>pt(t.defaultValues)&&t.defaultValues().then(C=>{rt(C,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:U,_disableForm:Ye,_subjects:g,_proxyFormState:f,get _fields(){return n},get _formValues(){return i},get _state(){return o},set _state(C){o=C},get _defaultValues(){return s},get _names(){return a},set _names(C){a=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:de,trigger:Y,register:Pe,handleSubmit:vt,watch:ie,setValue:G,setValues:L,getValues:K,reset:rt,resetField:St,resetDefaultValues:(C,T={})=>{if(s=qe(C),!T.keepDirty){const x=Qr(s,i);r.dirtyFields=x,r.isDirty=!Je(x)}T.keepIsValid||v(),g.state.next({...r,defaultValues:s})},clearErrors:Se,unregister:je,setError:Ae,setFocus:mt,getFieldState:oe};return{...ro,formControl:ro}}function U1(e={}){const t=h.useRef(void 0),r=h.useRef(void 0),n=h.useRef(e.formControl),[s,i]=h.useState(()=>({...qe(ch),isLoading:pt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:pt(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&n.current!==e.formControl)if(n.current=e.formControl,e.formControl)t.current={...e.formControl,formState:s},e.defaultValues&&!pt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...c}=B1(e);t.current={...c,formState:s}}const o=t.current.control;return o._options=e,Ra(()=>{const a=o._subscribe({formState:o._proxyFormState,callback:()=>i({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return i(c=>({...c,isReady:!0})),o._formState.isReady=!0,a},[o]),h.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),h.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),h.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),h.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),h.useEffect(()=>{if(o._proxyFormState.isDirty){const a=o._getDirty();a!==s.isDirty&&o._subjects.state.next({isDirty:a})}},[o,s.isDirty]),h.useEffect(()=>{var a;e.values&&!Pt(e.values,r.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((a=o._options.resetOptions)===null||a===void 0)&&a.keepIsValid||o._setValid(),r.current=e.values,i(c=>({...c}))):o._resetDefaultValues()},[o,e.values]),h.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=h.useMemo(()=>qf(s,o),[o,s]),t.current}async function uh(e){var r,n;return(n=(r=(await Me.get(`/api/framework/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.framework}function dh(e,t){const r=vo({queryKey:["framework",e],queryFn:()=>uh(e),enabled:!!e,staleTime:3e5}),n=t==null?void 0:t[0],s=vo({queryKey:["framework",n],queryFn:()=>uh(n),enabled:!!n,staleTime:5*60*1e3}),i=s.data?[s.data]:[];return{organisationFramework:r.data,targetFrameworks:i,isLoading:r.isLoading||s.isLoading}}async function V1(e){var r,n;return(n=(r=(await Me.get(`/api/channel/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.channel}function z1(e){var r,n,s,i,o,a;const t=vo({queryKey:["channel",e],queryFn:()=>V1(e),enabled:!!e,staleTime:6e5});return{identifier:((r=t.data)==null?void 0:r.identifier)??e??"",name:(n=t.data)==null?void 0:n.name,frameworks:(s=t.data)==null?void 0:s.frameworks,collectionAdditionalCategories:(i=t.data)==null?void 0:i.collectionAdditionalCategories,contentAdditionalCategories:(o=t.data)==null?void 0:o.contentAdditionalCategories,defaultLicense:(a=t.data)==null?void 0:a.defaultLicense,isLoading:t.isLoading}}const q1={"First Section":{title:"Basic Information",description:"Core details that define the content identity."},"Second Section":{title:"Categorisation",description:"Category and type classification for the content."},"Organisation Framework Terms":{title:"Curriculum",description:"Framework-aligned categorisation."},"Target Framework Terms":{title:"Target Audience",description:"Curriculum alignment for the intended learners."},"Fourth Section":{title:"Licensing & Attribution",description:"Copyright and usage rights information."}},fh={"First Section":"details","Second Section":"details","Organisation Framework Terms":"details","Target Framework Terms":"audience","Fourth Section":"licensing"},H1={name:"details",description:"details",keywords:"details",appIcon:"details",primaryCategory:"details",additionalCategories:"details",board:"details",subject:"details",subjectIds:"details",medium:"details",framework:"details",topicsIds:"details",topic:"details",audience:"audience",targetBoardIds:"audience",targetMediumIds:"audience",targetGradeLevelIds:"audience",targetSubjectIds:"audience",gradeLevel:"audience",creator:"licensing",author:"licensing",attributions:"licensing",license:"licensing",copyright:"licensing",copyrightYear:"licensing"},hh={board:"board",medium:"medium",gradeLevel:"gradeLevel",subject:"subject",subjectIds:"subject",topicsIds:"topic",topic:"topic",targetBoardIds:"board",targetMediumIds:"medium",targetGradeLevelIds:"gradeLevel",targetSubjectIds:"subject"},ph=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds"]);function W1(e,t,r,n){if(!(e!=null&&e.length))return J1(t,n,r);const s=new Set;return e.filter(i=>{if(n&&(i.code==="dialCode"||i.code==="dialcode")||i.visible===!1)return!1;const o=i.code;return s.has(o)?!1:(s.add(o),!0)}).map(i=>{const o=i.code??"",a=Y1(i),c=R1(i,r,t),d=t[o],u=gh(d,a);return{code:o,label:i.label??o,inputType:a,required:!!(i.required===!0||Array.isArray(i.validations)&&i.validations.some(f=>f.type==="required")),editable:i.editable!==!1,placeholder:i.placeholder,maxLength:i.maxLength,options:G1(c,u,a,r),depends:i.depends,tab:Q1(i),section:i.section,defaultValue:i.defaultValue??i.default,currentValue:u}})}function K1(e){var n,s,i;const t=new Map,r=o=>o==null?void 0:o.forEach(a=>{a.identifier&&t.set(a.identifier,a.name),a.name&&t.set(a.name,a.name)});return(s=(n=e.organisationFramework)==null?void 0:n.categories)==null||s.forEach(o=>r(o.terms)),(i=e.targetFrameworks)==null||i.forEach(o=>{var a;return(a=o.categories)==null?void 0:a.forEach(c=>r(c.terms))}),t}function G1(e,t,r,n){if(r!=="select"&&r!=="multiselect"&&r!=="radio")return e;const s=Array.isArray(t)?t:t!=null&&t!==""?[t]:[];if(!s.length)return e;const i=e?[...e]:[],o=new Set(i.map(c=>c.value)),a=K1(n);for(const c of s){const d=String(c);o.has(d)||(i.push({label:a.get(d)??d,value:d}),o.add(d))}return i}function Q1(e){const t=e.section;if(t&&fh[t])return fh[t];const r=e.code??"";return H1[r]??"details"}function gh(e,t){const r=new Set(["multiselect","chips","keywords","tagsinput"]),n=new Set(["select","text","textarea","radio","datepicker","datetime","license"]);return r.has(t)?Array.isArray(e)?e:e!=null&&e!==""?[e]:[]:n.has(t)?Array.isArray(e)?e[0]??"":e??"":e}function Y1(e){const t=(e.inputType??e.dataType??"").toLowerCase(),n=(e.dataType??"").toLowerCase()==="list";return t==="select"||t==="framework"?"select":t==="frameworkcategoryselect"?n?"multiselect":"select":t==="topicselector"?"chips":t==="multiselect"||t==="multi-select"?"multiselect":t==="keywords"||e.code==="keywords"||e.code==="topic"||e.code==="topicsIds"?"chips":t==="radio"?"radio":e.code==="appIcon"||t==="appicon"?"appIcon":t==="textarea"||e.code==="description"?"textarea":t==="datepicker"||t==="date"?"datepicker":t==="datetime"||t==="datetime-local"?"datetime":t==="tagsinput"?"tagsinput":t==="nestedselect"||t==="nested-select"?n?"multiselect":"select":t==="license"?"license":t==="dialcode"||t==="dial-code"?"dialcode":"text"}function R1(e,t,r){var a;const n=e.range;if(Array.isArray(n)&&n.length)return typeof n[0]=="string"?n.map(c=>({label:c,value:c})):n.map(c=>({label:c.name,value:c.identifier}));const s=e.enum;if(s!=null&&s.length)return s.map(c=>({label:c,value:c}));const i=e.code??"";if(i==="framework")return t.orgFrameworks;if(i==="additionalCategories")return(a=t.channelAdditionalCategories)==null?void 0:a.map(c=>({label:c,value:c}));const o=e.sourceCategory??hh[i];if(o)return yh(i,o,e,t,r)}function yh(e,t,r,n,s){var f,y,g,_,p;const i=ph.has(e)||r.output==="identifier"||typeof r.section=="string"&&r.section.includes("Target"),o=v=>({label:v.name,value:i?v.identifier:v.name}),a=(y=(f=n.organisationFramework)==null?void 0:f.categories)==null?void 0:y.find(v=>v.code===t),c=(p=(_=(g=n.targetFrameworks)==null?void 0:g[0])==null?void 0:_.categories)==null?void 0:p.find(v=>v.code===t);let d=(ph.has(e)?c==null?void 0:c.terms:a==null?void 0:a.terms)??(c==null?void 0:c.terms)??(a==null?void 0:a.terms)??[];const u=r.depends;if(u!=null&&u.length){const v=u.flatMap(m=>{const b=s[m];return Array.isArray(b)?b:b!=null&&b!==""?[b]:[]}).map(String);if(v.length){const m=d.filter(b=>{const S=b.associations;return!S||!S.length?!0:S.some(w=>v.includes(w.identifier)||v.includes(w.code)||v.includes(w.name))});m.length&&(d=m)}}return d.map(o)}function kn(e,t){const r=hh[e];if(r)return yh(e,r,{},t,{})}const X1=[{label:"Student",value:"Student"},{label:"Teacher",value:"Teacher"},{label:"Administrator",value:"Administrator"},{label:"Parent",value:"Parent"},{label:"Other",value:"Other"}],Z1=[{label:"CC BY 4.0",value:"CC BY 4.0"},{label:"CC BY-SA 4.0",value:"CC BY-SA 4.0"},{label:"CC BY-ND 4.0",value:"CC BY-ND 4.0"},{label:"CC BY-NC 4.0",value:"CC BY-NC 4.0"},{label:"CC BY-NC-SA 4.0",value:"CC BY-NC-SA 4.0"},{label:"CC BY-NC-ND 4.0",value:"CC BY-NC-ND 4.0"},{label:"CC0 1.0",value:"CC0 1.0"},{label:"All Rights Reserved",value:"All Rights Reserved"}];function at(e,t,r){return gh(e[t],r)}function J1(e,t,r){const n=[{code:"name",label:"Title",inputType:"text",required:!0,editable:!0,tab:"details",section:"First Section",maxLength:200,currentValue:at(e,"name","text")},{code:"description",label:"Description",inputType:"textarea",editable:!0,tab:"details",section:"First Section",maxLength:2e3,currentValue:at(e,"description","textarea")},{code:"keywords",label:"Keywords",inputType:"chips",editable:!0,tab:"details",section:"First Section",currentValue:at(e,"keywords","chips")}];return t&&(n.push({code:"primaryCategory",label:"Category",inputType:"select",editable:!1,tab:"details",section:"Second Section",currentValue:at(e,"primaryCategory","select"),options:[{label:"Course",value:"Course"},{label:"Digital Textbook",value:"Digital Textbook"},{label:"Teacher Resource",value:"Teacher Resource"},{label:"Learning Resource",value:"Learning Resource"},{label:"Practice Question Set",value:"Practice Question Set"}]},{code:"additionalCategories",label:"Additional Category",inputType:"multiselect",editable:!0,tab:"details",section:"Second Section",currentValue:at(e,"additionalCategories","multiselect"),options:[{label:"Lesson Plan",value:"Lesson Plan"},{label:"Textbook",value:"Textbook"},{label:"TV Lesson",value:"TV Lesson"},{label:"Revision Material",value:"Revision Material"}]},{code:"board",label:"Course Type",inputType:"select",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:kn("board",r),currentValue:at(e,"board","select")},{code:"subject",label:"Subjects covered in the course",inputType:"multiselect",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:kn("subject",r),currentValue:at(e,"subject","multiselect")}),n.push({code:"audience",label:"Audience Type",inputType:"multiselect",editable:!0,tab:"audience",section:"Target Framework Terms",options:X1,currentValue:at(e,"audience","multiselect")},{code:"targetBoardIds",label:"Board/Syllabus of the audience",inputType:"select",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",options:kn("targetBoardIds",r),currentValue:at(e,"targetBoardIds","select")},{code:"targetMediumIds",label:"Medium(s) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetBoardIds"],options:kn("targetMediumIds",r),currentValue:at(e,"targetMediumIds","multiselect")},{code:"targetGradeLevelIds",label:"Class(es) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetMediumIds"],options:kn("targetGradeLevelIds",r),currentValue:at(e,"targetGradeLevelIds","multiselect")},{code:"targetSubjectIds",label:"Subject(s) of the audience",inputType:"multiselect",required:!0,editable:!0,tab:"audience",section:"Target Framework Terms",depends:["targetGradeLevelIds"],options:kn("targetSubjectIds",r),currentValue:at(e,"targetSubjectIds","multiselect")}),n.push({code:"creator",label:"Author",inputType:"text",editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"creator","text")},{code:"attributions",label:"Attributions",inputType:"text",editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"attributions","text")},{code:"copyright",label:"Copyright",inputType:"text",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"copyright","text")},{code:"copyrightYear",label:"Copyright Year",inputType:"text",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",currentValue:at(e,"copyrightYear","text")},{code:"license",label:"License",inputType:"select",required:!0,editable:!0,tab:"licensing",section:"Fourth Section",options:Z1,currentValue:at(e,"license","select")})),n}function eO(e,t){const{watch:r,setValue:n}=e;h.useEffect(()=>{const s=r((i,{name:o})=>{o&&t.forEach(a=>{var c;(c=a.depends)!=null&&c.includes(o)&&n(a.code,a.inputType==="multiselect"||a.inputType==="chips"?[]:"",{shouldDirty:!0})})});return()=>s.unsubscribe()},[r,n,t])}const An={section:"_section_ylgu8_1",header:"_header_ylgu8_11",title:"_title_ylgu8_17",description:"_description_ylgu8_24",divider:"_divider_ylgu8_30",fields:"_fields_ylgu8_36"},tO=({title:e,description:t,children:r})=>l.jsxs("div",{className:An.section,children:[l.jsxs("div",{className:An.header,children:[l.jsx("h3",{className:An.title,children:e}),t&&l.jsx("p",{className:An.description,children:t})]}),l.jsx("hr",{className:An.divider}),l.jsx("div",{className:An.fields,children:r})]}),$={field:"_field_1s288_1",fullWidth:"_fullWidth_1s288_7",label:"_label_1s288_11",required:"_required_1s288_19",input:"_input_1s288_24",textarea:"_textarea_1s288_45",inputError:"_inputError_1s288_50",error:"_error_1s288_54",selectBtn:"_selectBtn_1s288_59",selectOpen:"_selectOpen_1s288_83",placeholder:"_placeholder_1s288_87",selectedVal:"_selectedVal_1s288_91",chevronUp:"_chevronUp_1s288_95",dropdown:"_dropdown_1s288_100",option:"_option_1s288_116",optionSelected:"_optionSelected_1s288_134",noOpts:"_noOpts_1s288_139",chipGroup:"_chipGroup_1s288_146",chipInput:"_chipInput_1s288_158",addChipBtn:"_addChipBtn_1s288_167",radioGroup:"_radioGroup_1s288_184",radioLabel:"_radioLabel_1s288_191",iconWrap:"_iconWrap_1s288_199",iconPreview:"_iconPreview_1s288_214",iconPlaceholder:"_iconPlaceholder_1s288_220",removeIconBtn:"_removeIconBtn_1s288_233",tagChip:"_tagChip_1s288_252",tagChipRemove:"_tagChipRemove_1s288_264",nestedSelectRow:"_nestedSelectRow_1s288_278",dialcodeRow:"_dialcodeRow_1s288_287",validateBtn:"_validateBtn_1s288_293",dialcodeValid:"_dialcodeValid_1s288_315",dialcodeSpinner:"_dialcodeSpinner_1s288_325"},vh=({name:e,label:t,required:r,disabled:n,multiline:s,maxLength:i,placeholder:o})=>{const{register:a,formState:{errors:c}}=Yt(),d=c[e],u={required:r?`${t} is required`:!1,maxLength:i?{value:i,message:`Max ${i} characters`}:void 0};return l.jsxs("div",{className:[$.field,s?$.fullWidth:""].join(" "),children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),s?l.jsx("textarea",{id:e,className:[$.input,$.textarea,d?$.inputError:""].join(" "),disabled:n,placeholder:o,rows:3,...a(e,u)}):l.jsx("input",{id:e,type:"text",className:[$.input,d?$.inputError:""].join(" "),disabled:n,placeholder:o,...a(e,u)}),d&&l.jsx("span",{className:$.error,children:String(d.message)})]})},rO=({name:e,label:t,options:r,required:n,disabled:s})=>{var p;const[i,o]=h.useState(!1),a=h.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Yt(),y=d(e),g=((p=r.find(v=>v.value===y))==null?void 0:p.label)??"Select…",_=f[e];return h.useEffect(()=>{if(!i)return;const v=m=>{var b;(b=a.current)!=null&&b.contains(m.target)||o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[i]),l.jsxs("div",{className:$.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[$.selectBtn,_?$.inputError:"",i?$.selectOpen:""].join(" "),onClick:()=>o(v=>!v),children:[l.jsx("span",{className:y?$.selectedVal:$.placeholder,children:g}),l.jsx(ls,{size:14,className:i?$.chevronUp:""})]}),i&&l.jsxs("div",{className:$.dropdown,children:[r.map(v=>l.jsxs("button",{type:"button",className:[$.option,y===v.value?$.optionSelected:""].join(" "),onClick:()=>{u(e,v.value,{shouldDirty:!0,shouldValidate:!0}),o(!1)},children:[l.jsx("span",{children:v.label}),y===v.value&&l.jsx(hn,{size:13})]},v.value)),!r.length&&l.jsx("span",{className:$.noOpts,children:"No options"})]}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},nO=({name:e,label:t,options:r,required:n,disabled:s})=>{const[i,o]=h.useState(!1),a=h.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Yt(),y=d(e)??[],g=f[e],_=y.length?`${y.length} selected`:"Select…";h.useEffect(()=>{if(!i)return;const v=m=>{var b;(b=a.current)!=null&&b.contains(m.target)||o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[i]);const p=v=>{const m=y.includes(v)?y.filter(b=>b!==v):[...y,v];u(e,m,{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:$.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[$.selectBtn,g?$.inputError:"",i?$.selectOpen:""].join(" "),onClick:()=>o(v=>!v),children:[l.jsx("span",{className:y.length?$.selectedVal:$.placeholder,children:_}),l.jsx(ls,{size:14,className:i?$.chevronUp:""})]}),i&&l.jsxs("div",{className:$.dropdown,children:[r.map(v=>l.jsxs("button",{type:"button",className:[$.option,y.includes(v.value)?$.optionSelected:""].join(" "),onClick:()=>p(v.value),children:[l.jsx(hn,{size:13,style:{opacity:y.includes(v.value)?1:0}}),l.jsx("span",{children:v.label})]},v.value)),!r.length&&l.jsx("span",{className:$.noOpts,children:"No options"})]}),g&&l.jsx("span",{className:$.error,children:String(g.message)})]})},sO=({name:e,label:t,required:r,disabled:n,placeholder:s="Add…"})=>{const[i,o]=h.useState(""),[a,c]=h.useState(!1),d=h.useRef(null),{watch:u,setValue:f,formState:{errors:y}}=Yt(),g=u(e)??[],_=y[e],p=()=>{const m=i.trim();m&&!g.includes(m)&&f(e,[...g,m],{shouldDirty:!0}),o(""),c(!1)},v=m=>f(e,g.filter(b=>b!==m),{shouldDirty:!0});return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:$.chipGroup,children:[g.map(m=>l.jsxs("span",{className:"sbx-chip filled",children:[m,!n&&l.jsx("button",{type:"button",className:"sbx-chip-remove",onClick:()=>v(m),"aria-label":`Remove ${m}`,children:"×"})]},m)),!n&&(a?l.jsx("input",{ref:d,autoFocus:!0,className:$.chipInput,value:i,onChange:m=>o(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),p()),m.key==="Escape"&&(o(""),c(!1))},onBlur:p,placeholder:s}):l.jsxs("button",{type:"button",className:$.addChipBtn,onClick:()=>{c(!0),setTimeout(()=>{var m;return(m=d.current)==null?void 0:m.focus()},50)},children:[l.jsx(cs,{size:12})," Add"]}))]}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},iO=({name:e,label:t,options:r,required:n,disabled:s})=>{const{register:i,formState:{errors:o}}=Yt(),a=o[e];return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("div",{className:$.radioGroup,children:r.map(c=>l.jsxs("label",{className:$.radioLabel,children:[l.jsx("input",{type:"radio",value:c.value,disabled:s,...i(e,{required:n?`${t} is required`:!1})}),c.label]},c.value))}),a&&l.jsx("span",{className:$.error,children:String(a.message)})]})};async function oO(e,t,r,n){var o,a;const i=(a=(o=(await Me.post("/action/asset/v1/create",{request:{asset:{primaryCategory:"asset",language:["English"],code:crypto.randomUUID(),name:e,mediaType:"image",mimeType:t,createdBy:r,creator:null,channel:n,keywords:""}}})).data)==null?void 0:o.result)==null?void 0:a.node_id;if(!i)throw new Error("Asset creation failed: no node_id returned");return i}async function aO(e,t){var s,i;const n=(i=(s=(await Me.post(`/action/content/v3/upload/url/${e}`,{request:{content:{fileName:t}}})).data)==null?void 0:s.result)==null?void 0:i.pre_signed_url;if(!n)throw new Error("Pre-signed URL fetch failed");return n}async function lO(e,t,r={}){const n=await fetch(e,{method:"PUT",body:t,headers:{"x-ms-blob-type":"BlockBlob","Content-Type":"application/octet-stream",...r}});if(!n.ok)throw new Error(`Blob upload failed: ${n.status} ${n.statusText}`)}async function cO(e,t,r){var o,a;const n=new FormData;n.append("fileUrl",t),n.append("mimeType",r);const i=(a=(o=(await Me.post(`/action/asset/v1/upload/${e}`,n,{params:{enctype:"multipart/form-data",processData:!1,contentType:!1,cache:!1}})).data)==null?void 0:o.result)==null?void 0:a.content_url;if(!i)throw new Error("Asset finalize failed: no content_url returned");return i}const fe={overlay:"_overlay_ga6eh_1",modal:"_modal_ga6eh_12",header:"_header_ga6eh_24",title:"_title_ga6eh_33",closeBtn:"_closeBtn_ga6eh_39",tabs:"_tabs_ga6eh_57",tab:"_tab_ga6eh_57",activeTab:"_activeTab_ga6eh_83",body:"_body_ga6eh_88",searchWrap:"_searchWrap_ga6eh_99",searchIcon:"_searchIcon_ga6eh_104",searchInput:"_searchInput_ga6eh_113",grid:"_grid_ga6eh_132",imgCell:"_imgCell_ga6eh_148",imgCellSelected:"_imgCellSelected_ga6eh_166",thumb:"_thumb_ga6eh_171",noThumb:"_noThumb_ga6eh_177",checkBadge:"_checkBadge_ga6eh_183",loadMoreBtn:"_loadMoreBtn_ga6eh_198",loadingRow:"_loadingRow_ga6eh_220",empty:"_empty_ga6eh_230",spinner:"_spinner_ga6eh_237",uploadArea:"_uploadArea_ga6eh_247",dropZone:"_dropZone_ga6eh_256",uploadIcon:"_uploadIcon_ga6eh_277",dropText:"_dropText_ga6eh_281",dropSubtext:"_dropSubtext_ga6eh_288",uploadPreview:"_uploadPreview_ga6eh_294",hiddenInput:"_hiddenInput_ga6eh_301",fileName:"_fileName_ga6eh_305",errorText:"_errorText_ga6eh_311",footer:"_footer_ga6eh_318",cancelBtn:"_cancelBtn_ga6eh_328",confirmBtn:"_confirmBtn_ga6eh_345"},mh=18,bh=({nodeId:e,currentValue:t,onSelect:r,onClose:n})=>{const[s,i]=h.useState("my"),[o,a]=h.useState(""),[c,d]=h.useState([]),[u,f]=h.useState(0),[y,g]=h.useState(!1),[_,p]=h.useState(null),[v,m]=h.useState(0),[b,S]=h.useState(null),[w,O]=h.useState(""),[I,k]=h.useState(!1),[P,B]=h.useState(""),N=h.useRef(null),M=ce(F=>{var Y,K;return((K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.channel)??""}),V=ce(F=>{var Y,K;return((K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.uid)??""}),A=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.context)==null?void 0:K.cloudStorage)==null?void 0:oe.presigned_headers)??{}}),U=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.config)==null?void 0:K.assetConfig)==null?void 0:oe.size)??1*1024*1024}),j=ce(F=>{var Y,K,oe;return((oe=(K=(Y=F.editorConfig)==null?void 0:Y.config)==null?void 0:K.assetConfig)==null?void 0:oe.accepted)??"image/png,image/jpeg"}),J=h.useCallback(async(F,Y,K=!1)=>{var oe;g(!0);try{const Se={status:["Live"],mediaType:["image"],mimeType:["image/png","image/jpeg","image/jpg","image/gif","image/svg+xml"]};s==="my"&&V&&(Se.createdBy=V),M&&(Se.channel=M);const ie=((oe=(await Me.post("/action/composite/v3/search",{request:{filters:Se,query:F,limit:mh,offset:Y,sort_by:{createdOn:"desc"},fields:["identifier","name","appIcon","artifactUrl","downloadUrl"]}},{headers:{"X-Source":"web"}})).data)==null?void 0:oe.result)??{},ne=ie.content??[];f(ie.count??0),d(de=>K?[...de,...ne]:ne)}catch{}finally{g(!1)}},[s,V,M]);h.useEffect(()=>{s!=="upload"&&(d([]),m(0),J(o,0))},[s]);const se=h.useRef(),ge=F=>{a(F),clearTimeout(se.current),se.current=setTimeout(()=>{d([]),m(0),J(F,0)},400)},_e=()=>{const F=v+mh;m(F),J(o,F,!0)},we=()=>{const F=(_==null?void 0:_.artifactUrl)??(_==null?void 0:_.appIcon)??(_==null?void 0:_.downloadUrl)??"";F&&r(F)};h.useEffect(()=>()=>{w&&URL.revokeObjectURL(w)},[w]);const G=F=>{var oe;const Y=(oe=F.target.files)==null?void 0:oe[0];if(F.target.value="",!Y)return;const K=j.split(",").map(Se=>Se.trim());if(!K.includes(Y.type)){const Se=K.map(Ae=>Ae.replace("image/","").toUpperCase()).join(", ");B(`Only ${Se} files are accepted.`);return}if(Y.size>U){const Se=(U/1048576).toFixed(0);B(`Image must be under ${Se} MB.`);return}w&&URL.revokeObjectURL(w),S(Y),O(URL.createObjectURL(Y)),B("")},L=async()=>{if(b){k(!0),B("");try{const F=await oO(b.name.split(".").slice(0,-1).join(".")||b.name,b.type,V,M),Y=await aO(F,b.name);await lO(Y,b,A);const K=Y.split("?")[0],oe=await cO(F,K,b.type);r(oe)}catch(F){B(F instanceof Error?F.message:"Upload failed.")}finally{k(!1)}}},X=c.length<u;return l.jsx("div",{className:fe.overlay,role:"dialog","aria-modal":"true","aria-label":"Select App Icon",children:l.jsxs("div",{className:fe.modal,children:[l.jsxs("div",{className:fe.header,children:[l.jsx("span",{className:fe.title,children:"Select App Icon"}),l.jsx("button",{className:fe.closeBtn,onClick:n,"aria-label":"Close",children:l.jsx(jr,{size:18})})]}),l.jsxs("div",{className:fe.tabs,role:"tablist",children:[l.jsx("button",{role:"tab","aria-selected":s==="my",className:`${fe.tab} ${s==="my"?fe.activeTab:""}`,onClick:()=>i("my"),children:"My Images"}),l.jsx("button",{role:"tab","aria-selected":s==="all",className:`${fe.tab} ${s==="all"?fe.activeTab:""}`,onClick:()=>i("all"),children:"All Images"}),l.jsxs("button",{role:"tab","aria-selected":s==="upload",className:`${fe.tab} ${s==="upload"?fe.activeTab:""}`,onClick:()=>i("upload"),children:[l.jsx(Bc,{size:13,style:{marginRight:4}}),"Upload"]})]}),l.jsx("div",{className:fe.body,children:s!=="upload"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:fe.searchWrap,children:[l.jsx(Vo,{size:14,className:fe.searchIcon}),l.jsx("input",{type:"search",className:fe.searchInput,placeholder:"Search images…",value:o,onChange:F=>ge(F.target.value)})]}),y&&c.length===0?l.jsxs("div",{className:fe.loadingRow,children:[l.jsx(ci,{size:20,className:fe.spinner}),l.jsx("span",{children:"Loading…"})]}):c.length===0?l.jsx("div",{className:fe.empty,children:"No images found"}):l.jsx("div",{className:fe.grid,children:c.map(F=>{const Y=F.appIcon??F.artifactUrl??F.downloadUrl??"",K=(_==null?void 0:_.identifier)===F.identifier;return l.jsxs("button",{type:"button",className:`${fe.imgCell} ${K?fe.imgCellSelected:""}`,onClick:()=>p(F),title:F.name,children:[Y?l.jsx("img",{src:Y,alt:F.name,className:fe.thumb}):l.jsx("div",{className:fe.noThumb,children:"IMG"}),K&&l.jsx("div",{className:fe.checkBadge,children:l.jsx(hn,{size:12})})]},F.identifier)})}),X&&!y&&l.jsx("button",{className:fe.loadMoreBtn,onClick:_e,children:"Load More"}),y&&c.length>0&&l.jsx("div",{className:fe.loadingRow,children:l.jsx(ci,{size:16,className:fe.spinner})})]}):l.jsxs("div",{className:fe.uploadArea,children:[l.jsx("div",{className:fe.dropZone,onClick:()=>{var F;return(F=N.current)==null?void 0:F.click()},onDragOver:F=>F.preventDefault(),onDrop:F=>{F.preventDefault();const Y=F.dataTransfer.files[0];Y&&G({target:{files:[Y],value:""}})},children:w?l.jsx("img",{src:w,alt:"Preview",className:fe.uploadPreview}):l.jsxs(l.Fragment,{children:[l.jsx(Bc,{size:32,className:fe.uploadIcon}),l.jsx("p",{className:fe.dropText,children:"Drag & drop or click to browse"}),l.jsxs("p",{className:fe.dropSubtext,children:[j.split(",").map(F=>F.replace("image/","").toUpperCase()).join(", ")," · max ",(U/(1024*1024)).toFixed(0)," MB"]})]})}),l.jsx("input",{ref:N,type:"file",accept:j,className:fe.hiddenInput,onChange:G}),b&&l.jsx("p",{className:fe.fileName,children:b.name}),P&&l.jsx("p",{className:fe.errorText,children:P})]})}),l.jsxs("div",{className:fe.footer,children:[l.jsx("button",{className:fe.cancelBtn,onClick:n,children:"Cancel"}),s==="upload"?l.jsx("button",{className:fe.confirmBtn,disabled:!b||I,onClick:L,children:I?l.jsxs(l.Fragment,{children:[l.jsx(ci,{size:14,className:fe.spinner})," Uploading…"]}):"Upload & Use"}):l.jsx("button",{className:fe.confirmBtn,disabled:!_,onClick:we,children:"Use Selected"})]})]})})},uO=({name:e,label:t,nodeId:r,required:n,disabled:s})=>{const[i,o]=h.useState(!1),{watch:a,setValue:c,register:d,formState:{errors:u}}=Yt(),f=a(e),y=u[e],g=p=>{c(e,p,{shouldDirty:!0,shouldValidate:!0}),o(!1)},_=()=>{c(e,"",{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...d(e,{required:n?`${t} is required`:!1})}),l.jsx("div",{className:$.iconWrap,role:"button",tabIndex:s?-1:0,"aria-label":"Select app icon",onClick:()=>!s&&o(!0),onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&!s&&o(!0)},children:f?l.jsx("img",{src:f,alt:"App icon",className:$.iconPreview}):l.jsxs("div",{className:$.iconPlaceholder,children:[l.jsx($c,{size:20}),l.jsx("span",{children:"Select icon"})]})}),f&&!s&&l.jsxs("button",{type:"button",className:$.removeIconBtn,onClick:_,"aria-label":"Remove app icon",children:[l.jsx(zo,{size:13}),l.jsx("span",{children:"Remove"})]}),y&&l.jsx("span",{className:$.error,children:String(y.message)}),i&&l.jsx(bh,{nodeId:r,currentValue:f,onSelect:g,onClose:()=>o(!1)})]})},dO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1}});return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{id:e,type:"datetime-local",className:[$.input,o?$.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:i.onChange,onBlur:i.onBlur,ref:i.ref}),o&&l.jsx("span",{className:$.error,children:String(o.message)})]})},fO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:[]}),[a,c]=h.useState(""),d=h.useRef(null),u=i.value??[],f=p=>{const v=p.trim();!v||u.includes(v)||i.onChange([...u,v])},y=p=>{i.onChange(u.filter(v=>v!==p))},g=p=>{p.key==="Enter"||p.key===","?(p.preventDefault(),f(a),c("")):p.key==="Backspace"&&a===""&&u.length>0&&y(u[u.length-1])},_=()=>{a.trim()&&(f(a),c("")),i.onBlur()};return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:[$.chipGroup,o?$.inputError:""].join(" "),onClick:()=>{var p;return!n&&((p=d.current)==null?void 0:p.focus())},style:{cursor:n?"not-allowed":"text"},children:[u.map(p=>l.jsxs("span",{className:$.tagChip,children:[p,!n&&l.jsx("button",{type:"button",className:$.tagChipRemove,onClick:v=>{v.stopPropagation(),y(p)},"aria-label":`Remove ${p}`,children:l.jsx(jr,{size:11})})]},p)),!n&&l.jsx("input",{ref:d,className:$.chipInput,value:a,onChange:p=>c(p.target.value),onKeyDown:g,onBlur:_,placeholder:u.length===0?"Type and press Enter or comma…":"",style:{flexGrow:1,minWidth:120}})]}),o&&l.jsx("span",{className:$.error,children:String(o.message)})]})},hO=({name:e,label:t,levels:r,required:n,disabled:s})=>{const{control:i}=Yt(),{field:o,fieldState:{error:a}}=Wi({name:e,control:i,rules:{required:n?`${t} is required`:!1},defaultValue:{}}),c=o.value??{},d=(u,f,y)=>{const g={};for(let _=0;_<f;_++)g[r[_].code]=c[r[_].code]??"";g[u]=y;for(let _=f+1;_<r.length;_++)g[r[_].code]="";o.onChange(g)};return l.jsxs("div",{className:[$.field,$.fullWidth].join(" "),children:[l.jsxs("label",{className:$.label,children:[t,n&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("div",{className:$.nestedSelectRow,children:r.map((u,f)=>{const y=f>0&&!c[r[f-1].code];return l.jsxs("div",{className:$.field,style:{flex:1},children:[l.jsx("label",{className:$.label,htmlFor:`${e}_${u.code}`,children:u.label}),l.jsxs("select",{id:`${e}_${u.code}`,className:[$.input,a?$.inputError:""].join(" "),disabled:s||y,value:c[u.code]??"",onChange:g=>d(u.code,f,g.target.value),onBlur:o.onBlur,children:[l.jsx("option",{value:"",children:"Select…"}),u.options.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))]})]},u.code)})}),a&&l.jsx("span",{className:$.error,children:String(a.message)})]})},_h=[{label:"CC BY 4.0",value:"CC BY 4.0"},{label:"CC BY-SA 4.0",value:"CC BY-SA 4.0"},{label:"CC BY-NC 4.0",value:"CC BY-NC 4.0"},{label:"CC BY-NC-SA 4.0",value:"CC BY-NC-SA 4.0"},{label:"CC BY-ND 4.0",value:"CC BY-ND 4.0"},{label:"CC0 1.0 (Public Domain)",value:"CC0 1.0"}],pO=({name:e,label:t,required:r,disabled:n})=>{const[s,i]=h.useState(!1),o=h.useRef(null),{register:a,watch:c,setValue:d,formState:{errors:u}}=Yt(),f=c(e),y=_h.find(p=>p.value===f),g=(y==null?void 0:y.label)??"Select license…",_=u[e];return h.useEffect(()=>{if(!s)return;const p=v=>{var m;(m=o.current)!=null&&m.contains(v.target)||i(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[s]),l.jsxs("div",{className:$.field,ref:o,style:{position:"relative"},children:[l.jsxs("label",{className:$.label,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsx("input",{type:"hidden",...a(e,{required:r?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:n,className:[$.selectBtn,_?$.inputError:"",s?$.selectOpen:""].join(" "),onClick:()=>i(p=>!p),"aria-haspopup":"listbox","aria-expanded":s,children:[l.jsx("span",{className:f?$.selectedVal:$.placeholder,children:g}),l.jsx(ls,{size:14,className:s?$.chevronUp:""})]}),s&&l.jsx("div",{className:$.dropdown,role:"listbox",children:_h.map(p=>l.jsxs("button",{type:"button",role:"option","aria-selected":f===p.value,className:[$.option,f===p.value?$.optionSelected:""].join(" "),onClick:()=>{d(e,p.value,{shouldDirty:!0,shouldValidate:!0}),i(!1)},children:[l.jsx("span",{children:p.label}),f===p.value&&l.jsx(hn,{size:13})]},p.value))}),_&&l.jsx("span",{className:$.error,children:String(_.message)})]})},gO=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Yt(),{field:i,fieldState:{error:o}}=Wi({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:""}),[a,c]=h.useState("idle"),[d,u]=h.useState(""),f=async()=>{const g=(i.value??"").trim();if(!g){c("invalid"),u("Enter a dial code to validate.");return}c("loading"),u("");try{const _=await qb(g),p=_==null?void 0:_.result,v=p==null?void 0:p.dialcodes;Array.isArray(v)&&v.length>0?(c("valid"),u("Dial code is valid.")):(c("invalid"),u("Dial code not found."))}catch{c("invalid"),u("Validation failed. Please try again.")}},y=()=>a==="loading"?l.jsx(ci,{size:16,className:$.dialcodeSpinner}):a==="valid"?l.jsx(Pc,{size:16,color:"var(--sbx-success, #2e7d32)"}):a==="invalid"?l.jsx(Fo,{size:16,color:"var(--sbx-error)"}):null;return l.jsxs("div",{className:$.field,children:[l.jsxs("label",{className:$.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:$.required,children:"*"})]}),l.jsxs("div",{className:$.dialcodeRow,children:[l.jsx("input",{id:e,type:"text",className:[$.input,o?$.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:g=>{i.onChange(g),c("idle"),u("")},onBlur:i.onBlur,ref:i.ref,placeholder:"e.g. A1B2C3",style:{flex:1}}),l.jsx("button",{type:"button",className:$.validateBtn,onClick:f,disabled:n||a==="loading","aria-label":"Validate dial code",children:a==="loading"?"Validating…":"Validate"}),y()]}),o&&l.jsx("span",{className:$.error,children:String(o.message)}),!o&&d&&l.jsx("span",{className:a==="valid"?$.dialcodeValid:$.error,children:d})]})},ol={form:"_form_szqex_1",ungrouped:"_ungrouped_szqex_7",noFields:"_noFields_szqex_18"},yO=({nodeMetadata:e,activeTab:t,isRoot:r,isFolder:n,editorMode:s,onFormValueChange:i,onFormStatusChange:o})=>{var ge,_e,we,G;const a=ce(L=>L.editorConfig),c=ce(L=>L.rootFormConfig),d=ce(L=>L.unitFormConfig),{organisationFramework:u,targetFrameworks:f,isLoading:y}=dh((ge=a==null?void 0:a.context)==null?void 0:ge.framework,(_e=a==null?void 0:a.context)==null?void 0:_e.targetFWIds),{frameworks:g,collectionAdditionalCategories:_}=z1((we=a==null?void 0:a.context)==null?void 0:we.channel),p=g==null?void 0:g.map(L=>({label:L.name,value:L.identifier})),v={organisationFramework:u,targetFrameworks:f,orgFrameworks:p,channelAdditionalCategories:_},m=xe(L=>L.selectedNodeId),b=xe(L=>L.treeCache),S=m?b[m]??{}:{},w={...e,...S},O=r?c:d,I=O||(((G=a==null?void 0:a.config.hierarchy)==null?void 0:G.formConfig)??[]),k=W1(I,w,v,r),P=k.filter(L=>L.tab===t&&L.inputType!=="appIcon"),B=U1({mode:"onChange",defaultValues:Object.fromEntries(k.map(L=>{const X=["multiselect","chips","keywords","tagsinput"],F=["nestedselect"];return X.includes(L.inputType)?[L.code,L.currentValue??L.defaultValue??[]]:F.includes(L.inputType)?[L.code,L.currentValue??L.defaultValue??{}]:[L.code,L.currentValue??L.defaultValue??""]}))});eO(B,k);const{updateNode:N}=xe(),M=h.useRef(k);M.current=k;const V=h.useRef(m);V.current=m;const A=h.useRef(i);A.current=i;const U=h.useRef(o);U.current=o,h.useEffect(()=>{B.trigger().then(()=>{const L=B.formState.errors,X=M.current,F=Array.from(new Set(Object.keys(L).map(Y=>{var K;return(K=X.find(oe=>oe.code===Y))==null?void 0:K.tab}).filter(Boolean)));U.current(Object.keys(L).length===0,F)})},[]),h.useEffect(()=>{const L=B.watch((X,{name:F})=>{const Y=V.current;if(!Y)return;const K=M.current,oe=new Set(K.map(ie=>ie.code));if(F&&oe.has(F)){const ie=B.getValues(F);N(Y,{[F]:ie}),A.current({[F]:ie})}else if(!F){const ie=B.getValues(),ne=Object.fromEntries(Object.entries(ie).filter(([de])=>oe.has(de)));Object.keys(ne).length>0&&(N(Y,ne),A.current(ne))}const Se=B.formState.errors,Ae=Array.from(new Set(Object.keys(Se).map(ie=>{var ne;return(ne=K.find(de=>de.code===ie))==null?void 0:ne.tab}).filter(Boolean)));U.current(Object.keys(Se).length===0,Ae)});return()=>L.unsubscribe()},[B]);const j=s!=="edit",J=P.reduce((L,X)=>{const F=L[L.length-1];return F&&F.section===X.section?F.fields.push(X):L.push({section:X.section,fields:[X]}),L},[]),se=L=>{const X={key:L.code,name:L.code,label:L.label,required:L.required,disabled:j||L.editable===!1};switch(L.inputType){case"textarea":return l.jsx(vh,{...X,multiline:!0,maxLength:L.maxLength});case"select":return l.jsx(rO,{...X,options:L.options??[]});case"multiselect":return l.jsx(nO,{...X,options:L.options??[]});case"chips":return l.jsx(sO,{...X});case"radio":return l.jsx(iO,{...X,options:L.options??[]});case"appIcon":return l.jsx(uO,{...X,nodeId:m??""});case"datepicker":case"datetime":return l.jsx(dO,{...X});case"keywords":case"tagsinput":return l.jsx(fO,{...X});case"nestedselect":return l.jsx(hO,{...X,levels:L.levels??[]});case"license":return l.jsx(pO,{...X});case"dialcode":return l.jsx(gO,{...X});default:return l.jsx(vh,{...X,maxLength:L.maxLength})}};return l.jsx(E1,{...B,children:l.jsxs("div",{className:ol.form,children:[J.map((L,X)=>{const F=L.section?q1[L.section]:void 0;return F?l.jsx(tO,{title:F.title,description:F.description,children:L.fields.map(se)},L.section??X):l.jsx("div",{className:ol.ungrouped,children:L.fields.map(se)},X)}),P.length===0&&!y&&l.jsx("p",{className:ol.noFields,children:"No fields configured for this tab."})]})})};function wh(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function vO(e,t){return e.reduce((r,n,s)=>{const i=t.get(n);return i&&(r[s]=i),r},Array(e.length))}function Yi(e){return e!==null&&e>=0}function mO(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function bO(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const Sh=e=>{let{rects:t,activeIndex:r,overIndex:n,index:s}=e;const i=wh(t,n,r),o=t[s],a=i[s];return!a||!o?null:{x:a.left-o.left,y:a.top-o.top,scaleX:a.width/o.width,scaleY:a.height/o.height}},Ri={scaleX:1,scaleY:1},_O=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:s,rects:i,overIndex:o}=e;const a=(t=i[r])!=null?t:n;if(!a)return null;if(s===r){const d=i[o];return d?{x:0,y:r<o?d.top+d.height-(a.top+a.height):d.top-a.top,...Ri}:null}const c=wO(i,s,r);return s>r&&s<=o?{x:0,y:-a.height-c,...Ri}:s<r&&s>=o?{x:0,y:a.height+c,...Ri}:{x:0,y:0,...Ri}};function wO(e,t,r){const n=e[t],s=e[t-1],i=e[t+1];return n?r<t?s?n.top-(s.top+s.height):i?i.top-(n.top+n.height):0:i?i.top-(n.top+n.height):s?n.top-(s.top+s.height):0:0}const Ch="Sortable",Oh=h.createContext({activeIndex:-1,containerId:Ch,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Sh,disabled:{draggable:!1,droppable:!1}});function SO(e){let{children:t,id:r,items:n,strategy:s=Sh,disabled:i=!1}=e;const{active:o,dragOverlay:a,droppableRects:c,over:d,measureDroppableContainers:u}=Nc(),f=ts(Ch,r),y=a.rect!==null,g=h.useMemo(()=>n.map(I=>typeof I=="object"&&"id"in I?I.id:I),[n]),_=o!=null,p=o?g.indexOf(o.id):-1,v=d?g.indexOf(d.id):-1,m=h.useRef(g),b=!mO(g,m.current),S=v!==-1&&p===-1||b,w=bO(i);Ht(()=>{b&&_&&u(g)},[b,g,_,u]),h.useEffect(()=>{m.current=g},[g]);const O=h.useMemo(()=>({activeIndex:p,containerId:f,disabled:w,disableTransforms:S,items:g,overIndex:v,useDragOverlay:y,sortedRects:vO(g,c),strategy:s}),[p,f,w.draggable,w.droppable,S,g,v,c,y,s]);return h.createElement(Oh.Provider,{value:O},t)}const CO=e=>{let{id:t,items:r,activeIndex:n,overIndex:s}=e;return wh(r,n,s).indexOf(t)},OO=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:s,items:i,newIndex:o,previousItems:a,previousContainerId:c,transition:d}=e;return!d||!n||a!==i&&s===o?!1:r?!0:o!==s&&t===c},EO={duration:200,easing:"ease"},Eh="transform",DO=wr.Transition.toString({property:Eh,duration:0,easing:"linear"}),IO={roleDescription:"sortable"};function TO(e){let{disabled:t,index:r,node:n,rect:s}=e;const[i,o]=h.useState(null),a=h.useRef(r);return Ht(()=>{if(!t&&r!==a.current&&n.current){const c=s.current;if(c){const d=fn(n.current,{ignoreTransform:!0}),u={x:c.left-d.left,y:c.top-d.top,scaleX:c.width/d.width,scaleY:c.height/d.height};(u.x||u.y)&&o(u)}}r!==a.current&&(a.current=r)},[t,r,n,s]),h.useEffect(()=>{i&&o(null)},[i]),i}function NO(e){let{animateLayoutChanges:t=OO,attributes:r,disabled:n,data:s,getNewIndex:i=CO,id:o,strategy:a,resizeObserverConfig:c,transition:d=EO}=e;const{items:u,containerId:f,activeIndex:y,disabled:g,disableTransforms:_,sortedRects:p,overIndex:v,useDragOverlay:m,strategy:b}=h.useContext(Oh),S=xO(n,g),w=u.indexOf(o),O=h.useMemo(()=>({sortable:{containerId:f,index:w,items:u},...s}),[f,s,w,u]),I=h.useMemo(()=>u.slice(u.indexOf(o)),[u,o]),{rect:k,node:P,isOver:B,setNodeRef:N}=Uy({id:o,data:O,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:I,...c}}),{active:M,activatorEvent:V,activeNodeRect:A,attributes:U,setNodeRef:j,listeners:J,isDragging:se,over:ge,setActivatorNodeRef:_e,transform:we}=Tc({id:o,data:O,attributes:{...IO,...r},disabled:S.draggable}),G=Eg(N,j),L=!!M,X=L&&!_&&Yi(y)&&Yi(v),F=!m&&se,Y=F&&X?we:null,oe=X?Y??(a??b)({rects:p,activeNodeRect:A,activeIndex:y,overIndex:v,index:w}):null,Se=Yi(y)&&Yi(v)?i({id:o,items:u,activeIndex:y,overIndex:v}):w,Ae=M==null?void 0:M.id,ie=h.useRef({activeId:Ae,items:u,newIndex:Se,containerId:f}),ne=u!==ie.current.items,de=t({active:M,containerId:f,isDragging:se,isSorting:L,id:o,index:w,items:u,newIndex:ie.current.newIndex,previousItems:ie.current.items,previousContainerId:ie.current.containerId,transition:d,wasDragging:ie.current.activeId!=null}),je=TO({disabled:!de,index:w,node:P,rect:k});return h.useEffect(()=>{L&&ie.current.newIndex!==Se&&(ie.current.newIndex=Se),f!==ie.current.containerId&&(ie.current.containerId=f),u!==ie.current.items&&(ie.current.items=u)},[L,Se,f,u]),h.useEffect(()=>{if(Ae===ie.current.activeId)return;if(Ae&&!ie.current.activeId){ie.current.activeId=Ae;return}const Pe=setTimeout(()=>{ie.current.activeId=Ae},50);return()=>clearTimeout(Pe)},[Ae]),{active:M,activeIndex:y,attributes:U,data:O,rect:k,index:w,newIndex:Se,items:u,isOver:B,isSorting:L,isDragging:se,listeners:J,node:P,overIndex:v,over:ge,setNodeRef:G,setActivatorNodeRef:_e,setDroppableNodeRef:N,setDraggableNodeRef:j,transform:je??oe,transition:Ke()};function Ke(){if(je||ne&&ie.current.newIndex===w)return DO;if(!(F&&!ei(V)||!d)&&(L||de))return wr.Transition.toString({...d,property:Eh})}}function xO(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function Xi(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kO=[me.Down,me.Right,me.Up,me.Left],AO=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:s,droppableContainers:i,over:o,scrollableAncestors:a}}=t;if(kO.includes(e.code)){if(e.preventDefault(),!r||!n)return;const c=[];i.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const y=s.get(f.id);if(y)switch(e.code){case me.Down:n.top<y.top&&c.push(f);break;case me.Up:n.top>y.top&&c.push(f);break;case me.Left:n.left>y.left&&c.push(f);break;case me.Right:n.left<y.left&&c.push(f);break}});const d=zg({collisionRect:n,droppableRects:s,droppableContainers:c});let u=ec(d,"id");if(u===(o==null?void 0:o.id)&&d.length>1&&(u=d[1].id),u!=null){const f=i.get(r.id),y=i.get(u),g=y?s.get(y.id):null,_=y==null?void 0:y.node.current;if(_&&g&&f&&y){const v=ni(_).some((I,k)=>a[k]!==I),m=Dh(f,y),b=PO(f,y),S=v||!m?{x:0,y:0}:{x:b?n.width-g.width:0,y:b?n.height-g.height:0},w={x:g.left,y:g.top};return S.x&&S.y?w:rs(w,S)}}}};function Dh(e,t){return!Xi(e)||!Xi(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function PO(e,t){return!Xi(e)||!Xi(t)||!Dh(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}const Yr={row:"_row_11nth_1",removeBtn:"_removeBtn_11nth_14",grip:"_grip_11nth_17",ctIcon:"_ctIcon_11nth_34",info:"_info_11nth_38",name:"_name_11nth_46",meta:"_meta_11nth_55"},MO={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},LO=({item:e,onRemove:t,isEditable:r})=>{const n=zi(e),s=MO[n.key]??pn,{attributes:i,listeners:o,setNodeRef:a,transform:c,transition:d,isDragging:u}=NO({id:e.id,disabled:!r}),f={transform:wr.Transform.toString(c),transition:d,opacity:u?.5:1};return l.jsxs("div",{ref:a,style:f,className:Yr.row,role:"listitem",children:[r&&l.jsx("span",{className:Yr.grip,...i,...o,"aria-label":"Drag to reorder",children:l.jsx(Fc,{size:15})}),l.jsx("span",{className:[`sbx-ct-sq--${n.key}`,Yr.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(s,{size:14})}),l.jsxs("div",{className:Yr.info,children:[l.jsx("span",{className:Yr.name,title:e.name,children:e.name}),l.jsx("span",{className:Yr.meta,children:n.label})]}),l.jsx("span",{className:`sbx-ct-badge--${n.key}`,children:n.label}),r&&l.jsx("button",{type:"button",className:Yr.removeBtn,onClick:()=>t(e.id),"aria-label":`Remove ${e.name}`,children:l.jsx(jr,{size:14})})]})},Rr={container:"_container_lzvke_1",header:"_header_lzvke_7",heading:"_heading_lzvke_13",count:"_count_lzvke_21",list:"_list_lzvke_30",emptyState:"_emptyState_lzvke_36",addRow:"_addRow_lzvke_52"},FO=({editorMode:e})=>{const{selectedNodeId:t,getChildrenOf:r,reorderChildren:n,deleteNode:s}=xe(),i=t?r(t):[],o=e==="edit",a=Rl(Oo(si,{activationConstraint:{distance:5}}),Oo(No,{coordinateGetter:AO})),c=h.useCallback(u=>{const{active:f,over:y}=u;if(!y||f.id===y.id||!t)return;const g=xe.getState().getChildrenOf(t),_=g.findIndex(v=>v.id===f.id),p=g.findIndex(v=>v.id===y.id);_<0||p<0||n(t,_,p)},[t,n]),d=h.useCallback(u=>{window.confirm("Remove this content from the unit?")&&s(u)},[s]);return t?l.jsxs("div",{className:Rr.container,children:[l.jsxs("div",{className:Rr.header,children:[l.jsx("span",{className:Rr.heading,children:"Content in this unit"}),l.jsx("span",{className:Rr.count,children:i.length})]}),i.length>0?l.jsx(Dc,{sensors:a,collisionDetection:Vg,onDragEnd:c,children:l.jsx(SO,{items:i.map(u=>u.id),strategy:_O,children:l.jsx("div",{className:Rr.list,role:"list",children:i.map(u=>l.jsx(LO,{item:u,onRemove:d,isEditable:o},u.id))})})}):l.jsxs("div",{className:Rr.emptyState,children:[l.jsx("p",{children:"No content yet"}),l.jsx("span",{children:"Drag from the library or click Add content"})]}),o&&l.jsxs("button",{className:Rr.addRow,type:"button","aria-label":"Add content to unit",children:[l.jsx(cs,{size:14})," Add content"]})]}):null},Ih={dropZone:"_dropZone_ijo5w_1",active:"_active_ijo5w_14"},$O=({isActive:e,label:t="Drop here",nodeId:r,className:n})=>l.jsx("div",{className:`${Ih.dropZone} ${e?Ih.active:""} ${n??""}`,"data-droppable":e?"true":void 0,"data-node-id":r,"aria-label":t,role:"region",children:l.jsx("span",{children:t})});async function jO(e){var o;const t={status:["Live"],...e.filters??{}};e.channel&&(t.channel=e.channel);const n=((o=(await Me.post("/action/composite/v3/search",{request:{filters:t,query:e.query??"",limit:e.limit??20,offset:e.offset??0,sort_by:e.sortBy??{lastUpdatedOn:"desc"},fields:e.fields??["identifier","name","mimeType","contentType","primaryCategory","appIcon","channel","organisation","pkgVersion"]}},{headers:{"X-Source":"web","X-msgid":Math.random().toString(36).slice(2)}})).data)==null?void 0:o.result)??{},s=new Set(["count","facets"]);return{content:Object.entries(n).filter(([a])=>!s.has(a)).flatMap(([,a])=>Array.isArray(a)?a:[]),count:n.count??0}}async function BO(e){var r,n;return(n=(r=(await Me.get(`/action/content/v3/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.content}const Fe={contentPlayerRoot:"_contentPlayerRoot_ryh6z_1",stage:"_stage_ryh6z_9",playerHeader:"_playerHeader_ryh6z_19",playerHeaderThumb:"_playerHeaderThumb_ryh6z_33",playerHeaderTitle:"_playerHeaderTitle_ryh6z_43",typeBadge:"_typeBadge_ryh6z_53",typeDot:"_typeDot_ryh6z_92",aspectRatio:"_aspectRatio_ryh6z_99",playerFrame:"_playerFrame_ryh6z_112",coverOverlay:"_coverOverlay_ryh6z_120",coverHidden:"_coverHidden_ryh6z_132",coverThumb:"_coverThumb_ryh6z_137",coverPlayRing:"_coverPlayRing_ryh6z_146",coverPlayIcon:"_coverPlayIcon_ryh6z_159",coverLabel:"_coverLabel_ryh6z_168",coverSkeleton:"_coverSkeleton_ryh6z_174",playerWrapper:"_playerWrapper_ryh6z_200",infoStrip:"_infoStrip_ryh6z_210",infoChip:"_infoChip_ryh6z_226",infoChipLabel:"_infoChipLabel_ryh6z_245",infoChipIcon:"_infoChipIcon_ryh6z_254",playerError:"_playerError_ryh6z_260",playerErrorIcon:"_playerErrorIcon_ryh6z_274",playerErrorMsg:"_playerErrorMsg_ryh6z_279",qumlRoot:"_qumlRoot_ryh6z_286"},UO=[{key:"video",mimes:["video/mp4","video/webm","video/ogg"],label:"Video",icon:"🎬"},{key:"audio",mimes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav"],label:"Audio",icon:"🎵"},{key:"pdf",mimes:["application/pdf"],label:"PDF",icon:"📄"},{key:"epub",mimes:["application/epub"],label:"ePub",icon:"📖"},{key:"ecml",mimes:["application/vnd.ekstep.ecml-archive"],label:"ECML",icon:"✏️"},{key:"h5p",mimes:["application/vnd.ekstep.h5p-archive"],label:"H5P",icon:"🎮"},{key:"scorm",mimes:["application/vnd.ekstep.content-collection"],label:"SCORM",icon:"📦"}];function VO(e){return UO.find(t=>t.mimes.includes(e))??{key:"other",label:"Content",icon:"📱"}}const zO={"pdf-player":["application/pdf"],"video-player":["video/mp4","video/webm"],"epub-player":["application/epub"]},qO={"pdf-player":"/assets/sunbird-pdf-player.js","video-player":"/assets/sunbird-video-player.js","epub-player":"/assets/sunbird-epub-player.js"},HO={"pdf-player":"sunbird-pdf-player","video-player":"sunbird-video-player","epub-player":"sunbird-epub-player"},WO="/content/preview/preview.html?webview=true&build_number=2.8.0.e552fcd";function al(e){for(const[t,r]of Object.entries(zO))if(r.includes(e))return t;return"default-player"}function KO(e,t,r){var i;const n=r==null?void 0:r.context,s=t.mimeType??e.mimeType??"";return{context:{mode:"play",partner:[],pdata:{id:((i=n==null?void 0:n.pdata)==null?void 0:i.id)??"sunbird.portal",ver:1,pid:"sunbird-portal"},contentId:e.identifier,sid:(n==null?void 0:n.sid)??"",uid:(n==null?void 0:n.uid)??"",channel:(n==null?void 0:n.channel)??"",did:(n==null?void 0:n.did)??"",timeDiff:0,contextRollup:{},tags:[],app:[(n==null?void 0:n.channel)??""],dims:""},config:{showEndPage:!1,showStartPage:!0,host:"",overlay:{showUser:!1},splash:{text:"",icon:"",bgImage:"",webLink:""},sideMenu:{showDownload:!0,showExit:!1,showShare:!0},apislug:"/action",repos:["/sunbird-plugins/renderer"],plugins:[{id:"org.sunbird.iframeEvent",ver:1,type:"plugin"},{id:"org.sunbird.player.endpage",ver:1.1,type:"plugin"}],enableTelemetryValidation:!1},metadata:t,data:s==="application/vnd.ekstep.ecml-archive"?t.body??{}:{}}}function GO(e){return document.querySelector(`script[src="${e}"]`)?Promise.resolve():new Promise((t,r)=>{const n=document.createElement("script");n.src=e,n.onload=()=>t(),n.onerror=()=>r(new Error(`Failed to load ${e}`)),document.head.appendChild(n)})}async function QO(e,t,r=100){await GO(qO[t]??""),!customElements.get(e)&&await new Promise((n,s)=>{let i=0;const o=setInterval(()=>{i++,customElements.get(e)?(clearInterval(o),n()):i>=r&&(clearInterval(o),s(new Error(`Custom element <${e}> did not register`)))},100)})}const YO=[{key:"author",label:"Author",icon:"👤"},{key:"license",label:"License",icon:"⚖️"},{key:"language",label:"Language",icon:"🌐"},{key:"gradeLevel",label:"Class",icon:"🏫"},{key:"subject",label:"Subject",icon:"📚"},{key:"contentType",label:"Type",icon:"🏷️"}];function RO({node:e}){const t=e.metadata??{},r=YO.flatMap(n=>{const s=t[n.key];if(!s)return[];const i=Array.isArray(s)?s.join(", "):String(s);return i?[{...n,val:i}]:[]});return r.length?l.jsx("div",{className:Fe.infoStrip,children:r.map(n=>l.jsxs("div",{className:Fe.infoChip,children:[n.icon&&l.jsx("span",{className:Fe.infoChipIcon,children:n.icon}),l.jsx("span",{className:Fe.infoChipLabel,children:n.label}),n.val]},n.key))}):null}function XO({node:e,hidden:t}){var n;const r=e.appIcon??((n=e.metadata)==null?void 0:n.appIcon);return l.jsx("div",{className:`${Fe.coverOverlay} ${t?Fe.coverHidden:""}`,children:r?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:r,alt:e.name,className:Fe.coverThumb}),l.jsx("div",{className:Fe.coverPlayRing,children:l.jsx("div",{className:Fe.coverPlayIcon})}),l.jsx("span",{className:Fe.coverLabel,children:"Loading preview…"})]}):l.jsx("div",{className:Fe.coverSkeleton})})}function ZO({message:e}){return l.jsxs("div",{className:Fe.playerError,children:[l.jsx("span",{className:Fe.playerErrorIcon,children:"⚠"}),l.jsx("span",{className:Fe.playerErrorMsg,children:e})]})}function JO({mimeType:e}){const t=VO(e);return l.jsxs("span",{className:Fe.typeBadge,"data-type":t.key,children:[l.jsx("span",{className:Fe.typeDot}),t.label]})}const ll=({node:e,editorMode:t,type:r})=>{var s;if(r==="quml")return l.jsx(tE,{node:e,editorMode:t});const n=e.appIcon??((s=e.metadata)==null?void 0:s.appIcon);return l.jsxs("div",{className:Fe.contentPlayerRoot,children:[l.jsxs("div",{className:Fe.stage,children:[l.jsxs("div",{className:Fe.playerHeader,children:[n&&l.jsx("img",{src:n,alt:"",className:Fe.playerHeaderThumb}),l.jsx("span",{className:Fe.playerHeaderTitle,children:e.name}),l.jsx(JO,{mimeType:e.mimeType??""})]}),l.jsx(eE,{node:e})]}),l.jsx(RO,{node:e})]})};function eE({node:e}){var v;const t=ce(m=>m.editorConfig),[r,n]=h.useState(()=>al(e.mimeType??"")),[s,i]=h.useState(!1),[o,a]=h.useState(null),[c,d]=h.useState(e.metadata??{}),[u,f]=h.useState(!1),y=h.useRef(null),g=h.useRef(null),_=((v=t==null?void 0:t.config)==null?void 0:v.previewCdnUrl)??WO;h.useEffect(()=>{let m=!1;return f(!1),i(!1),a(null),d(e.metadata??{}),n(al(e.mimeType??"")),BO(e.identifier).then(b=>{if(m)return;const S={...e.metadata??{},...b};d(S);const w=b.mimeType??e.mimeType??"";n(al(w)),f(!0)}).catch(()=>{m||f(!0)}),()=>{m=!0}},[e.identifier]);const p=KO(e,c,t);return h.useEffect(()=>{if(!u||r!=="default-player")return;const m=y.current;if(!m)return;m.src=_;const b=()=>{try{const w=m.contentWindow;if(typeof(w==null?void 0:w.initializePreview)!="function"){a("Preview player unavailable. Check that /content/preview is reachable.");return}w.initializePreview(p),setTimeout(()=>i(!0),300)}catch(w){console.error("[ContentPlayer] initializePreview failed",w),a("Failed to initialize the content player.")}},S=()=>a("Preview player could not be loaded.");return m.addEventListener("load",b),m.addEventListener("error",S),()=>{m.removeEventListener("load",b),m.removeEventListener("error",S),m.src=""}},[e.identifier,r,_,u]),h.useEffect(()=>{if(!u||r==="default-player")return;const m=g.current;if(!m)return;const b=HO[r];if(!b)return;const S=p;QO(b,r).then(()=>{if(!g.current)return;if(!customElements.get(b)){n("default-player");return}const w=document.createElement(b);w.setAttribute("player-config",JSON.stringify(S)),w.addEventListener("playerEvent",()=>{}),w.addEventListener("telemetryEvent",()=>{}),m.innerHTML="",m.appendChild(w),setTimeout(()=>{try{w.playerConfig=S}catch{}i(!0)},200)}).catch(()=>{console.warn(`[ContentPlayer] ${r} script unavailable, falling back to iframe`),n("default-player")})},[e.identifier,r,u]),l.jsxs("div",{className:Fe.aspectRatio,children:[o?l.jsx(ZO,{message:o}):l.jsx(XO,{node:e,hidden:s}),r==="default-player"?l.jsx("iframe",{ref:y,id:"contentPlayer",title:e.name,className:Fe.playerFrame,name:"contentPlayer",allowFullScreen:!0}):l.jsx("div",{ref:g,className:Fe.playerFrame})]})}function tE({node:e,editorMode:t}){const r=ce(s=>s.editorConfig),n=h.useRef(null);return h.useEffect(()=>{var a;if(!n.current)return;const s=r==null?void 0:r.context,i={context:{mode:t==="edit"?"edit":"play",pdata:{id:((a=s==null?void 0:s.pdata)==null?void 0:a.id)??"sunbird.portal",ver:"1.0",pid:"sunbird-portal"},contentId:e.identifier,sid:(s==null?void 0:s.sid)??"",uid:(s==null?void 0:s.uid)??"",channel:(s==null?void 0:s.channel)??"",did:(s==null?void 0:s.did)??""},config:{enable:!1,showShare:!1,showDownload:!1,showReplay:!0,showExit:!1},metadata:e.metadata??{},data:{}},o=document.createElement("sunbird-quml-player");o.setAttribute("player-config",JSON.stringify(i)),n.current.innerHTML="",n.current.appendChild(o)},[e.identifier,t]),l.jsx("div",{className:Fe.qumlRoot,children:l.jsx("div",{ref:n,className:Fe.playerWrapper})})}const Vt={overlay:"_overlay_ifddx_1",modal:"_modal_ifddx_11",header:"_header_ifddx_21",body:"_body_ifddx_37",hint:"_hint_ifddx_43",list:"_list_ifddx_49",item:"_item_ifddx_55",selected:"_selected_ifddx_68",empty:"_empty_ifddx_73",footer:"_footer_ifddx_79",cancelBtn:"_cancelBtn_ifddx_87",moveBtn:"_moveBtn_ifddx_95"};function rE(e,t,r){const n=[],s=i=>{var o;for(const a of i)a.isFolder&&a.id!==r&&a.id!==t&&n.push(a),(o=a.children)!=null&&o.length&&s(a.children)};return s(e),n}const nE=({resourceId:e,resourceName:t,currentUnitId:r,onClose:n})=>{var u;const{treeData:s,moveNode:i}=xe(),o=rE(s,((u=s[0])==null?void 0:u.id)??"",r),[a,c]=h.useState(null),d=()=>{a&&(i(e,r,a),n())};return l.jsx("div",{className:Vt.overlay,role:"dialog","aria-label":"Move resource",children:l.jsxs("div",{className:Vt.modal,children:[l.jsxs("div",{className:Vt.header,children:[l.jsxs("span",{children:['Move "',t,'"']}),l.jsx("button",{onClick:n,"aria-label":"Close",children:l.jsx(jr,{size:16})})]}),l.jsxs("div",{className:Vt.body,children:[l.jsx("p",{className:Vt.hint,children:"Select a unit to move this content to:"}),l.jsxs("ul",{className:Vt.list,children:[o.map(f=>l.jsxs("li",{className:`${Vt.item} ${a===f.id?Vt.selected:""}`,onClick:()=>c(f.id),children:[l.jsx(av,{size:14}),l.jsx("span",{children:f.name})]},f.id)),o.length===0&&l.jsx("li",{className:Vt.empty,children:"No other units available"})]})]}),l.jsxs("div",{className:Vt.footer,children:[l.jsx("button",{className:Vt.cancelBtn,onClick:n,children:"Cancel"}),l.jsx("button",{className:Vt.moveBtn,onClick:d,disabled:!a,children:"Move here"})]})]})})},rr={overlay:"_overlay_16at9_1",modal:"_modal_16at9_11",header:"_header_16at9_21",body:"_body_16at9_37",table:"_table_16at9_43",pageInput:"_pageInput_16at9_61",empty:"_empty_16at9_68",footer:"_footer_16at9_74",cancelBtn:"_cancelBtn_16at9_82",saveBtn:"_saveBtn_16at9_90"};function sE(e){const t=[],r=n=>{var s;for(const i of n)!i.isFolder&&(!i.children||i.children.length===0)?t.push(i):(s=i.children)!=null&&s.length&&r(i.children)};return r(e),t}const iE=({onClose:e})=>{const{treeData:t,updateNode:r}=xe(),n=sE(t),[s,i]=h.useState(()=>Object.fromEntries(n.map(a=>{var c;return[a.id,String(((c=a.metadata)==null?void 0:c.pageNumber)??"")]}))),o=h.useCallback(()=>{for(const[a,c]of Object.entries(s))c!==""&&r(a,{pageNumber:parseInt(c,10)||void 0});e()},[s,r,e]);return l.jsx("div",{className:rr.overlay,role:"dialog","aria-label":"Assign Page Numbers",children:l.jsxs("div",{className:rr.modal,children:[l.jsxs("div",{className:rr.header,children:[l.jsx("span",{children:"Assign Page Numbers"}),l.jsx("button",{onClick:e,"aria-label":"Close",children:l.jsx(jr,{size:16})})]}),l.jsx("div",{className:rr.body,children:n.length===0?l.jsx("p",{className:rr.empty,children:"No content items found in this collection."}):l.jsxs("table",{className:rr.table,children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Content"}),l.jsx("th",{children:"Page Number"})]})}),l.jsx("tbody",{children:n.map(a=>l.jsxs("tr",{children:[l.jsx("td",{children:a.name}),l.jsx("td",{children:l.jsx("input",{type:"number",min:1,value:s[a.id]??"",onChange:c=>i(d=>({...d,[a.id]:c.target.value})),className:rr.pageInput})})]},a.id))})]})}),l.jsxs("div",{className:rr.footer,children:[l.jsx("button",{className:rr.cancelBtn,onClick:e,children:"Cancel"}),l.jsxs("button",{className:rr.saveBtn,onClick:o,children:[l.jsx(yv,{size:14})," Save"]})]})]})})},Ve={container:"_container_1a7t2_1",panelHeader:"_panelHeader_1a7t2_10",panelHeaderLeft:"_panelHeaderLeft_1a7t2_19",panelCollapseBtn:"_panelCollapseBtn_1a7t2_27",titleRow:"_titleRow_1a7t2_46",field:"_field_1a7t2_47",moveBtn:"_moveBtn_1a7t2_64",icon:"_icon_1a7t2_84",nameInput:"_nameInput_1a7t2_93",fieldHeader:"_fieldHeader_1a7t2_118",label:"_label_1a7t2_124",fieldCount:"_fieldCount_1a7t2_133",chips:"_chips_1a7t2_170",chip:"_chip_1a7t2_170",chipRemove:"_chipRemove_1a7t2_188",keywordInput:"_keywordInput_1a7t2_202",input:"_input_1a7t2_207",addBtn:"_addBtn_1a7t2_220",radioGroup:"_radioGroup_1a7t2_234",radioLabel:"_radioLabel_1a7t2_239"},oE=({node:e,editorMode:t,onMoveClick:r,reorderDialog:n})=>{var M,V;const{updateNode:s,markDirty:i}=xe(),o=t==="edit",a=zi(e),c=ce(A=>A.relationalFormConfig),d=A=>c==null?void 0:c.find(U=>U.code===A),u=A=>!c||!!d(A),f=(A,U)=>{var j;return((j=d(A))==null?void 0:j.label)||U},[y,g]=h.useState(!0),_=((M=e.metadata)==null?void 0:M.relationalMetadata)??{},[p,v]=h.useState(_.name??e.name??""),[m,b]=h.useState(""),[S,w]=h.useState(Array.isArray(_.keywords)?_.keywords:Array.isArray((V=e.metadata)==null?void 0:V.keywords)?e.metadata.keywords:[]),[O,I]=h.useState(!!_.optional);h.useEffect(()=>{var U,j;const A=((U=e.metadata)==null?void 0:U.relationalMetadata)??{};v(A.name??e.name??""),w(Array.isArray(A.keywords)?A.keywords:Array.isArray((j=e.metadata)==null?void 0:j.keywords)?e.metadata.keywords:[]),I(!!A.optional)},[e.id]);const k=()=>{p.trim()&&p!==e.name&&(s(e.id,{name:p.trim()}),i())},P=()=>{const A=m.trim();if(A&&!S.includes(A)){const U=[...S,A];w(U),s(e.id,{keywords:U}),i()}b("")},B=A=>{const U=S.filter(j=>j!==A);w(U),s(e.id,{keywords:U}),i()},N=A=>{I(A),s(e.id,{optional:A}),i()};return l.jsxs("div",{className:Ve.container,children:[l.jsxs("div",{className:Ve.panelHeader,children:[l.jsxs("div",{className:Ve.panelHeaderLeft,children:[l.jsx("span",{className:`sbx-ct-badge--${a.key}`,children:a.label}),o&&l.jsx("button",{type:"button",className:Ve.moveBtn,onClick:r,children:"Move to another unit"})]}),l.jsx("button",{type:"button",className:Ve.panelCollapseBtn,onClick:()=>g(A=>!A),"aria-expanded":y,"aria-label":y?"Collapse metadata panel":"Expand metadata panel",title:y?"Collapse":"Expand",children:y?l.jsx(ls,{size:15}):l.jsx(sv,{size:15})})]}),y&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:Ve.titleRow,children:[e.appIcon&&l.jsx("img",{src:e.appIcon,alt:"icon",className:Ve.icon}),l.jsx("input",{type:"text",className:Ve.nameInput,value:p,disabled:!o,onChange:A=>v(A.target.value),onBlur:k,placeholder:"Content name"})]}),u("keywords")&&l.jsxs("div",{className:Ve.field,children:[l.jsx("div",{className:Ve.fieldHeader,children:l.jsxs("label",{className:Ve.label,children:[f("keywords","Keywords"),S.length>0&&l.jsx("span",{className:Ve.fieldCount,children:S.length})]})}),S.length>0&&l.jsx("div",{className:Ve.chips,children:S.map(A=>l.jsxs("span",{className:Ve.chip,children:[A,o&&l.jsx("button",{type:"button",className:Ve.chipRemove,onClick:()=>B(A),children:"×"})]},A))}),o&&l.jsxs("div",{className:Ve.keywordInput,children:[l.jsx("input",{type:"text",className:Ve.input,value:m,placeholder:"Add keyword and press Enter",onChange:A=>b(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(A.preventDefault(),P())}}),l.jsx("button",{type:"button",className:Ve.addBtn,onClick:P,children:"Add"})]})]}),u("optional")&&l.jsxs("div",{className:Ve.field,children:[l.jsx("label",{className:Ve.label,children:f("optional","Optional in Collection")}),l.jsxs("div",{className:Ve.radioGroup,children:[l.jsxs("label",{className:Ve.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:O===!0,onChange:()=>N(!0),disabled:!o}),"Yes"]}),l.jsxs("label",{className:Ve.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:O===!1,onChange:()=>N(!1),disabled:!o}),"No"]})]})]})]}),n]})},Ts={iconBtn:"_iconBtn_vl14u_1",editable:"_editable_vl14u_14",iconImg:"_iconImg_vl14u_26",placeholder:"_placeholder_vl14u_34",removeBtn:"_removeBtn_vl14u_41"},aE=({nodeId:e,value:t,editable:r})=>{const[n,s]=h.useState(!1),{updateNode:i,markDirty:o}=xe(),a=d=>{i(e,{appIcon:d}),o(),s(!1)},c=d=>{d.stopPropagation(),i(e,{appIcon:""}),o()};return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:[Ts.iconBtn,r?Ts.editable:""].filter(Boolean).join(" "),role:r?"button":void 0,tabIndex:r?0:-1,"aria-label":r?"Select app icon":"App icon",onClick:()=>r&&s(!0),onKeyDown:d=>{r&&(d.key==="Enter"||d.key===" ")&&s(!0)},children:[t?l.jsx("img",{src:t,alt:"App icon",className:Ts.iconImg}):l.jsx("div",{className:Ts.placeholder,children:l.jsx($c,{size:18})}),t&&r&&l.jsx("button",{type:"button",className:Ts.removeBtn,onClick:c,"aria-label":"Remove icon",children:l.jsx(zo,{size:11})})]}),n&&l.jsx(bh,{nodeId:e,currentValue:t,onSelect:a,onClose:()=>s(!1)})]})},Rt={leafContentLayout:"_leafContentLayout_1osey_1",container:"_container_1osey_17",emptyState:"_emptyState_1osey_26",titleRow:"_titleRow_1osey_36",nodeTitle:"_nodeTitle_1osey_52",formArea:"_formArea_1osey_74",contentListArea:"_contentListArea_1osey_78",dropZone:"_dropZone_1osey_83",reviewComment:"_reviewComment_1osey_90",reviewCommentLabel:"_reviewCommentLabel_1osey_103",reviewCommentText:"_reviewCommentText_1osey_109"},lE=["application/vnd.sunbird.questionset"],cE=({editorMode:e,onToolbarEvent:t})=>{var M,V,A,U;const[r,n]=h.useState("details"),[s,i]=h.useState([]),[o,a]=h.useState(null),[c,d]=h.useState(!1),u=h.useRef(null),f=h.useRef(),{selectedNodeId:y,breadcrumb:g,activeNodeMeta:_,updateNode:p,treeData:v}=xe(),m=ce(j=>{var J,se,ge,_e;return((se=(J=j.editorConfig)==null?void 0:J.context)==null?void 0:se.contentId)??((_e=(ge=j.editorConfig)==null?void 0:ge.context)==null?void 0:_e.identifier)??""}),b=y?Th(v,y):null,S=!!b&&!b.parent,w=!!(b!=null&&b.isFolder),O=b&&lE.includes(b.mimeType??""),I=b&&!b.isFolder&&!O&&!S,k=((M=b==null?void 0:b.metadata)==null?void 0:M.rejectComment)??(S?(A=(V=v[0])==null?void 0:V.metadata)==null?void 0:A.rejectComment:void 0),P=h.useCallback(()=>{const j=u.current;if(!j||!y)return;const J=j.innerText.trim();clearTimeout(f.current),f.current=setTimeout(()=>{p(y,{name:J})},600)},[y,p]),B=h.useCallback(j=>{t({action:"onFormValueChange",data:j})},[t]),N=h.useCallback((j,J)=>{i(J),t({action:"onFormStatusChange",data:{isValid:j,nodeId:y}})},[t,y]);return b?O?l.jsx(ll,{node:b,editorMode:e,type:"quml"}):I?l.jsxs("div",{className:Rt.leafContentLayout,children:[l.jsx(ll,{node:b,editorMode:e,type:"content"}),l.jsx(oE,{node:b,editorMode:e,onMoveClick:()=>a(b.identifier),reorderDialog:o?l.jsx(nE,{resourceId:o,resourceName:b.name,currentUnitId:b.parent??"",onClose:()=>a(null)}):null})]}):l.jsxs("div",{className:Rt.container,children:[l.jsx(w1,{crumbs:g}),k&&l.jsxs("div",{className:Rt.reviewComment,role:"alert",children:[l.jsx("span",{className:Rt.reviewCommentLabel,children:"Reviewer comment:"}),l.jsx("span",{className:Rt.reviewCommentText,children:k})]}),l.jsxs("div",{className:Rt.titleRow,children:[S&&y&&l.jsx(aE,{nodeId:y,value:String(b.appIcon??((U=b.metadata)==null?void 0:U.appIcon)??""),editable:e==="edit"}),l.jsx("div",{ref:u,className:Rt.nodeTitle,contentEditable:e==="edit",suppressContentEditableWarning:!0,onInput:P,onBlur:P,"data-placeholder":"Untitled","aria-label":"Node title",children:b.name})]}),l.jsx(S1,{activeTab:r,onChange:j=>n(j),errorTabs:s,visibleTabs:S?void 0:["details"]}),l.jsx("div",{className:Rt.formArea,children:l.jsx(yO,{nodeMetadata:_,activeTab:r,isRoot:S,isFolder:w,editorMode:e,onFormValueChange:B,onFormStatusChange:N},`${y??"none"}:${S?"root":"node"}`)}),(w||S)&&r==="details"&&l.jsx("div",{className:Rt.contentListArea,children:l.jsx(FO,{editorMode:e})}),l.jsx($O,{isActive:!1,label:"Drop to add content to this unit",nodeId:y??void 0,className:Rt.dropZone}),c&&l.jsx(iE,{contentId:m,onClose:()=>d(!1)})]}):l.jsx("div",{className:Rt.emptyState,children:l.jsx("p",{children:"Select a unit from the outline to edit its details"})})};function Th(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=Th(r.children,t);if(n)return n}}}const Nh=di((e,t)=>({allContent:[],filteredContent:[],searchQuery:"",activeFilter:"all",advancedFilters:{},isLoading:!1,totalCount:0,offset:0,sortAZ:!1,setContent:(r,n)=>{e({allContent:r,totalCount:n,offset:r.length}),t().applyFilter()},appendContent:(r,n)=>{const i=[...t().allContent,...r];e({allContent:i,totalCount:n,offset:i.length}),t().applyFilter()},setFilter:r=>{e({activeFilter:r}),t().applyFilter()},setSearch:r=>{e({searchQuery:r}),t().applyFilter()},setLoading:r=>e({isLoading:r}),setAdvancedFilters:r=>e({advancedFilters:r}),setOffset:r=>e({offset:r}),setSortAZ:r=>e({sortAZ:r}),applyFilter:()=>{const{allContent:r,activeFilter:n,searchQuery:s}=t();let i=r;if(n&&n!=="all"){const o=n.toLowerCase();i=i.filter(a=>[a.mimeType??"",a.primaryCategory??"",a.contentType??""].join(" ").toLowerCase().includes(o))}if(s&&s.trim()!==""){const o=s.toLowerCase().trim();i=i.filter(a=>(a.name??"").toLowerCase().includes(o))}e({filteredContent:i})}})),uE=20;function xh(){var d;const e=ce(u=>u.editorConfig),t=xe(u=>u.selectedNodeId),r=xe(u=>u.treeData),n=h.useCallback(()=>{if(!t||!r.length)return 0;function u(f,y,g=0){var _;for(const p of f){if(p.id===y)return g;if((_=p.children)!=null&&_.length){const v=u(p.children,y,g+1);if(v>=0)return v}}return-1}return Math.max(0,u(r,t))},[t,r])(),s=(d=e==null?void 0:e.config)==null?void 0:d.hierarchy;if(!s)return[...Lf];const i=`level${n}`,o=s[i],a=o==null?void 0:o.children,c=a==null?void 0:a.Content;return c!=null&&c.length?c:[...Lf]}function dE(){const e=Nh(),t=ce(f=>{var y,g;return((g=(y=f.editorConfig)==null?void 0:y.context)==null?void 0:g.channel)??""}),r=xh(),n=h.useRef(),s=h.useCallback(async(f="",y="all",g={},_=!0,p=!1)=>{var v,m,b,S,w;e.setLoading(!0);try{const O={status:["Live"],primaryCategory:y&&y!=="all"?[y]:r};(v=g==null?void 0:g.board)!=null&&v.length&&(O.board=g.board),(m=g==null?void 0:g.medium)!=null&&m.length&&(O.medium=g.medium),(b=g==null?void 0:g.gradeLevel)!=null&&b.length&&(O.gradeLevel=g.gradeLevel),(S=g==null?void 0:g.subject)!=null&&S.length&&(O.subject=g.subject),(w=g==null?void 0:g.primaryCategory)!=null&&w.length&&(O.primaryCategory=g.primaryCategory);const I=_?0:e.offset,{content:k,count:P}=await jO({filters:O,query:f,limit:f?50:uE,offset:I,channel:t||void 0,sortBy:p?{name:"asc"}:{lastUpdatedOn:"desc"}});_?e.setContent(k,P):e.appendContent(k,P)}catch(O){console.error("[useLibrary] load error:",O)}finally{e.setLoading(!1)}},[r,t]);h.useEffect(()=>{s()},[t]);const i=h.useCallback(f=>{e.setSearch(f),clearTimeout(n.current),n.current=setTimeout(()=>s(f,e.activeFilter,e.advancedFilters,!0,e.sortAZ),300)},[e.activeFilter,e.advancedFilters,e.sortAZ,s]),o=h.useCallback(f=>{e.setFilter(f),s(e.searchQuery,f,e.advancedFilters,!0,e.sortAZ)},[e.searchQuery,e.advancedFilters,e.sortAZ,s]),a=h.useCallback(f=>{e.setAdvancedFilters(f),s(e.searchQuery,e.activeFilter,f,!0,e.sortAZ)},[e.searchQuery,e.activeFilter,e.sortAZ,s]),c=h.useCallback(()=>{const f=!e.sortAZ;e.setSortAZ(f),s(e.searchQuery,e.activeFilter,e.advancedFilters,!0,f)},[e.sortAZ,e.searchQuery,e.activeFilter,e.advancedFilters,s]),d=h.useCallback(()=>{e.isLoading||s(e.searchQuery,e.activeFilter,e.advancedFilters,!1,e.sortAZ)},[e.isLoading,e.searchQuery,e.activeFilter,e.advancedFilters,e.sortAZ,s]),u=e.allContent.length<e.totalCount;return{content:e.filteredContent,isLoading:e.isLoading,totalCount:e.totalCount,activeFilter:e.activeFilter,advancedFilters:e.advancedFilters,searchQuery:e.searchQuery,sortAZ:e.sortAZ,hasMore:u,search:i,setFilter:o,applyAdvancedFilters:a,toggleSort:c,loadMore:d,refetch:()=>s(e.searchQuery,e.activeFilter,e.advancedFilters,!0,e.sortAZ)}}const nr={card:"_card_jzciw_1",addBtn:"_addBtn_jzciw_17",dragging:"_dragging_jzciw_24",ctIcon:"_ctIcon_jzciw_29",info:"_info_jzciw_33",name:"_name_jzciw_41",meta:"_meta_jzciw_50",addBtnMuted:"_addBtnMuted_jzciw_78",added:"_added_jzciw_87",addedBadge:"_addedBadge_jzciw_96"},fE={video:qo,pdf:$o,h5p:jo,scorm:Uo,audio:Bo,quiz:Lo,default:pn},hE=({item:e,onAdd:t,onPreview:r,isDraggable:n,isAdded:s})=>{var p,v;const i=zi(e),o=fE[i.key]??pn,a=Ha(),c=c1(),d=a&&!s&&c,{attributes:u,listeners:f,setNodeRef:y,isDragging:g}=Tc({id:e.identifier,disabled:!n||!a||!c,data:{type:"library-item",item:e}}),_=()=>{r&&r(e)};return l.jsxs("div",{ref:y,className:[nr.card,g?nr.dragging:"",s?nr.added:""].join(" "),"aria-label":e.name,...n?{...u,...f}:{},role:"listitem",onClick:_,children:[l.jsx("span",{className:[`sbx-ct-sq--${i.key}`,nr.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(o,{size:14})}),l.jsxs("div",{className:nr.info,children:[l.jsx("span",{className:nr.name,title:e.name,children:e.name}),l.jsxs("span",{className:nr.meta,children:[((p=e.organisation)==null?void 0:p[0])??e.channel??"",(v=e.organisation)!=null&&v[0]&&e.primaryCategory?" · ":"",e.primaryCategory??""]})]}),s&&l.jsx("span",{className:nr.addedBadge,"aria-label":"Already added",title:"Already added to this collection",children:l.jsx(hn,{size:12})}),!s&&l.jsx("button",{type:"button",className:[nr.addBtn,!d&&a?nr.addBtnMuted:""].join(" "),onClick:m=>{m.stopPropagation(),t(e)},disabled:!a,"aria-disabled":!d,"aria-label":`Add ${e.name} to unit`,title:a?c?"Add to unit":"Select a unit to add":"Only Draft content can be added",children:l.jsx(cs,{size:14})})]})},kh={chips:"_chips_xhhaq_1",chip:"_chip_xhhaq_1"},pE=({filters:e,active:t,onChange:r})=>l.jsx("div",{className:kh.chips,role:"group","aria-label":"Content type filters",children:e.map(n=>l.jsx("button",{type:"button",role:"radio","aria-checked":t===n.value,className:["sbx-chip",t===n.value?"filled":"outline",kh.chip].join(" "),onClick:()=>r(n.value),children:n.label},n.value))}),et={panel:"_panel_1cl11_1",header:"_header_1cl11_10",headerTitle:"_headerTitle_1cl11_19",closeBtn:"_closeBtn_1cl11_25",body:"_body_1cl11_43",section:"_section_1cl11_59",sectionLabel:"_sectionLabel_1cl11_65",chips:"_chips_1cl11_73",chip:"_chip_1cl11_73",active:"_active_1cl11_96",footer:"_footer_1cl11_102",resetBtn:"_resetBtn_1cl11_112",applyBtn:"_applyBtn_1cl11_129"},gE=[{key:"board",label:"Board"},{key:"medium",label:"Medium"},{key:"gradeLevel",label:"Class"},{key:"subject",label:"Subject"}],yE=new Set(["board","medium","gradeLevel","subject","topic"]),vE=({local:e,toggle:t})=>{const r=xh();return r.length?l.jsxs("div",{className:et.section,children:[l.jsx("div",{className:et.sectionLabel,children:"Primary Category"}),l.jsx("div",{className:et.chips,children:r.map(n=>l.jsx("button",{type:"button",className:[et.chip,(e.primaryCategory??[]).includes(n)?et.active:""].join(" "),onClick:()=>t("primaryCategory",n),children:n},n))})]}):null},mE=({isOpen:e,filters:t,onApply:r,onClose:n})=>{var g,_;const s=ce(p=>p.editorConfig),i=ce(p=>p.searchFormConfig),{organisationFramework:o}=dh((g=s==null?void 0:s.context)==null?void 0:g.framework,(_=s==null?void 0:s.context)==null?void 0:_.targetFWIds),[a,c]=h.useState(t),d=i!=null&&i.length?i.filter(p=>yE.has(p.code)).map(p=>({key:p.code,label:p.label||p.code})):gE;h.useEffect(()=>{c(t)},[t]);const u=(p,v)=>{c(m=>{const b=m[p]??[],S=b.includes(v)?b.filter(w=>w!==v):[...b,v];return{...m,[p]:S}})},f=(o==null?void 0:o.categories)??[],y=p=>{var v;return((v=f.find(m=>m.code===p))==null?void 0:v.terms)??[]};return e?l.jsxs("div",{className:et.panel,role:"dialog","aria-label":"Filter library","aria-modal":"true",children:[l.jsxs("div",{className:et.header,children:[l.jsx("span",{className:et.headerTitle,children:"Filters"}),l.jsx("button",{type:"button",className:et.closeBtn,onClick:n,"aria-label":"Close filters",children:l.jsx(jr,{size:16})})]}),l.jsxs("div",{className:et.body,children:[d.map(({key:p,label:v})=>{const m=y(p);return m.length?l.jsxs("div",{className:et.section,children:[l.jsx("div",{className:et.sectionLabel,children:v}),l.jsx("div",{className:et.chips,children:m.slice(0,20).map(b=>l.jsx("button",{type:"button",className:[et.chip,(a[p]??[]).includes(b.name)?et.active:""].join(" "),onClick:()=>u(p,b.name),children:b.name},b.identifier))})]},p):null}),l.jsx(vE,{local:a,toggle:u})]}),l.jsxs("div",{className:et.footer,children:[l.jsx("button",{type:"button",className:et.resetBtn,onClick:()=>c({}),children:"Reset"}),l.jsx("button",{type:"button",className:et.applyBtn,onClick:()=>{r(a),n()},children:"Apply"})]})]}):null},dr={header:"_header_6qdpu_10",title:"_title_6qdpu_20",headerActions:"_headerActions_6qdpu_31",iconBtn:"_iconBtn_6qdpu_38",playerArea:"_playerArea_6qdpu_56",footer:"_footer_6qdpu_64",addBtn:"_addBtn_6qdpu_73",modalOverlay:"_modalOverlay_6qdpu_92",modalPanel:"_modalPanel_6qdpu_103"},bE=({content:e,onAdd:t,onClose:r})=>{if(!e)return null;const n={id:e.identifier,identifier:e.identifier,name:e.name??"",mimeType:e.mimeType,primaryCategory:e.primaryCategory,contentType:e.contentType,appIcon:e.appIcon,status:e.status,isFolder:!1,children:[],metadata:e};return Be.createPortal(l.jsx("div",{className:dr.modalOverlay,role:"dialog","aria-modal":"true","aria-label":"Content preview",onClick:r,children:l.jsxs("div",{className:dr.modalPanel,onClick:s=>s.stopPropagation(),children:[l.jsxs("div",{className:dr.header,children:[l.jsx("span",{className:dr.title,title:e.name,children:e.name}),l.jsx("div",{className:dr.headerActions,children:l.jsx("button",{type:"button",className:dr.iconBtn,onClick:r,"aria-label":"Close preview",children:l.jsx(jr,{size:16})})})]}),l.jsx("div",{className:dr.playerArea,children:l.jsx(ll,{node:n,editorMode:"read",type:"content"})}),l.jsx("div",{className:dr.footer,children:l.jsx("button",{type:"button",className:dr.addBtn,onClick:()=>t(e),children:"+ Add to Unit"})})]})}),document.body)},$e={dock:"_dock_1lpg0_1",header:"_header_1lpg0_8",headerLeft:"_headerLeft_1lpg0_17",headerTitle:"_headerTitle_1lpg0_24",count:"_count_1lpg0_30",searchRow:"_searchRow_1lpg0_39",searchWrap:"_searchWrap_1lpg0_47",searchIcon:"_searchIcon_1lpg0_53",searchInput:"_searchInput_1lpg0_62",filterToggleBtn:"_filterToggleBtn_1lpg0_80",filterToggleBtnActive:"_filterToggleBtnActive_1lpg0_99",filterBadge:"_filterBadge_1lpg0_105",filters:"_filters_1lpg0_124",mainArea:"_mainArea_1lpg0_134",sidePanelOverlay:"_sidePanelOverlay_1lpg0_143",cardList:"_cardList_1lpg0_152",skeleton:"_skeleton_1lpg0_168",skeletonIcon:"_skeletonIcon_1lpg0_178",skeletonText:"_skeletonText_1lpg0_186",skeletonLine:"_skeletonLine_1lpg0_193",skeletonLineSm:"_skeletonLineSm_1lpg0_200",loadMoreBtn:"_loadMoreBtn_1lpg0_215",emptyState:"_emptyState_1lpg0_240",collapseBtn:"_collapseBtn_1lpg0_260"};function _E(e){const t=new Set,r=[...e];for(;r.length>0;){const n=r.shift();n.isFolder||t.add(n.identifier),n.children&&r.push(...n.children)}return t}const wE=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{const{content:n,isLoading:s,totalCount:i,activeFilter:o,searchQuery:a,sortAZ:c,hasMore:d,search:u,setFilter:f,applyAdvancedFilters:y,toggleSort:g,loadMore:_}=dE(),{addResource:p,selectedNodeId:v,treeData:m}=xe(),b=e==="edit",[S,w]=h.useState(!1),[O,I]=h.useState({}),[k,P]=h.useState(null),B=h.useMemo(()=>_E(m),[m]),N=h.useCallback(j=>{var ge;if(!v){Ee.error("Select a unit first");return}const J=(ge=m[0])==null?void 0:ge.id;if(v===J){Ee("Select a unit from the outline to add content — resources cannot be added directly to the course.",{icon:"ℹ️",duration:4e3});return}if(p(j,v)===!1){Ee.error(`"${j.name}" is already in this collection`);return}Ee.success(`Added "${j.name}"`)},[v,p,m]),M=h.useCallback(j=>{I(j),y(j)},[y]),V=h.useCallback(j=>{P(j)},[]),A=h.useCallback(j=>{N(j),P(null)},[N]),U=h.useMemo(()=>Object.values(O).reduce((j,J)=>j+((J==null?void 0:J.length)??0),0),[O]);return l.jsxs("div",{className:$e.dock,children:[l.jsx("div",{className:$e.header,children:l.jsxs("div",{className:$e.headerLeft,children:[l.jsx("button",{type:"button",className:$e.collapseBtn,onClick:r,"aria-label":"Collapse library panel",title:"Collapse library",children:l.jsx(hv,{size:15})}),l.jsx(uv,{size:16}),l.jsx("span",{className:$e.headerTitle,children:"Library"}),i>0&&l.jsx("span",{className:$e.count,children:i})]})}),l.jsxs("div",{className:$e.searchRow,children:[l.jsxs("div",{className:$e.searchWrap,children:[l.jsx(Vo,{size:14,className:$e.searchIcon}),l.jsx("input",{type:"search",className:$e.searchInput,placeholder:"Search content…",value:a,onChange:j=>u(j.target.value),"aria-label":"Search library"})]}),l.jsx("button",{type:"button",className:[$e.filterToggleBtn,c?$e.filterToggleBtnActive:""].join(" "),onClick:g,"aria-label":c?"Sort: A–Z (click for Recent)":"Sort: Recent (click for A–Z)",title:c?"A–Z":"Recent",children:c?l.jsx(rv,{size:15}):l.jsx(iv,{size:15})}),l.jsxs("button",{type:"button",className:[$e.filterToggleBtn,S?$e.filterToggleBtnActive:""].join(" "),onClick:()=>w(j=>!j),"aria-label":"Toggle advanced filters","aria-pressed":S,title:"Advanced filters",children:[l.jsx(bv,{size:15}),U>0&&l.jsx("span",{className:$e.filterBadge,children:U})]})]}),l.jsx("div",{className:$e.filters,children:l.jsx(pE,{filters:u1,active:o,onChange:f})}),l.jsxs("div",{className:$e.mainArea,children:[l.jsx("div",{className:$e.cardList,role:"list","aria-label":"Library content",children:s&&n.length===0?Array.from({length:4}).map((j,J)=>l.jsxs("div",{className:$e.skeleton,"aria-hidden":"true",children:[l.jsx("div",{className:$e.skeletonIcon}),l.jsxs("div",{className:$e.skeletonText,children:[l.jsx("div",{className:$e.skeletonLine}),l.jsx("div",{className:$e.skeletonLineSm})]})]},J)):n.length>0?l.jsxs(l.Fragment,{children:[n.map(j=>l.jsx(hE,{item:j,onAdd:N,onPreview:V,isDraggable:b,isAdded:B.has(j.identifier)},j.identifier)),d&&l.jsx("button",{type:"button",className:$e.loadMoreBtn,onClick:_,disabled:s,"aria-label":"Load more content",children:s?"Loading…":"Load More"})]}):l.jsxs("div",{className:$e.emptyState,children:[l.jsx(Vo,{size:24}),l.jsx("p",{children:"No content found"}),l.jsx("span",{children:"Try a different search or filter"})]})}),S&&l.jsx("div",{className:$e.sidePanelOverlay,children:l.jsx(mE,{isOpen:S,filters:O,onApply:M,onClose:()=>w(!1)})}),k&&l.jsx(bE,{content:k,onAdd:A,onClose:()=>P(null)})]})]})};function SE(e,t,r){const n={},s={},i=new Set(["id","isFolder","children","parent","isNew","breadcrumb","title","relationalMetadata","optional"]),o=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","targetFWIds","targetTopicIds","topic","topicsIds"]),a=new Set(["audience","attributions","targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","medium","gradeLevel","subject","additionalCategories","keywords","language"]),c=new Set(["copyrightYear","compatibilityLevel","version"]);function d(y,g=!1){const _={};for(const[p,v]of Object.entries(y))if(!i.has(p)&&!(g&&o.has(p)))if(a.has(p))Array.isArray(v)?_[p]=v:v!=null&&v!==""?_[p]=[v]:_[p]=[];else if(c.has(p)){const m=Number(v);isNaN(m)||(_[p]=m)}else _[p]=v;return _}function u(y){var _;const g={};for(const p of y.children??[]){if(p.isFolder)continue;const v=t[p.identifier];if(!v)continue;const{isNew:m,...b}=v;if(Object.keys(b).length===0)continue;const S=((_=p.metadata)==null?void 0:_.relationalMetadata)??{};g[p.identifier]={name:p.name,...S,...b}}return g}function f(y,g){var S,w;const _=y.identifier,p=t[_],v=_.startsWith("temp-")||!!(p!=null&&p.isNew),m=!y.isFolder&&!g;if(g||v||p&&!m){let O;if(v)O={mimeType:"application/vnd.ekstep.content-collection",code:_,contentType:((S=y.metadata)==null?void 0:S.contentType)??"CourseUnit",primaryCategory:((w=y.metadata)==null?void 0:w.primaryCategory)??"Course Unit",name:y.name,visibility:"Parent",channel:r,...d(y.metadata??{})};else if(g){const{isNew:I,...k}=p??{};O={...d(y.metadata??{},!0),...d(k,!1),name:y.name}}else{const{isNew:I,...k}=p??{};O={name:y.name,visibility:"Parent",...d(k,!0)}}n[_]={metadata:O,objectType:y.objectType||(y.isFolder?"Collection":"Content"),root:g,isNew:v}}const b=y.isFolder?u(y):{};s[_]={name:y.name,children:(y.children??[]).map(O=>O.identifier),...Object.keys(b).length>0?{relationalMetadata:b}:{},root:g},(y.children??[]).forEach(O=>f(O,!1))}return e.forEach((y,g)=>f(y,g===0)),{nodesModified:n,hierarchy:s}}function CE(){const[e,t]=h.useState(!1),r=xe(u=>u.treeCache),n=xe(u=>u.treeData),s=ce(u=>u.isDirty),i=ce(u=>u.lastSaved),{setIsDirty:o,setLastSaved:a}=ce(),c=ce(u=>u.editorConfig);return{save:h.useCallback(async()=>{if(!c||e)return;const u=c.context.contentId??c.context.identifier??"";if(!u)return;const f=c.context.channel??"",y=c.context.userId??c.context.uid??"";t(!0);try{const{nodesModified:g,hierarchy:_}=SE(n,r,f),{identifiers:p}=await Fb(u,g,_,y);p&&Object.keys(p).length>0&&xe.getState().replaceNodeIds(p);const v=new Date().toISOString();a(v),o(!1)}catch(g){console.error("[useSaveHierarchy] save failed:",g),Ee.error("Failed to save. Please try again.")}finally{t(!1)}},[c,e,n,r,o,a]),isSaving:e,isDirty:s,lastSaved:i}}function OE(e){const t=ce(o=>o.editorConfig),r=ce(o=>o.setButtonLoader),n=ce(o=>o.validateAllForms),s=xe(o=>o.treeData);return{runAction:h.useCallback(async(o,a)=>{var u,f,y,g;const c=((u=t==null?void 0:t.context)==null?void 0:u.contentId)??((f=t==null?void 0:t.context)==null?void 0:f.identifier)??"";if(!c)return Ee.error("No content identifier found."),!1;const d=((y=t==null?void 0:t.context)==null?void 0:y.userId)??((g=t==null?void 0:t.context)==null?void 0:g.uid)??"";try{switch(o){case"sendForReview":return n(s)?(r("saveCollection",!0),await e(),await Bb(c),Ee.success("Content sent for review"),!0):(Ee.error("Some units have missing required fields. Please fill them before sending for review."),!1);case"reject":{r("rejectCollection",!0);const _=(a==null?void 0:a.comment)??"";return await Ub(c,_),Ee.success("Content rejected and sent back to the author"),!0}case"publish":return n(s)?(r("publishCollection",!0),await e(),await $b(c,d),Ee.success("Content published successfully"),!0):(Ee.error("Some units have missing required fields. Please fill them before publishing."),!1);default:return!1}}catch(_){console.error(`[useToolbarActions] ${o} failed`,_);const p=o==="sendForReview"?"send for review":o==="reject"?"reject":"publish";return Ee.error(`Failed to ${p}. Please try again.`),!1}finally{r("saveCollection",!1),r("rejectCollection",!1),r("publishCollection",!1)}},[t,e,r])}}const Mt={shell:"_shell_90fon_1",workspace:"_workspace_90fon_8",sidebarCollapsed:"_sidebarCollapsed_90fon_16",dockCollapsed:"_dockCollapsed_90fon_19",dock:"_dock_90fon_19",outline:"_outline_90fon_40",reopenTab:"_reopenTab_90fon_45",outlineHidden:"_outlineHidden_90fon_79",editor:"_editor_90fon_86",dockHidden:"_dockHidden_90fon_101",dockReopenTab:"_dockReopenTab_90fon_108",dragChip:"_dragChip_90fon_133",dragChipLabel:"_dragChipLabel_90fon_148"},EE=({editorMode:e,onToolbarEvent:t,onContentAdded:r,onHierarchySaved:n})=>{const[s,i]=h.useState(null),[o,a]=h.useState(!1),[c,d]=h.useState(!1),[u,f]=h.useState(!1),{addResource:y,treeData:g}=xe(),_=ce(A=>A.setFormStatus),[p,v]=h.useState(!0),m=xe(A=>A.selectedNodeId),{save:b,isSaving:S,isDirty:w,lastSaved:O}=CE(),{runAction:I}=OE(b);h.useEffect(()=>{if(!w)return;const A=U=>{U.preventDefault(),U.returnValue=""};return window.addEventListener("beforeunload",A),()=>window.removeEventListener("beforeunload",A)},[w]);const k=Rl(Oo(si,{activationConstraint:{distance:8}})),P=h.useCallback(A=>{var j;const U=(j=A.active.data.current)==null?void 0:j.item;U&&i(U)},[]),B=h.useCallback(A=>{var _e,we;i(null);const U=(_e=A.active.data.current)==null?void 0:_e.item;if(!U)return;const j=A.over,J=(j==null?void 0:j.id)??m??void 0;if(!J){Ee.error("Drop onto a unit to add content");return}const se=(we=g[0])==null?void 0:we.id;if(J===se){Ee.error("Drop content onto a unit, not directly on the course.");return}if(!y(U,J)){Ee.error(`"${U.name}" is already in this collection`);return}r==null||r(U,J),Ee.success(`Added "${U.name}" to unit`)},[m,y,r]),N=h.useCallback(async A=>{if(A.action==="onFormStatusChange"){const{isValid:U,nodeId:j}=A.data??{},J=U!==!1;v(J),j&&_(j,J);return}if(A.action==="back"&&w){f(!0);return}if(A.action==="saveCollection"){if(!p){Ee.error("Please fill the required metadata");return}await b(),n==null||n(g),t==null||t(A);return}if(A.action==="sendForReview"||A.action==="reject"||A.action==="publish"){await I(A.action,A.data)&&(t==null||t(A));return}t==null||t(A)},[b,I,t,n,g,w,p]),M=h.useCallback(async()=>{await b(),f(!1),n==null||n(g),t==null||t({action:"back"})},[b,n,t,g]),V=h.useCallback(()=>{f(!1),t==null||t({action:"back"})},[t]);return l.jsxs(Dc,{sensors:k,onDragStart:P,onDragEnd:B,children:[l.jsxs("div",{className:Mt.shell,children:[l.jsx(Rb,{editorMode:e,isSaving:S,isDirty:w,lastSaved:O,isFormValid:p,onToolbarEvent:N}),l.jsxs("div",{className:[Mt.workspace,o?Mt.sidebarCollapsed:"",c?Mt.dockCollapsed:""].filter(Boolean).join(" "),children:[l.jsx("aside",{className:[Mt.outline,o?Mt.outlineHidden:""].join(" "),"aria-label":"Course outline","aria-hidden":o,children:l.jsx(_1,{editorMode:e,collapsed:o,onToggleCollapse:()=>a(A=>!A)})}),o&&l.jsx("button",{className:Mt.reopenTab,onClick:()=>a(!1),title:"Show outline",type:"button",children:"›"}),l.jsx("main",{className:Mt.editor,role:"main","aria-label":"Content editor",children:l.jsx(cE,{editorMode:e,onToolbarEvent:N})}),l.jsx("aside",{className:[Mt.dock,c?Mt.dockHidden:""].filter(Boolean).join(" "),"aria-label":"Content library","aria-hidden":c,children:l.jsx(wE,{editorMode:e,collapsed:c,onToggleCollapse:()=>d(A=>!A)})}),c&&l.jsx("button",{className:Mt.dockReopenTab,onClick:()=>d(!1),title:"Show library",type:"button",children:"‹"})]})]}),l.jsx(Xy,{dropAnimation:null,children:s?l.jsx("div",{className:Mt.dragChip,children:l.jsx("span",{className:Mt.dragChipLabel,children:s.name})}):null}),u&&l.jsx(Xb,{onSave:M,onDiscard:V,onCancel:()=>f(!1),isSaving:S})]})},DE="v1";function IE(e){const t=e.validations,r=t==null?void 0:t.find(s=>s.type==="maxlength"||s.type==="maxLength");if(!r)return e.maxLength;const n=Number(r.value);return Number.isFinite(n)?n:void 0}function Ah(e,t){var r;return{code:e.code??"",label:e.label??e.name??e.code??"",name:e.name,inputType:e.inputType,dataType:e.dataType,required:e.required===!0||Array.isArray(e.validations)&&e.validations.some(n=>n.type==="required")||String(((r=e.renderingHints)==null?void 0:r.class)??"").includes("required"),editable:e.editable!==!1,visible:e.visible!==!1,placeholder:e.placeholder,maxLength:IE(e),depends:e.depends,sourceCategory:e.sourceCategory,range:e.range,enum:e.enum,default:e.default,defaultValue:e.defaultValue,index:e.index,section:t,output:e.output}}function Dr(e){const t=e==null?void 0:e.properties;if(!Array.isArray(t))return[];const r=[];for(const n of t)if(Array.isArray(n.fields)){const s=n.title??n.name??void 0;for(const i of n.fields)i.code&&r.push(Ah(i,s))}else n.code&&r.push(Ah(n));return r.sort((n,s)=>(n.index??0)-(s.index??0))}function TE(e){const t=e==null?void 0:e.properties;if(!t)return{};const r={};for(const[n,s]of Object.entries(t))s&&"default"in s&&(r[n]=s.default);return r}async function NE(e,t,r="Collection",n=DE){var d,u;const i=(u=(d=(await Me.post(`/action/object/category/definition/${n}/read?fields=objectMetadata,forms,name,label`,{request:{objectCategoryDefinition:{objectType:r,name:e,...t?{channel:t}:{}}}})).data)==null?void 0:d.result)==null?void 0:u.objectCategoryDefinition,o=(i==null?void 0:i.forms)??{},a=(i==null?void 0:i.objectMetadata)??{},c=a.config??{};return{rootForm:Dr(o.create),unitForm:Dr(o.unitMetadata),childForm:Dr(o.childMetadata),searchForm:Dr(o.search??o.searchConfig),relationalForm:Dr(o.relationalMetadata),publishChecklist:Dr(o.publishchecklist),reviewChecklist:Dr(o.review),rfcChecklist:Dr(o.requestforchangeschecklist),schemaDefaults:TE(a.schema),frameworkMetadata:c.frameworkMetadata??{},sourcingSettings:c.sourcingSettings??{}}}function xE({config:e,onError:t}){const[r,n]=h.useState(!0),[s,i]=h.useState(null),[o,a]=h.useState(!1),{setEditorConfig:c,setEditorMode:d,setCategoryDefinition:u}=ce(),{setTreeData:f,selectNode:y}=xe();return h.useEffect(()=>{let g=!1;async function _(){var p,v;try{n(!0),i(null),e.apiBaseUrl&&Uu(e.apiBaseUrl),c(e),d(e.config.mode);const m=e.context.contentId??e.context.identifier??"";if(m){const{rootNode:b}=await qu(m);g||(f(b?[b]:[]),b&&y(b.id));const S=e.config.primaryCategory??"Course",w=e.context.channel??"",O=e.config.categoryDefinitionApiVersion??"v1";try{const I=await NE(S,w,e.config.objectType??"Collection",O);if(!g){u(I);const k=((p=I.sourcingSettings)==null?void 0:p.collection)??{},P={};k.maxDepth&&!e.config.maxDepth&&(P.maxDepth=k.maxDepth),k.children&&!e.config.children&&(P.children=k.children),k.hierarchy&&!((v=e.config.hierarchy)!=null&&v.level1)&&(P.hierarchy={...e.config.hierarchy??{},...k.hierarchy}),Object.keys(P).length>0&&c({...e,config:{...e.config,...P}})}}catch{}}g||a(!0)}catch(m){if(!g){const b=m instanceof Error?m:new Error(String(m));i(b),t==null||t(b)}}finally{g||n(!1)}}return _(),()=>{g=!0}},[e.context.contentId,e.context.identifier]),{isLoading:r,error:s,isReady:o}}const Ns={root:"_root_qcpw6_1",loadingState:"_loadingState_qcpw6_10",loadingSpinner:"_loadingSpinner_qcpw6_20",errorState:"_errorState_qcpw6_34"},kE=new Cp({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});class AE extends h.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t){var r,n;(n=(r=this.props).onError)==null||n.call(r,t)}render(){return this.state.error?l.jsxs("div",{className:Ns.errorState,children:[l.jsx("h3",{children:"Something went wrong"}),l.jsx("p",{children:this.state.error.message}),l.jsx("button",{onClick:()=>this.setState({error:null}),children:"Retry"})]}):this.props.children}}function PE(e){const{isLoading:t,error:r}=xE({config:e,onError:e.onError}),n=ce(s=>s.editorMode);return t?l.jsxs("div",{className:Ns.loadingState,children:[l.jsx("div",{className:Ns.loadingSpinner}),l.jsx("p",{children:"Loading editor..."})]}):r?l.jsxs("div",{className:Ns.errorState,children:[l.jsx("h3",{children:"Failed to load editor"}),l.jsx("p",{children:r.message})]}):l.jsx("div",{className:`sb-split-builder ${Ns.root}`,children:l.jsx(EE,{editorMode:n,onToolbarEvent:e.onToolbarEvent,onContentAdded:e.onContentAdded,onHierarchySaved:e.onHierarchySaved})})}const Ph=e=>l.jsx(AE,{onError:e.onError,children:l.jsxs(Ep,{client:kE,children:[l.jsx(PE,{...e}),l.jsx(Og,{position:"top-right",toastOptions:{duration:3e3}})]})}),Zi=Symbol.for("r2wc.reactRender"),Mh=Symbol.for("r2wc.shouldRender"),Ji=Symbol.for("r2wc.root");function ME(e=""){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function LE(e=""){return e.replace(/-([a-z0-9])/g,function(t){return t[1].toUpperCase()})}var Lh={expando:function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:function(){return r},set:function(n){r=n,this[Zi]()}}),e[Zi]()}};function FE(e,t,r,n={}){var s={isConnected:"isConnected"in HTMLElement.prototype},i=!1,o=function(){var d=Reflect.construct(HTMLElement,arguments,this.constructor);return typeof n.shadow=="string"?d.attachShadow({mode:n.shadow}):n.shadow&&(console.warn('Specifying the "shadow" option as a boolean is deprecated and will be removed in a future version.'),d.attachShadow({mode:"open"})),d},a=Object.create(HTMLElement.prototype);a.constructor=o;var c=new Proxy(a,{has:function(d,u){return u in e.propTypes||u in a},set:function(d,u,f,y){return i&&(s[u]=!0),typeof u=="symbol"||s[u]||u in d?(e.propTypes&&u in e.propTypes&&Lh.expando(y,u,f),Reflect.set(d,u,f,y)):(Lh.expando(y,u,f),!0)},getOwnPropertyDescriptor:function(d,u){var f=Reflect.getOwnPropertyDescriptor(d,u);if(f)return f;if(u in e.propTypes)return{configurable:!0,enumerable:!0,writable:!0,value:void 0}}});return o.prototype=c,a.connectedCallback=function(){this[Mh]=!0,this[Zi]()},a.disconnectedCallback=function(){typeof r.createRoot=="function"?this[Ji].unmount():r.unmountComponentAtNode(this)},a[Zi]=function(){if(this[Mh]===!0){var d={};Object.keys(this).forEach(function(y){s[y]!==!1&&(d[y]=this[y])},this),i=!0;const u=n.shadow?this.shadowRoot:this,f=t.createElement(e,d);typeof r.createRoot=="function"?(this[Ji]||(this[Ji]=r.createRoot(u)),this[Ji].render(f)):r.render(f,u),i=!1}},e.propTypes&&(o.observedAttributes=n.dashStyleAttributes?Object.keys(e.propTypes).map(function(d){return ME(d)}):Object.keys(e.propTypes),a.attributeChangedCallback=function(d,u,f){var y=n.dashStyleAttributes?LE(d):d;this[y]=f}),o}var xs={},ks=Be;if(process.env.NODE_ENV==="production")xs.createRoot=ks.createRoot,xs.hydrateRoot=ks.hydrateRoot;else{var eo=ks.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;xs.createRoot=function(e,t){eo.usingClientEntryPoint=!0;try{return ks.createRoot(e,t)}finally{eo.usingClientEntryPoint=!1}},xs.hydrateRoot=function(e,t,r){eo.usingClientEntryPoint=!0;try{return ks.hydrateRoot(e,t,r)}finally{eo.usingClientEntryPoint=!1}}}function $E(){if(document.getElementById("sb-ce-react-styles"))return;const e=document.createElement("style");e.id="sb-ce-react-styles",e.textContent="@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');",document.head.insertBefore(e,document.head.firstChild)}function jE(e="sb-collection-editor"){if($E(),typeof customElements>"u"||customElements.get(e))return;const t=FE(Ph,h,xs,{});customElements.define(e,t)}ve.CollectionEditor=Ph,ve.registerCollectionEditor=jE,ve.setApiBaseUrl=Uu,ve.useEditorStore=ce,ve.useLibraryStore=Nh,ve.useTreeStore=xe,Object.defineProperty(ve,Symbol.toStringTag,{value:"Module"})});