@project-sunbird/collection-editor-react 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -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 C0(e,t){if(e){if(typeof e=="string")return au(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 au(e,t)}}function au(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 E0(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 O0(e){if(Array.isArray(e))return e}function D0(e,t,r){var n=dn(),s=w0(e,t),i=m0(e);cn(function(){var a=kC(i,s,n),c=S0(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 I0(){var e=dn();return p.useMemo(function(){return new wC(e)},[e])}function T0(e){var t=dn(),r=p.useMemo(function(){return new RC(t.getBackend())},[t]);return cn(function(){return r.dropTargetOptions=e||null,r.reconnect(),function(){return r.disconnectDropTarget()}},[e]),r}function N0(e){return p.useMemo(function(){return e.hooks.dropTarget()},[e])}function mh(e,t){var r=hh(e,t),n=I0(),s=T0(r.options);return D0(r,n,s),[gh(r.collect,n,s),N0(s)]}function j0(e,t){return P0(e)||A0(e,t)||k0(e,t)||R0()}function R0(){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 k0(e,t){if(e){if(typeof e=="string")return lu(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 lu(e,t)}}function lu(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 A0(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 P0(e){if(Array.isArray(e))return e}function M0(e){var t=dn(),r=t.getMonitor(),n=ph(r,e),s=j0(n,2),i=s[0],o=s[1];return p.useEffect(function(){return r.subscribeToOffsetChange(o)}),p.useEffect(function(){return r.subscribeToStateChange(o)}),i}function yh(e){var t=null,r=function(){return t==null&&(t=e()),t};return r}function L0(e,t){return e.filter(function(r){return r!==t})}function F0(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 $0(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 U0(e,t,r){return t&&B0(e.prototype,t),e}function cu(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var z0=function(){function e(t){$0(this,e),cu(this,"entered",[]),cu(this,"isNodeInDocument",void 0),this.isNodeInDocument=t}return U0(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=F0(this.entered.filter(i),[r]),s===0&&this.entered.length>0}},{key:"leave",value:function(r){var n=this.entered.length;return this.entered=L0(this.entered.filter(this.isNodeInDocument),r),n>0&&this.entered.length===0}},{key:"reset",value:function(){this.entered=[]}}]),e}(),V0=yh(function(){return/firefox/i.test(navigator.userAgent)}),vh=yh(function(){return!!window.safari});function q0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function H0(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 W0(e,t,r){return t&&H0(e.prototype,t),e}function ns(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var uu=function(){function e(t,r){q0(this,e),ns(this,"xs",void 0),ns(this,"ys",void 0),ns(this,"c1s",void 0),ns(this,"c2s",void 0),ns(this,"c3s",void 0);for(var n=t.length,s=[],i=0;i<n;i++)s.push(i);s.sort(function(k,M){return t[k]<t[M]?-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]],g=0;g<o.length-1;g++){var m=a[g],_=a[g+1];if(m*_<=0)f.push(0);else{c=o[g];var h=o[g+1],y=c+h;f.push(3*y/((y+h)/m+(y+c)/_))}}f.push(a[a.length-1]);for(var v=[],b=[],S,w=0;w<f.length-1;w++){S=a[w];var C=f[w],I=1/o[w],j=C+f[w+1]-S-S;v.push((S-C-j)*I),b.push(j*I*I)}this.xs=t,this.ys=r,this.c1s=f,this.c2s=v,this.c3s=b}return W0(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 g=n[f];if(g<r)d=f+1;else if(g>r)u=f-1;else return s[f]}c=Math.max(0,u);var m=r-n[c],_=m*m;return s[c]+i[c]*m+o[c]*_+a[c]*m*_}}]),e}(),Q0=1;function bh(e){var t=e.nodeType===Q0?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top,s=r.left;return{x:s,y:n}}function Js(e){return{x:e.clientX,y:e.clientY}}function K0(e){var t;return e.nodeName==="IMG"&&(V0()||!((t=document.documentElement)!==null&&t!==void 0&&t.contains(e)))}function G0(e,t,r,n){var s=e?t.width:r,i=e?t.height:n;return vh()&&e&&(i/=window.devicePixelRatio,s/=window.devicePixelRatio),{dragPreviewWidth:s,dragPreviewHeight:i}}function Y0(e,t,r,n,s){var i=K0(t),o=i?e:t,a=bh(o),c={x:r.x-a.x,y:r.y-a.y},d=e.offsetWidth,u=e.offsetHeight,f=n.anchorX,g=n.anchorY,m=G0(i,t,d,u),_=m.dragPreviewWidth,h=m.dragPreviewHeight,y=function(){var j=new uu([0,.5,1],[c.y,c.y/u*h,c.y+h-u]),k=j.interpolate(g);return vh()&&i&&(k+=(window.devicePixelRatio-1)*h),k},v=function(){var j=new uu([0,.5,1],[c.x,c.x/d*_,c.x+_-d]);return j.interpolate(f)},b=s.offsetX,S=s.offsetY,w=b===0||b,C=S===0||S;return{x:w?b:v(),y:C?S:y()}}var _h="__NATIVE_FILE__",wh="__NATIVE_URL__",Sh="__NATIVE_TEXT__",xh="__NATIVE_HTML__";const du=Object.freeze(Object.defineProperty({__proto__:null,FILE:_h,HTML:xh,TEXT:Sh,URL:wh},Symbol.toStringTag,{value:"Module"}));function ko(e,t,r){var n=t.reduce(function(s,i){return s||e.getData(i)},"");return n??r}var bn;function ei(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Na=(bn={},ei(bn,_h,{exposeProperties:{files:function(t){return Array.prototype.slice.call(t.files)},items:function(t){return t.items},dataTransfer:function(t){return t}},matchesTypes:["Files"]}),ei(bn,xh,{exposeProperties:{html:function(t,r){return ko(t,r,"")},dataTransfer:function(t){return t}},matchesTypes:["Html","text/html"]}),ei(bn,wh,{exposeProperties:{urls:function(t,r){return ko(t,r,"").split(`
465
465
  `)},dataTransfer:function(t){return t}},matchesTypes:["Url","text/uri-list"]}),ei(bn,Sh,{exposeProperties:{text:function(t,r){return ko(t,r,"")},dataTransfer:function(t){return t}},matchesTypes:["Text","text/plain"]}),bn);function X0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z0(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 J0(e,t,r){return t&&Z0(e.prototype,t),e}function fu(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var e1=function(){function e(t){X0(this,e),fu(this,"item",void 0),fu(this,"config",void 0),this.config=t,this.item={},this.initializeExposedProperties()}return J0(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 t1(e,t){var r=new e1(Na[e]);return r.loadDataTransfer(t),r}function Ao(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(Na).filter(function(r){var n=Na[r].matchesTypes;return n.some(function(s){return t.indexOf(s)>-1})})[0]||null}function r1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n1(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 s1(e,t,r){return t&&n1(e.prototype,t),e}function Po(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i1=function(){function e(t,r){r1(this,e),Po(this,"ownerDocument",null),Po(this,"globalContext",void 0),Po(this,"optionsArgs",void 0),this.globalContext=t,this.optionsArgs=r}return s1(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 hu(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 pu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?hu(Object(r),!0).forEach(function(n){be(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):hu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function o1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a1(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 l1(e,t,r){return t&&a1(e.prototype,t),e}function be(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var c1=function(){function e(t,r,n){var s=this;o1(this,e),be(this,"options",void 0),be(this,"actions",void 0),be(this,"monitor",void 0),be(this,"registry",void 0),be(this,"enterLeaveCounter",void 0),be(this,"sourcePreviewNodes",new Map),be(this,"sourcePreviewNodeOptions",new Map),be(this,"sourceNodes",new Map),be(this,"sourceNodeOptions",new Map),be(this,"dragStartSourceIds",null),be(this,"dropTargetIds",[]),be(this,"dragEnterTargetIds",[]),be(this,"currentNativeSource",null),be(this,"currentNativeHandle",null),be(this,"currentDragSourceNode",null),be(this,"altKeyPressed",!1),be(this,"mouseMoveTimeoutTimer",null),be(this,"asyncEndDragFrameId",null),be(this,"dragOverTargetIds",null),be(this,"lastClientOffset",null),be(this,"hoverRafId",null),be(this,"getSourceClientOffset",function(i){var o=s.sourceNodes.get(i);return o&&bh(o)||null}),be(this,"endDragNativeItem",function(){s.isDraggingNativeItem()&&(s.actions.endDrag(),s.currentNativeHandle&&s.registry.removeSource(s.currentNativeHandle),s.currentNativeHandle=null,s.currentNativeSource=null)}),be(this,"isNodeInDocument",function(i){return!!(i&&s.document&&s.document.body&&s.document.body.contains(i))}),be(this,"endDragIfSourceWasRemovedFromDOM",function(){var i=s.currentDragSourceNode;i==null||s.isNodeInDocument(i)||s.clearCurrentDragSourceNode()&&s.monitor.isDragging()&&s.actions.endDrag()}),be(this,"handleTopDragStartCapture",function(){s.clearCurrentDragSourceNode(),s.dragStartSourceIds=[]}),be(this,"handleTopDragStart",function(i){if(!i.defaultPrevented){var o=s.dragStartSourceIds;s.dragStartSourceIds=null;var a=Js(i);s.monitor.isDragging()&&s.actions.endDrag(),s.actions.beginDrag(o||[],{publishSource:!1,getSourceClientOffset:s.getSourceClientOffset,clientOffset:a});var c=i.dataTransfer,d=Ao(c);if(s.monitor.isDragging()){if(c&&typeof c.setDragImage=="function"){var u=s.monitor.getSourceId(),f=s.sourceNodes.get(u),g=s.sourcePreviewNodes.get(u)||f;if(g){var m=s.getCurrentSourcePreviewNodeOptions(),_=m.anchorX,h=m.anchorY,y=m.offsetX,v=m.offsetY,b={anchorX:_,anchorY:h},S={offsetX:y,offsetY:v},w=Y0(f,g,a,b,S);c.setDragImage(g,w.x,w.y)}}try{c==null||c.setData("application/json",{})}catch{}s.setCurrentDragSourceNode(i.target);var C=s.getCurrentSourcePreviewNodeOptions(),I=C.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()}}}),be(this,"handleTopDragEndCapture",function(){s.clearCurrentDragSourceNode()&&s.monitor.isDragging()&&s.actions.endDrag()}),be(this,"handleTopDragEnterCapture",function(i){s.dragEnterTargetIds=[];var o=s.enterLeaveCounter.enter(i.target);if(!(!o||s.monitor.isDragging())){var a=i.dataTransfer,c=Ao(a);c&&s.beginDragNativeItem(c,a)}}),be(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:Js(i)});var a=o.some(function(c){return s.monitor.canDropOnTarget(c)});a&&(i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect=s.getCurrentDropEffect()))}}),be(this,"handleTopDragOverCapture",function(){s.dragOverTargetIds=[]}),be(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=Js(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"))}),be(this,"handleTopDragLeaveCapture",function(i){s.isDraggingNativeItem()&&i.preventDefault();var o=s.enterLeaveCounter.leave(i.target);o&&s.isDraggingNativeItem()&&setTimeout(function(){return s.endDragNativeItem()},0)}),be(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 Ao(i.dataTransfer)&&i.preventDefault();s.enterLeaveCounter.reset()}),be(this,"handleTopDrop",function(i){var o=s.dropTargetIds;s.dropTargetIds=[],s.actions.hover(o,{clientOffset:Js(i)}),s.actions.drop({dropEffect:s.getCurrentDropEffect()}),s.isDraggingNativeItem()?s.endDragNativeItem():s.monitor.isDragging()&&s.actions.endDrag()}),be(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 i1(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new z0(this.isNodeInDocument)}return l1(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 pu({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 pu({anchorX:.5,anchorY:.5,captureDraggingState:!1},n||{})}},{key:"isDraggingNativeItem",value:function(){var r=this.monitor.getItemType();return Object.keys(du).some(function(n){return du[n]===r})}},{key:"beginDragNativeItem",value:function(r,n){this.clearCurrentDragSourceNode(),this.currentNativeSource=t1(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}(),ti;function u1(){return ti||(ti=new Image,ti.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),ti}var d1=function(t,r,n){return new c1(t,r,n)};function f1(e,t){return typeof e=="function"?e(t):e??"NODE"}function h1(e){return e.isDraggable&&!e.isEditing}function p1(e){const t=Tt(),r=t.selectedIds,[n,s,i]=g0(()=>({canDrag:()=>h1(e),type:f1(t.props.dragType,e),item:()=>{const o=t.isSelected(e.id)?Array.from(r):[e.id];return t.dispatch(zn.dragStart(e.id,o)),{id:e.id,dragIds:o,data:e.data}},end:()=>{t.hideCursor(),t.redrawList(),t.dispatch(zn.dragEnd())}}),[r,e,t.props.dragType]);return p.useEffect(()=>{i(u1())},[i]),s}function g1(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 m1(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 ri(e,t){return{parentId:e||null,index:t}}function _n(e,t){return{type:"line",index:e,level:t}}function y1(e){return{type:"highlight",id:e}}function Mo(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=Kf(n)+1;return{parentId:s,index:i}}function Ch(e){var t;const r=g1(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]=m1(i,a,o,r);if(i&&i.isInternal&&r.inMiddle)return{drop:ri(i.id,null),cursor:y1(i.id)};if(!c)return{drop:ri((t=d==null?void 0:d.parent)===null||t===void 0?void 0:t.id,0),cursor:_n(0,0)};if(qf(c)){const u=mi(s,(d==null?void 0:d.level)||0,c.level);return{drop:Mo(c,u),cursor:_n(c.rowIndex+1,u)}}if(Hf(c)){const u=mi(s,(d==null?void 0:d.level)||0,c.level);return{drop:Mo(c,u),cursor:_n(c.rowIndex+1,u)}}if(Wf(c)){const u=mi(s,0,c.level+1);return u>c.level?{drop:ri(c.id,0),cursor:_n(c.rowIndex+1,u)}:{drop:Mo(c,u),cursor:_n(c.rowIndex+1,u)}}return{drop:ri(c==null?void 0:c.id,0),cursor:_n(c.rowIndex+1,c.level+1)}}function v1(e,t){const r=Tt(),[n,s]=mh(()=>({accept:"NODE",canDrop:()=>r.canDrop(),hover:(i,o)=>{const a=o.getClientOffset();if(!e.current||!a)return;const{cursor:c,drop:d}=Ch({element:e.current,offset:a,indent:r.indent,node:t,prevNode:t.prev,nextNode:t.next});d&&r.dispatch(zn.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 b1(e){const t=Tt(),r=t.at(e);if(!r)throw new Error(`Could not find node for index: ${e}`);return p.useMemo(()=>{const n=r.clone();return t.visibleNodes[e]=n,n},[...Object.values(r.state),r])}const gu=p.memo(function({index:t,style:r}){Vf(),Lw();const n=Tt(),s=b1(t),i=p.useRef(null),o=p1(s),a=v1(i,s),c=p.useCallback(h=>{i.current=h,a(h)},[a]),d=n.indent*s.level,u=p.useMemo(()=>({paddingLeft:d}),[d]),f=p.useMemo(()=>{var h,y;return Object.assign(Object.assign({},r),{top:parseFloat(r.top)+((y=(h=n.props.padding)!==null&&h!==void 0?h:n.props.paddingTop)!==null&&y!==void 0?y:0),minWidth:"max-content"})},[r,n.props.padding,n.props.paddingTop]),g={role:"treeitem","aria-level":s.level+1,"aria-selected":s.isSelected,"aria-expanded":s.isOpen,style:f,tabIndex:-1,className:n.props.rowClassName};p.useEffect(()=>{var h;!s.isEditing&&s.isFocused&&((h=i.current)===null||h===void 0||h.focus({preventScroll:!0}))},[s.isEditing,s.isFocused,i.current]);const m=n.renderNode,_=n.renderRow;return l.jsx(_,{node:s,innerRef:c,attrs:g,children:l.jsx(m,{node:s,tree:n,style:u,dragHandle:o})})});let Lo="",mu=null;function Eh(){Vf();const e=Tt();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(),Gf(t.currentTarget);return}if(t.key==="Tab"&&t.shiftKey){t.preventDefault(),Yf(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(mu),Lo+=t.key,mu=setTimeout(()=>{Lo=""},600);const n=e.visibleNodes.find(s=>{const i=s.data.name;return typeof i=="string"?i.toLowerCase().startsWith(Lo):!1});n&&e.focus(n.id)},children:l.jsx(_1,{})})}function _1(){var e,t;const r=Tt(),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:ES,innerElementType:(t=r.props.innerElementType)!==null&&t!==void 0?t:IS,onScroll:r.props.onScroll,onItemsRendered:r.onItemsRendered.bind(r)};return typeof r.props.rowHeight=="function"?l.jsx(wS,Object.assign({},n,{itemSize:r.rowHeightAt,ref:r.list,children:gu})):l.jsx(SS,Object.assign({},n,{itemSize:r.rowHeight,ref:r.list,children:gu}))}function yu(e){return e.isFiltered?S1(e.root,e.isMatch.bind(e)):w1(e.root)}function w1(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(Oh),t}function S1(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(Oh),n}function Oh(e,t){e.rowIndex=t}const vu=e=>e.reduce((t,r,n)=>(t[r.id]=n,t),{});var Fo=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:pt}=zw;class ys{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=Oc(this),this.visibleNodes=yu(this),this.idToIndex=vu(this.visibleNodes)}update(t){this.props=t,this.root=Oc(this),this.visibleNodes=yu(this),this.idToIndex=vu(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=ds(t,n))!==null&&r!==void 0?r:null}accessId(t){const r=this.props.idAccessor||"id",n=ds(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 Is)return t.id;const r=this.props.idAccessor||"id";return ds(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 Fo(this,arguments,void 0,function*(t={}){var r,n;const s=t.parentId===void 0?eh(this):t.parentId,i=(r=t.index)!==null&&r!==void 0?r:Jf(this),o=(n=t.type)!==null&&n!==void 0?n:"leaf",a=yield pt(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 Fo(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 pt(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(Oo(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=>{ys.editPromise=i})}submit(t,r){return Fo(this,void 0,void 0,function*(){var n,s;if(!t)return;const i=this.identify(t);yield pt(this.props.onRename,{id:i,name:r,node:this.get(i)}),this.dispatch(Oo(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(Oo(null)),this.resolveEdit({cancelled:!0}),this.redrawList(),setTimeout(()=>this.onFocus())}activate(t){const r=this.get(this.identifyNull(t));r&&pt(this.props.onActivate,r)}resolveEdit(t){const r=ys.editPromise;r&&r(t),ys.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(gn(this.identify(t))),r.scroll!==!1&&this.scrollTo(t),this.focusedNode&&pt(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(gn(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&&pt(this.props.onFocus,this.focusedNode)}deselect(t){if(!t)return;const r=this.identify(t);this.dispatch(wr.remove(r)),pt(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(gn(n.id)),n.isSelectable&&(this.dispatch(wr.add(n.id)),this.dispatch(wr.anchor(n.id)),this.dispatch(wr.mostRecent(n.id))),this.scrollTo(n,r.align),this.focusedNode&&s&&pt(this.props.onFocus,this.focusedNode),pt(this.props.onSelect,this.selectedNodes)}selectContiguous(t){var r;if(!t)return;const n=this.identify(t);if(this.dispatch(gn(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(wr.remove(this.nodesBetween(s,i))),this.dispatch(wr.add(o)),this.dispatch(wr.mostRecent(n))}this.scrollTo(n),this.focusedNode&&pt(this.props.onFocus,this.focusedNode),pt(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(gn((n=this.lastNode)===null||n===void 0?void 0:n.id)),this.focusedNode&&pt(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(wr.set({ids:n,anchor:s,mostRecent:i})),pt(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&&Qf(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;pt(this.props.onMove,{dragIds:n,parentId:t===Ds?null:t,index:r===null?0:r,dragNodes:this.dragNodes,parentNode:this.get(t)}),this.open(t)}hideCursor(){this.dispatch(zn.cursor({type:"none"}))}showCursor(t){this.dispatch(zn.cursor(t))}open(t,r=!0){var n,s;const i=this.identifyNull(t);i&&(this.isOpen(i)||(this.dispatch(Sa.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),pt(this.props.onToggle,i)))}close(t,r=!0){var n,s;const i=this.identifyNull(t);i&&this.isOpen(i)&&(this.dispatch(Sa.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),pt(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=ul(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(){Mi(this.root,t=>{t.isInternal&&this.open(t.id,!1)}),this.redrawList()}closeAll(){Mi(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),Zf(()=>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===Ds)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!ds(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(gn(t.id))}onBlur(){this.dispatch(Zw())}onItemsRendered(t){this.visibleStartIndex=t.visibleStartIndex,this.visibleStopIndex=t.visibleStopIndex}get renderContainer(){return this.props.renderContainer||Eh}get renderRow(){return this.props.renderRow||Qw}get renderNode(){return this.props.children||Kw}get renderDragPreview(){return this.props.renderDragPreview||th}get renderCursor(){return this.props.renderCursor||Ww}}function gt(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 x1=typeof Symbol=="function"&&Symbol.observable||"@@observable",bu=x1,$o=()=>Math.random().toString(36).substring(7).split("").join("."),C1={INIT:`@@redux/INIT${$o()}`,REPLACE:`@@redux/REPLACE${$o()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${$o()}`},on=C1;function Dh(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 E1(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(I1(e))return"date";if(D1(e))return"error";const r=O1(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 O1(e){return typeof e.constructor=="function"?e.constructor.name:null}function D1(e){return e instanceof Error||typeof e.message=="string"&&e.constructor&&typeof e.constructor.stackTraceLimit=="number"}function I1(e){return e instanceof Date?!0:typeof e.toDateString=="function"&&typeof e.getDate=="function"&&typeof e.setDate=="function"}function Cr(e){let t=typeof e;return process.env.NODE_ENV!=="production"&&(t=E1(e)),t}function Ih(e,t,r){if(typeof e!="function")throw new Error(process.env.NODE_ENV==="production"?gt(2):`Expected the root reducer to be a function. Instead, received: '${Cr(e)}'`);if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(process.env.NODE_ENV==="production"?gt(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"?gt(1):`Expected the enhancer to be a function. Instead, received: '${Cr(r)}'`);return r(Ih)(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((y,v)=>{o.set(v,y)}))}function u(){if(c)throw new Error(process.env.NODE_ENV==="production"?gt(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(y){if(typeof y!="function")throw new Error(process.env.NODE_ENV==="production"?gt(4):`Expected the listener to be a function. Instead, received: '${Cr(y)}'`);if(c)throw new Error(process.env.NODE_ENV==="production"?gt(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 v=!0;d();const b=a++;return o.set(b,y),function(){if(v){if(c)throw new Error(process.env.NODE_ENV==="production"?gt(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.");v=!1,d(),o.delete(b),i=null}}}function g(y){if(!Dh(y))throw new Error(process.env.NODE_ENV==="production"?gt(7):`Actions must be plain objects. Instead, the actual type was: '${Cr(y)}'. 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 y.type>"u")throw new Error(process.env.NODE_ENV==="production"?gt(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(typeof y.type!="string")throw new Error(process.env.NODE_ENV==="production"?gt(17):`Action "type" property must be a string. Instead, the actual type was: '${Cr(y.type)}'. Value was: '${y.type}' (stringified)`);if(c)throw new Error(process.env.NODE_ENV==="production"?gt(9):"Reducers may not dispatch actions.");try{c=!0,s=n(s,y)}finally{c=!1}return(i=o).forEach(b=>{b()}),y}function m(y){if(typeof y!="function")throw new Error(process.env.NODE_ENV==="production"?gt(10):`Expected the nextReducer to be a function. Instead, received: '${Cr(y)}`);n=y,g({type:on.REPLACE})}function _(){const y=f;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(process.env.NODE_ENV==="production"?gt(11):`Expected the observer to be an object. Instead, received: '${Cr(v)}'`);function b(){const w=v;w.next&&w.next(u())}return b(),{unsubscribe:y(b)}},[bu](){return this}}}return g({type:on.INIT}),{dispatch:g,subscribe:f,getState:u,replaceReducer:m,[bu]:_}}function _u(e){typeof console<"u"&&typeof console.error=="function"&&console.error(e);try{throw new Error(e)}catch{}}function T1(e,t,r,n){const s=Object.keys(t),i=r&&r.type===on.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(!Dh(e))return`The ${i} has unexpected type of "${Cr(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===on.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 N1(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:on.INIT})>"u")throw new Error(process.env.NODE_ENV==="production"?gt(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:on.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(process.env.NODE_ENV==="production"?gt(13):`The slice reducer for key "${t}" returned undefined when probed with a random type. Don't try to handle '${on.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 wu(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"&&_u(`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{N1(r)}catch(o){i=o}return function(a={},c){if(i)throw i;if(process.env.NODE_ENV!=="production"){const f=T1(a,r,c,s);f&&_u(f)}let d=!1;const u={};for(let f=0;f<n.length;f++){const g=n[f],m=r[g],_=a[g],h=m(_,c);if(typeof h>"u"){const y=c&&c.type;throw new Error(process.env.NODE_ENV==="production"?gt(14):`When called with an action of type ${y?`"${String(y)}"`:"(unknown type)"}, the slice reducer for key "${g}" 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[g]=h,d=d||h!==_}return d=d||n.length!==Object.keys(a).length,d?u:a}}function j1(e=Un().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 R1=wu({nodes:wu({focus:Jw,edit:Xw,open:eS,selection:tS,drag:j1}),dnd:rS}),k1=Un();function A1({treeProps:e,imperativeHandle:t,children:r}){const n=p.useRef(null),s=p.useRef(null),i=p.useRef(Ih(R1,Un(e))),o=Mw.useSyncExternalStore(i.current.subscribe,i.current.getState,()=>k1),a=p.useMemo(()=>new ys(i.current,e,n,s),[]),c=p.useRef(0);return p.useMemo(()=>{c.current+=1,a.update(e)},Object.values(e)),p.useMemo(()=>{c.current+=1,a.update(a.props)},[o.nodes.open]),p.useImperativeHandle(t,()=>a),p.useEffect(()=>{a.props.selection?a.select(a.props.selection,{focus:!1}):a.deselectAll()},[a.props.selection]),p.useEffect(()=>{a.props.searchTerm||i.current.dispatch(Sa.clear(!0))},[a.props.searchTerm]),l.jsx($f.Provider,{value:a,children:l.jsx(zf.Provider,{value:c.current,children:l.jsx(Bf.Provider,{value:o.nodes,children:l.jsx(Uf.Provider,{value:o.dnd,children:l.jsx(dC,Object.assign({},e.dndManager?{manager:e.dndManager}:{backend:e.dndBackend||d1,options:{rootElement:a.props.dndRootElement||void 0}},{children:r}))})})})})}function P1(){const e=Tt(),[,t]=mh(()=>({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}=Ch({element:e.listEl.current,offset:s,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});o&&e.dispatch(zn.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 M1(e){return P1(),e.children}function L1(){const t=Tt().props.renderContainer||Eh;return l.jsx(l.Fragment,{children:l.jsx(t,{})})}function F1(){const e=Tt(),{offset:t,mouse:r,item:n,isDragging:s}=M0(o=>({offset:o.getSourceClientOffset(),mouse:o.getClientOffset(),item:o.getItem(),isDragging:o.isDragging()})),i=e.props.renderDragPreview||th;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 $1(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 B1{constructor(t,r={}){this.accessors=$1(r),this.root=U1(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 U1(e,t){const r=new Th({},null,t,"ROOT");return r.children=e.map(n=>yl(n,r,t)),r}function yl(e,t,r){const n=new Th(e,t,r),s=r.getChildren(e);return s&&(n.children=s.map(i=>yl(i,n,r))),n}class Th{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=yl(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 z1=0;function V1(e,t={}){const[r,n]=p.useState(e),s=t.idAccessor,i=t.childrenAccessor,o=p.useMemo(()=>new B1(r,{idAccessor:s,childrenAccessor:i}),[r,s,i]),a=_=>{for(const h of _.dragIds)o.move({id:h,parentId:_.parentId,index:_.index});n(o.data)},c=({name:_,id:h})=>{o.update({id:h,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:h,type:y})=>{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(y==="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 v={[d]:`simple-tree-id-${z1++}`,name:""};return y==="internal"&&(v[u]=[]),o.create({parentId:_,index:h,data:v}),n(o.data),v},onDelete:_=>{_.ids.forEach(h=>o.drop({id:h})),n(o.data)}}]}function q1(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]=V1(e.initialData,{idAccessor:e.idAccessor,childrenAccessor:e.childrenAccessor});return Object.assign(Object.assign(Object.assign({},e),r),{data:t})}else return e}function H1(e,t){const r=q1(e);return l.jsxs(A1,{treeProps:r,imperativeHandle:t,children:[l.jsx(M1,{children:l.jsx(L1,{})}),l.jsx(F1,{})]})}const W1=p.forwardRef(H1);function vl(){return je(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 Q1(){return je(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 Su={video:"#EA580C",pdf:"#DC2626",h5p:"#0D9488",scorm:"#7C3AED",audio:"#DB2777",quiz:"#16A34A",default:"#6B7280"},xu={video:"Video",pdf:"FileText",h5p:"Layers",scorm:"Package",audio:"Music",quiz:"HelpCircle",default:"File"},Cu=["Course Assessment","eTextbook","Exam Question","Explanation Content","Learning Resource","Practice Question Set","SCORM Content","Teacher Resource"],K1=[{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 G1(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 ao(e){const t=G1(e);return{key:t,color:Su[t]??Su.default,bgClass:`sbx-ct-sq--${t}`,badgeClass:`sbx-ct-badge--${t}`,tintClass:`sbx-ct-tint--${t}`,iconName:xu[t]??xu.default,label:t.charAt(0).toUpperCase()+t.slice(1)}}const Y1="_row_i3qt2_1",X1="_grip_i3qt2_16",Z1="_menuBtn_i3qt2_19",J1="_selected_i3qt2_23",eE="_title_i3qt2_28",tE="_dropTarget_i3qt2_33",rE="_toggle_i3qt2_50",nE="_ctIcon_i3qt2_65",sE="_folderIcon_i3qt2_77",iE="_renameInput_i3qt2_92",oE="_dropHere_i3qt2_101",aE="_menuWrap_i3qt2_111",lE="_menu_i3qt2_19",cE="_dangerItem_i3qt2_163",Et={row:Y1,grip:X1,menuBtn:Z1,selected:J1,title:eE,dropTarget:tE,toggle:rE,ctIcon:nE,folderIcon:sE,renameInput:iE,dropHere:oE,menuWrap:aE,menu:lE,dangerItem:cE},uE={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},dE=({node:e,style:t,dragHandle:r,editorMode:n})=>{const[s,i]=p.useState(!1),[o,a]=p.useState(!1),[c,d]=p.useState(e.data.name),u=p.useRef(null),f=n==="edit",g=vl(),m=ao(e.data),_=uE[m.key]??Qn,h=e.isSelected,y=e.level===0,v=e.data.isFolder??(e.children&&e.children.length>0),b=y?wy:v?Oy:_;p.useEffect(()=>{if(!s)return;const C=I=>{var j;(j=u.current)!=null&&j.contains(I.target)||i(!1)};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[s]);const S=p.useCallback(()=>{c.trim()&&e.submit(c.trim()),a(!1)},[c,e]),w=p.useCallback(C=>{C.key==="Enter"&&S(),C.key==="Escape"&&(d(e.data.name),a(!1))},[S,e.data.name]);return l.jsxs("div",{className:[Et.row,h?Et.selected:"",e.state.isOver&&v?Et.dropTarget:""].filter(Boolean).join(" "),style:t,onClick:()=>e.select(),"data-node-id":e.data.id,"data-droppable":v?"true":void 0,role:"treeitem","aria-selected":h,"aria-expanded":v?!e.isClosed:void 0,children:[f&&l.jsx("span",{ref:r,className:Et.grip,"aria-hidden":"true",children:l.jsx(tf,{size:14})}),l.jsx("button",{className:Et.toggle,onClick:C=>{C.stopPropagation(),e.toggle()},"aria-label":e.isClosed?"Expand":"Collapse",style:{visibility:v?"visible":"hidden"},children:e.isClosed?l.jsx(Xd,{size:14}):l.jsx(Bs,{size:14})}),l.jsx("span",{className:`${Et.ctIcon} ${y||v?Et.folderIcon:m.bgClass}`,"aria-hidden":"true",children:l.jsx(b,{size:12})}),o?l.jsx("input",{className:Et.renameInput,value:c,autoFocus:!0,onChange:C=>d(C.target.value),onBlur:S,onKeyDown:w,onClick:C=>C.stopPropagation()}):l.jsx("span",{className:Et.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&&v&&l.jsx("span",{className:Et.dropHere,"aria-hidden":"true",children:"Drop here"}),f&&l.jsxs("div",{className:Et.menuWrap,ref:u,children:[l.jsx("button",{className:Et.menuBtn,onClick:C=>{C.stopPropagation(),i(I=>!I)},"aria-label":"Node options",children:l.jsx(Jd,{size:14})}),s&&l.jsxs("div",{className:Et.menu,role:"menu",children:[l.jsxs("button",{role:"menuitem",onClick:()=>{a(!0),i(!1)},children:[l.jsx(Ry,{size:13})," Rename"]}),v&&g&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.id}),i(!1)},children:[l.jsx(ef,{size:13})," Add sub-unit"]}),e.data.parent&&g&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.data.parent}),i(!1)},children:[l.jsx(Us,{size:13})," Add Sibling"]}),l.jsxs("button",{role:"menuitem",className:Et.dangerItem,onClick:()=>{e.tree.delete(e.id),i(!1)},children:[l.jsx(Ja,{size:13})," Delete"]})]})]})]})};async function fE(e,t){var i,o;const n=((i=(await Re.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 hE(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 pE(e,t){var a;const r=await fE(e,t.name),n=await hE(r,t),s=new FormData;return s.append("fileUrl",n),s.append("mimeType",t.type||"text/csv"),{processId:(((a=(await Re.post(`/action/collection/v1/import/${e}`,s)).data)==null?void 0:a.result)??{}).processId??""}}async function gE(e){var r;return((r=(await Re.get(`/action/collection/v1/import/status/${e}`)).data)==null?void 0:r.result)??{status:"PENDING"}}async function Nh(e){var n,s,i;const r=(i=(s=(n=(await Re.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 mE(e){return Nh(e)}const yE="_container_jr3ij_1",vE="_header_jr3ij_13",bE="_title_jr3ij_22",_E="_closeBtn_jr3ij_29",wE="_body_jr3ij_45",SE="_dropZone_jr3ij_54",xE="_dragOver_jr3ij_67",CE="_hasFile_jr3ij_72",EE="_hiddenInput_jr3ij_78",OE="_fileInfo_jr3ij_82",DE="_fileIcon_jr3ij_89",IE="_fileName_jr3ij_93",TE="_fileSize_jr3ij_100",NE="_dropHint_jr3ij_105",jE="_dropIcon_jr3ij_112",RE="_dropText_jr3ij_117",kE="_dropSubtext_jr3ij_124",AE="_sampleLink_jr3ij_130",PE="_statusBar_jr3ij_145",ME="_status_uploading_jr3ij_154",LE="_status_processing_jr3ij_154",FE="_status_done_jr3ij_159",$E="_status_error_jr3ij_164",BE="_successDetail_jr3ij_170",UE="_spinner_jr3ij_175",zE="_spin_jr3ij_175",VE="_errorMsg_jr3ij_191",qE="_failedSection_jr3ij_197",HE="_failedTitle_jr3ij_203",WE="_tableWrap_jr3ij_213",QE="_failedTable_jr3ij_219",KE="_reasonCell_jr3ij_244",GE="_footer_jr3ij_248",Ne={container:yE,header:vE,title:bE,closeBtn:_E,body:wE,dropZone:SE,dragOver:xE,hasFile:CE,hiddenInput:EE,fileInfo:OE,fileIcon:DE,fileName:IE,fileSize:TE,dropHint:NE,dropIcon:jE,dropText:RE,dropSubtext:kE,sampleLink:AE,statusBar:PE,status_uploading:ME,status_processing:LE,status_done:FE,status_error:$E,successDetail:BE,spinner:UE,spin:zE,errorMsg:VE,failedSection:qE,failedTitle:HE,tableWrap:WE,failedTable:QE,reasonCell:KE,footer:GE},YE=({contentId:e,onComplete:t,onClose:r,mode:n="create"})=>{const[s,i]=p.useState(null),[o,a]=p.useState(!1),[c,d]=p.useState("idle"),[u,f]=p.useState(""),[g,m]=p.useState([]),[_,h]=p.useState(null),y=p.useRef(null),v=p.useRef(null),b=p.useCallback(()=>{v.current!==null&&(clearInterval(v.current),v.current=null)},[]);p.useEffect(()=>()=>b(),[b]);const S=T=>T.name.toLowerCase().endsWith(".csv")?T.size>50*1024*1024?(f("File size must not exceed 50 MB."),!1):!0:(f("Only .csv files are accepted."),!1),w=p.useCallback(T=>{f(""),m([]),h(null),d("idle"),S(T)&&i(T)},[]),C=p.useCallback(T=>{T.preventDefault(),a(!1);const A=T.dataTransfer.files[0];A&&w(A)},[w]),I=p.useCallback(T=>{var F;const A=(F=T.target.files)==null?void 0:F[0];A&&w(A),T.target.value=""},[w]),j=p.useCallback(async()=>{try{const T=await mE(e),A=document.createElement("a");A.href=T,A.download="sample_hierarchy.csv",A.target="_blank",A.click()}catch{f("Failed to download sample CSV.")}},[e]),k=p.useCallback(async()=>{if(s){d("uploading"),f(""),m([]);try{const{processId:T}=await pE(e,s);if(!T){d("done"),h(null),setTimeout(t,1500);return}d("processing"),v.current=setInterval(async()=>{try{const A=await gE(T);A.status==="COMPLETED"?(b(),d("done"),h(A.successCount??null),A.failedRecords&&A.failedRecords.length>0?m(A.failedRecords):setTimeout(t,1500)):A.status==="FAILED"&&(b(),d("error"),f("Upload processing failed. Please check the error rows below."),A.failedRecords&&m(A.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]),M={idle:"",uploading:"Uploading...",processing:"Processing...",done:"Done!",error:"Error"};return l.jsxs("div",{className:Ne.container,children:[l.jsxs("div",{className:Ne.header,children:[l.jsx("h2",{className:Ne.title,children:n==="update"?"Update Folder Metadata via CSV":"Create Folders via CSV"}),l.jsx("button",{className:Ne.closeBtn,onClick:r,"aria-label":"Close",children:"✕"})]}),l.jsxs("div",{className:Ne.body,children:[l.jsxs("div",{className:`${Ne.dropZone} ${o?Ne.dragOver:""} ${s?Ne.hasFile:""}`,onDragEnter:T=>{T.preventDefault(),a(!0)},onDragOver:T=>{T.preventDefault(),a(!0)},onDragLeave:T=>{T.preventDefault(),a(!1)},onDrop:C,onClick:()=>{var T;return(T=y.current)==null?void 0:T.click()},role:"button",tabIndex:0,"aria-label":"Drop CSV file here or click to browse",onKeyDown:T=>{var A;return T.key==="Enter"&&((A=y.current)==null?void 0:A.click())},children:[l.jsx("input",{ref:y,type:"file",accept:".csv",className:Ne.hiddenInput,onChange:I,"aria-hidden":"true"}),s?l.jsxs("div",{className:Ne.fileInfo,children:[l.jsx("span",{className:Ne.fileIcon,children:"📄"}),l.jsx("span",{className:Ne.fileName,children:s.name}),l.jsxs("span",{className:Ne.fileSize,children:["(",(s.size/1024).toFixed(1)," KB)"]})]}):l.jsxs("div",{className:Ne.dropHint,children:[l.jsx("span",{className:Ne.dropIcon,children:"⬆️"}),l.jsx("p",{className:Ne.dropText,children:"Drag & drop your CSV here"}),l.jsx("p",{className:Ne.dropSubtext,children:"or click to browse"})]})]}),l.jsx("button",{className:Ne.sampleLink,onClick:j,type:"button",children:"Download Sample CSV"}),c!=="idle"&&l.jsxs("div",{className:`${Ne.statusBar} ${Ne[`status_${c}`]}`,role:"status","aria-live":"polite",children:[c==="processing"&&l.jsx("span",{className:Ne.spinner,"aria-hidden":"true"}),M[c],c==="done"&&_!==null&&l.jsxs("span",{className:Ne.successDetail,children:[" — ",_," item(s) imported"]})]}),u&&l.jsx("p",{className:Ne.errorMsg,role:"alert",children:u}),g.length>0&&l.jsxs("div",{className:Ne.failedSection,children:[l.jsxs("h4",{className:Ne.failedTitle,children:["Failed Rows (",g.length,")"]}),l.jsx("div",{className:Ne.tableWrap,children:l.jsxs("table",{className:Ne.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:g.map((T,A)=>l.jsxs("tr",{children:[l.jsx("td",{children:T.rowNumber??A+1}),l.jsx("td",{children:T.name??"—"}),l.jsx("td",{className:Ne.reasonCell,children:T.reason??"Unknown error"})]},A))})]})})]})]}),l.jsxs("div",{className:Ne.footer,children:[l.jsx(Pe,{variant:"ghost",onClick:r,disabled:c==="uploading"||c==="processing",children:"Cancel"}),l.jsx(Pe,{variant:"primary",isLoading:c==="uploading"||c==="processing",disabled:!s||c==="done",onClick:k,children:c==="done"?"Uploaded":"Upload"})]})]})},XE="_container_1y30m_1",ZE="_header_1y30m_8",JE="_headerActions_1y30m_19",eO="_iconBtn_1y30m_25",tO="_menuWrap_1y30m_43",rO="_dropdownMenu_1y30m_47",nO="_treeWrapper_1y30m_79",sO="_csvModal_1y30m_95",iO="_footer_1y30m_105",tr={container:XE,header:ZE,headerActions:JE,iconBtn:eO,menuWrap:tO,dropdownMenu:rO,treeWrapper:nO,csvModal:sO,footer:iO},oO=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{var le;const n=p.useRef(null),s=p.useRef(null),i=p.useRef(null),[o,a]=p.useState(400),[c,d]=p.useState(!1),[u,f]=p.useState(!1),[g,m]=p.useState("create"),{treeData:_,selectedNodeId:h,selectNode:y,addNode:v,deleteNode:b,reorderChildren:S,moveNode:w,setTreeData:C}=je(),I=e==="edit",j=vl(),k=I&&j,M=(((le=_[0])==null?void 0:le.children)??[]).some(W=>W.isFolder),T=ae(W=>{var J,ie,$,Y;return((ie=(J=W.editorConfig)==null?void 0:J.context)==null?void 0:ie.contentId)??((Y=($=W.editorConfig)==null?void 0:$.context)==null?void 0:Y.identifier)??""}),A=ae(W=>{var ie,$;const J=($=(ie=W.categoryMeta)==null?void 0:ie.sourcingSettings)==null?void 0:$.collection;return(J==null?void 0:J.enableBulkUpload)!==!1});p.useEffect(()=>{const W=s.current;if(!W)return;const J=new ResizeObserver(()=>{a(W.clientHeight||400)});return J.observe(W),a(W.clientHeight||400),()=>J.disconnect()},[]),p.useEffect(()=>{if(!c)return;const W=J=>{var ie;(ie=i.current)!=null&&ie.contains(J.target)||d(!1)};return document.addEventListener("mousedown",W),()=>document.removeEventListener("mousedown",W)},[c]);const F=p.useCallback(W=>{W.length>0&&y(W[0].data.id)},[y]),R=p.useCallback(({parentId:W,index:J,dragIds:ie})=>{if(!W)return;const $=ie[0],Y=ja(_,$);if(!Y)return;const Q=Y.parent;if(Q===W){const de=ja(_,W);if(!(de!=null&&de.children))return;const Se=de.children.findIndex(Me=>Me.id===$);if(Se<0)return;S(W,Se,J>Se?J-1:J)}else w($,Q??"",W)},[_,S,w]),L=p.useCallback(({ids:W})=>{W.forEach(J=>b(J))},[b]),B=p.useCallback(({parentId:W})=>{var $;const J=W??(($=_[0])==null?void 0:$.id)??"";if(!J)return{id:crypto.randomUUID()};const ie=v(J,"unit");return ie?{id:ie}:(Oe.error("Maximum depth reached"),{id:crypto.randomUUID()})},[v,_]),Z=p.useCallback(()=>{var J;const W=(J=_[0])==null?void 0:J.id;W&&(v(W,"unit")||Oe.error("Maximum depth reached"))},[_,v]),se=p.useCallback(()=>{h&&(v(h,"subunit")||Oe.error("Maximum depth reached"))},[h,v]),ve=p.useCallback(async()=>{if(d(!1),!!T)try{const W=await Nh(T),J=await fetch(W).then(Y=>Y.blob()),ie=URL.createObjectURL(J),$=document.createElement("a");$.href=ie,$.download=`${T}-folders.csv`,$.style.display="none",document.body.appendChild($),$.click(),document.body.removeChild($),URL.revokeObjectURL(ie)}catch{Oe.error("Failed to download CSV")}},[T]),we=p.useCallback(async()=>{if(f(!1),!!T)try{const{rootNode:W}=await Ff(T);C([W]),Oe.success("Course outline refreshed.")}catch{Oe.error("Outline could not be refreshed automatically. Please reload the page.")}},[T,C]);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(W=>!W),"aria-label":"More options",title:"More options","aria-haspopup":"true","aria-expanded":c,children:l.jsx(Jd,{size:15})}),c&&l.jsx("div",{className:tr.dropdownMenu,role:"menu",children:A&&l.jsxs(l.Fragment,{children:[l.jsx("button",{role:"menuitem",type:"button",disabled:M,title:M?'Folders already exist — use "Update" instead':void 0,onClick:()=>{d(!1),m("create"),f(!0)},children:"Create folders using csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!M,title:M?void 0:'No folders yet — use "Create" first',onClick:ve,children:"Download folders as csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!M,title:M?void 0:'No folders yet — use "Create" first',onClick:()=>{d(!1),m("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(Ny,{size:15}):l.jsx(Ty,{size:15})})]})}),l.jsx("div",{className:tr.treeWrapper,ref:s,children:l.jsx(W1,{ref:n,data:_,idAccessor:"id",childrenAccessor:"children",onSelect:F,onMove:I?R:void 0,onDelete:I?L:void 0,onCreate:I?B:void 0,disableEdit:!I,disableDrop:!I,selection:h??void 0,rowHeight:40,indent:20,paddingBottom:16,height:o,width:"100%",children:W=>l.jsx(dE,{...W,editorMode:e})})}),I&&l.jsxs("div",{className:tr.footer,children:[l.jsxs(Pe,{variant:"ghost",size:"sm",onClick:Z,disabled:!k,children:[l.jsx(Us,{size:14})," Add Unit"]}),l.jsxs(Pe,{variant:"ghost",size:"sm",onClick:se,disabled:!k||!h,children:[l.jsx(ef,{size:14})," Add Sub-unit"]})]}),u&&l.jsx("div",{className:tr.csvModal,children:l.jsx(YE,{contentId:T,mode:g,onComplete:we,onClose:()=>f(!1)})})]})};function ja(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=ja(r.children,t);if(n)return n}}}const aO="_breadcrumb_zd1aj_1",lO="_crumb_zd1aj_10",cO="_sep_zd1aj_26",uO="_current_zd1aj_31",ss={breadcrumb:aO,crumb:lO,sep:cO,current:uO},dO=({crumbs:e})=>{const t=je(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(Dy,{size:13})}),e.map((r,n)=>l.jsxs(p.Fragment,{children:[l.jsx(Xd,{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},fO="_tabBar_qhks1_1",hO="_tab_qhks1_1",pO="_active_qhks1_29",gO="_error_qhks1_35",mO="_errorDot_qhks1_39",is={tabBar:fO,tab:hO,active:pO,error:gO,errorDot:mO},Eu=[{id:"details",label:"Details"},{id:"audience",label:"Audience & Curriculum"},{id:"licensing",label:"Licensing"}],yO=({activeTab:e,onChange:t,errorTabs:r=[],visibleTabs:n})=>{const s=n?Eu.filter(i=>n.includes(i.id)):Eu;return l.jsx("div",{className:is.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:[is.tab,e===i.id?is.active:"",r.includes(i.id)?is.error:""].join(" "),onClick:()=>t(i.id),children:[i.label,r.includes(i.id)&&l.jsx("span",{className:is.errorDot,"aria-label":"Has errors"})]},i.id))})};var Ws=e=>e.type==="checkbox",Qr=e=>e instanceof Date,lt=e=>e==null;const jh=e=>typeof e=="object";var He=e=>!lt(e)&&!Array.isArray(e)&&jh(e)&&!Qr(e),Ra=e=>He(e)&&e.target?Ws(e.target)?e.target.checked:e.target.value:e,Rh=(e,t)=>t.split(".").some((r,n,s)=>!isNaN(Number(r))&&e.has(s.slice(0,n).join("."))),kh=e=>{const t=e.constructor&&e.constructor.prototype;return He(t)&&t.hasOwnProperty("isPrototypeOf")},lo=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(lo&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(He(e)&&kh(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 Or={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},Qt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Ht={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Bo="form",Ah="root",Ph=["__proto__","constructor","prototype"];var Qs=e=>/^\w*$/.test(e),$e=e=>e===void 0,co=e=>e.split(/[.[\]'"]/g).filter(Boolean),H=(e,t,r)=>{if(!t||!He(e))return r;const n=Qs(t)?[t]:co(t);if(n.some(i=>Ph.includes(i)))return r;const s=n.reduce((i,o)=>lt(i)?void 0:i[o],e);return $e(s)||s===e?$e(e[t])?r:e[t]:s},At=e=>typeof e=="boolean",yt=e=>typeof e=="function",Le=(e,t,r)=>{let n=-1;const s=Qs(t)?[t]:co(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=He(d)||Array.isArray(d)?d:isNaN(+s[n+1])?{}:[]}if(Ph.includes(a))return;e[a]=c,e=e[a]}};const bl=p.createContext(null);bl.displayName="HookFormControlContext";const _l=()=>p.useContext(bl);var Mh=(e,t,r,n=!0)=>{const s={};for(const i in e)Object.defineProperty(s,i,{get:()=>{const o=i;return t._proxyFormState[o]!==Qt.all&&(t._proxyFormState[o]=!n||Qt.all),r&&(r[o]=!0),e[o]}});return s};const wl=lo?p.useLayoutEffect:p.useEffect;function vO(e){const t=_l(),{control:r=t,disabled:n,name:s,exact:i}=e||{},[o,a]=p.useState(()=>({...r._formState,defaultValues:r._defaultValues})),c=p.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return wl(()=>r._subscribe({name:s,formState:c.current,exact:i,callback:d=>{!n&&a({...r._formState,...d,defaultValues:r._defaultValues})}}),[s,n,i]),p.useEffect(()=>{c.current.isValid&&r._setValid(!0)},[r]),p.useMemo(()=>Mh(o,r,c.current,!1),[o,r])}var vt=e=>typeof e=="string",ka=(e,t,r,n,s)=>vt(e)?(n&&t.watch.add(e),H(r,e,s)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),H(r,i))):(n&&(t.watchAll=!0),r),Aa=e=>lt(e)||!jh(e);const Ou=(e,t)=>t.length===0&&!Array.isArray(e)&&!kh(e);function Pt(e,t,r=new WeakMap){if(e===t)return!0;if(Aa(e)||Aa(t))return Object.is(e,t);if(Qr(e)&&Qr(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(Ou(e,n)||Ou(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(Qr(a)&&Qr(c)||(He(a)||Array.isArray(a))&&(He(c)||Array.isArray(c))?!Pt(a,c,r):!Object.is(a,c))return!1}}return!0}function bO(e){const t=_l(),{control:r=t,name:n,defaultValue:s,disabled:i,exact:o,compute:a}=e||{},c=p.useRef(s),d=p.useRef(a),u=p.useRef(void 0),f=p.useRef(r),g=p.useRef(n);d.current=a;const[m,_]=p.useState(()=>{const w=r._getWatch(n,c.current);return d.current?d.current(w):w}),h=p.useCallback(w=>{const C=ka(n,r._names,w||r._formValues,!1,c.current);return d.current?d.current(C):C},[r._formValues,r._names,n]),y=p.useCallback(w=>{if(!i){const C=ka(n,r._names,w||r._formValues,!1,c.current);if(d.current){const I=d.current(C);Pt(I,u.current)||(_(I),u.current=I)}else _(C)}},[r._formValues,r._names,i,n]);wl(()=>((f.current!==r||!Pt(g.current,n))&&(f.current=r,g.current=n,y()),r._subscribe({name:n,formState:{values:!0},exact:o,callback:w=>{y(w.values)}})),[r,o,n,y]),p.useEffect(()=>r._removeUnmounted());const v=f.current!==r,b=g.current,S=p.useMemo(()=>{if(i)return null;const w=!v&&!Pt(b,n);return v||w?h():null},[i,v,n,b,h]);return S!==null?S:m}function uo(e){const t=_l(),{name:r,disabled:n,control:s=t,shouldUnregister:i,defaultValue:o,exact:a=!0}=e,c=Rh(s._names.array,r),d=p.useMemo(()=>H(s._formValues,r,H(s._defaultValues,r,o)),[s,r,o]),u=bO({control:s,name:r,defaultValue:d,exact:a}),f=vO({control:s,name:r,exact:a}),g=p.useRef(e),m=p.useRef(null),_=p.useRef(s.register(r,{...e.rules,value:u,...At(e.disabled)?{disabled:e.disabled}:{}}));g.current=e;const h=p.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!H(f.errors,r)},isDirty:{enumerable:!0,get:()=>!!H(f.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!H(f.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!H(f.validatingFields,r)},error:{enumerable:!0,get:()=>H(f.errors,r)}}),[f,r]),y=p.useCallback(w=>{const C=Ra(w);return H(s._fields,r)||(_.current=s.register(r,{...g.current.rules,value:C})),_.current.onChange({target:{value:Ra(w),name:r},type:Or.CHANGE})},[r,s]),v=p.useCallback(()=>_.current.onBlur({target:{value:H(s._formValues,r),name:r},type:Or.BLUR}),[r,s._formValues]),b=p.useCallback(w=>{w&&(m.current={focus:()=>yt(w.focus)&&w.focus(),select:()=>yt(w.select)&&w.select(),setCustomValidity:I=>yt(w.setCustomValidity)&&w.setCustomValidity(I),reportValidity:()=>yt(w.reportValidity)&&w.reportValidity()});const C=H(s._fields,r);C&&C._f&&w&&(C._f.ref=m.current)},[s._fields,r]),S=p.useMemo(()=>({name:r,value:u,...At(n)||f.disabled?{disabled:f.disabled||n}:{},onChange:y,onBlur:v,ref:b}),[r,n,f.disabled,y,v,b,u]);return p.useEffect(()=>{const w=s._options.shouldUnregister||i;s.register(r,{...g.current.rules,...At(g.current.disabled)?{disabled:g.current.disabled}:{}});const C=(I,j)=>{const k=H(s._fields,I);k&&k._f&&(k._f.mount=j)};if(C(r,!0),w){const I=Qe(H(i?s._defaultValues:s._options.values||s._defaultValues,r,H(s._options.defaultValues,r,g.current.defaultValue)));Le(s._defaultValues,r,I),$e(H(s._formValues,r))&&Le(s._formValues,r,I)}if(!c&&s.register(r),m.current){const I=H(s._fields,r);I&&I._f&&(I._f.ref=m.current)}return()=>{(c?w&&!s._state.action:w)?s.unregister(r):C(r,!1)}},[r,s,c,i]),p.useEffect(()=>{s._setDisabledField({disabled:n,name:r})},[n,r,s]),p.useMemo(()=>({field:S,formState:f,fieldState:h}),[S,f,h])}const Sl=p.createContext(null);Sl.displayName="HookFormContext";const Xt=()=>p.useContext(Sl),_O=({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:g,unregister:m,control:_,register:h,setFocus:y,subscribe:v})=>{const b=p.useMemo(()=>({watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:g,unregister:m,control:_,register:h,setFocus:y,subscribe:v}),[i,_,d,n,r,g,h,f,u,s,y,o,a,v,c,m,t]);return p.createElement(Sl.Provider,{value:b},p.createElement(bl.Provider,{value:b.control},e))};var wO=(e,t,r,n,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:s||!0}}:{},Lh=e=>Array.isArray(e)?e.filter(Boolean):[],Ci=e=>Array.isArray(e)?e:[e],Du=()=>{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 Fh(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const s=e[n],i=t[n];if(s&&He(s)&&i){const o=Fh(s,i);He(o)&&(r[n]=o)}else e[n]&&(r[n]=i)}return r}var nt=e=>He(e)&&!Object.keys(e).length,xl=e=>e.type==="file",Fi=e=>{if(!lo)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},$h=e=>e.type==="select-multiple",Cl=e=>e.type==="radio",SO=e=>Cl(e)||Ws(e),Uo=e=>Fi(e)&&e.isConnected;function xO(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;){if(lt(e)){e=void 0;break}e=e[t[n]],n++}return e}function CO(e){for(const t in e)if(e.hasOwnProperty(t)&&!$e(e[t]))return!1;return!0}function Ye(e,t){if(vt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Qs(t)?[t]:co(t),n=r.length===1?e:xO(e,r),s=r.length-1,i=r[s];return n&&delete n[i],s!==0&&(He(n)&&nt(n)||Array.isArray(n)&&CO(n))&&Ye(e,r.slice(0,-1)),e}var EO=e=>{for(const t in e)if(yt(e[t]))return!0;return!1};function Bh(e){return Array.isArray(e)||He(e)&&!EO(e)}function Pa(e,t={}){for(const r in e){const n=e[r];Bh(n)?(t[r]=Array.isArray(n)?[]:{},Pa(n,t[r])):$e(n)||(t[r]=!0)}return t}function Ma(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const t=e.map(r=>Ma(r));return t.some(r=>r!==void 0)?t:void 0}if(He(e)){const t={};for(const r in e){const n=Ma(e[r]);$e(n)||(t[r]=n)}return Object.keys(t).length?t:void 0}}}function Vr(e,t,r){r||(r=Pa(t));for(const n in e){const s=e[n];if(Bh(s))$e(t)||Aa(r[n])?r[n]=Pa(s,Array.isArray(s)?[]:{}):Vr(s,lt(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Pt(s,i)}}return Ma(r)||{}}const Iu={value:!1,isValid:!1},Tu={value:!0,isValid:!0};var Uh=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&&!$e(e[0].attributes.value)?$e(e[0].value)||e[0].value===""?Tu:{value:e[0].value,isValid:!0}:Tu:Iu}return Iu},zh=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>$e(e)?e:t?e===""?NaN:e&&+e:r&&vt(e)?new Date(e):n?n(e):e;const Nu={isValid:!1,value:null};var Vh=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,Nu):Nu;function ju(e){const t=e.ref;return xl(t)?t.files:Cl(t)?Vh(e.refs).value:$h(t)?[...t.selectedOptions].map(({value:r})=>r):Ws(t)?Uh(e.refs).value:zh($e(t.value)?e.ref.value:t.value,e)}var OO=(e,t,r,n)=>{const s={};for(const i of e){const o=H(t,i);o&&Le(s,i,o._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:n}},$i=e=>e instanceof RegExp,os=e=>$e(e)?e:$i(e)?e.source:He(e)?$i(e.value)?e.value.source:e.value:e,Ru=e=>({isOnSubmit:!e||e===Qt.onSubmit,isOnBlur:e===Qt.onBlur,isOnChange:e===Qt.onChange,isOnAll:e===Qt.all,isOnTouch:e===Qt.onTouched});const ku="AsyncFunction";var DO=e=>!!e&&!!e.validate&&!!(yt(e.validate)&&e.validate.constructor.name===ku||He(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===ku)),IO=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),zo=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(`${n}.`)));const vs=(e,t,r,n)=>{for(const s of r||Object.keys(e)){const i=H(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(vs(a,t))break}else if(He(a)&&vs(a,t))break}}};function Au(e,t,r){const n=H(e,r);if(n||Qs(r))return{error:n,name:r};const s=r.split(".");for(;s.length;){const i=s.join("."),o=H(t,i),a=H(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 TO=(e,t,r,n)=>{r(e);const{name:s,...i}=e;return nt(i)||n&&Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!n||Qt.all))},NO=(e,t,r)=>!e||!t||e===t||Ci(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),jO=(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,RO=(e,t)=>!Lh(H(e,t)).length&&Ye(e,t),Pu=(e,t,r)=>{const n=H(e,r),s=Array.isArray(n)?n:[];return Le(s,Ah,t[r]),Le(e,r,s),e};function Mu(e,t,r="validate"){if(vt(e)||Array.isArray(e)&&e.every(vt)||At(e)&&!e)return{type:r,message:vt(e)?e:"",ref:t}}var wn=e=>He(e)&&!$i(e)?e:{value:e,message:""},Lu=async(e,t,r,n,s,i)=>{const{ref:o,refs:a,required:c,maxLength:d,minLength:u,min:f,max:g,pattern:m,validate:_,name:h,valueAsNumber:y,mount:v}=e._f,b=H(r,h);if(!v||t.has(h))return{};const S=a?a[0]:o,w=F=>{if(s&&S.reportValidity){const R=At(F)?"":F||"";a?a.forEach(L=>L.setCustomValidity(R)):S.setCustomValidity(R),S.reportValidity()}},C={},I=Cl(o),j=Ws(o),k=I||j,M=(y||xl(o))&&$e(o.value)&&$e(b)||Fi(o)&&o.value===""||b===""||Array.isArray(b)&&!b.length,T=wO.bind(null,h,n,C),A=(F,R,L,B=Ht.maxLength,Z=Ht.minLength)=>{const se=F?R:L;C[h]={type:F?B:Z,message:se,ref:o,...T(F?B:Z,se)}};if(i?!Array.isArray(b)||!b.length:c&&(!k&&(M||lt(b))||At(b)&&!b||j&&!Uh(a).isValid||I&&!Vh(a).isValid)){const{value:F,message:R}=vt(c)?{value:!!c,message:c}:wn(c);if(F&&(C[h]={type:Ht.required,message:R,ref:S,...T(Ht.required,R)},!n))return w(R),C}if(!M&&(!lt(f)||!lt(g))){let F,R;const L=wn(g),B=wn(f);if(!lt(b)&&!isNaN(b)){const Z=o.valueAsNumber||b&&+b;lt(L.value)||(F=Z>L.value),lt(B.value)||(R=Z<B.value)}else{const Z=o.valueAsDate||new Date(b),se=le=>new Date(new Date().toDateString()+" "+le),ve=o.type=="time",we=o.type=="week";vt(L.value)&&b&&(F=ve?se(b)>se(L.value):we?b>L.value:Z>new Date(L.value)),vt(B.value)&&b&&(R=ve?se(b)<se(B.value):we?b<B.value:Z<new Date(B.value))}if((F||R)&&(A(!!F,L.message,B.message,Ht.max,Ht.min),!n))return w(C[h].message),C}if((d||u)&&!M&&(vt(b)||i&&Array.isArray(b))){const F=wn(d),R=wn(u),L=!lt(F.value)&&b.length>+F.value,B=!lt(R.value)&&b.length<+R.value;if((L||B)&&(A(L,F.message,R.message),!n))return w(C[h].message),C}if(m&&!M&&vt(b)){const{value:F,message:R}=wn(m);if($i(F)&&!b.match(F)&&(C[h]={type:Ht.pattern,message:R,ref:o,...T(Ht.pattern,R)},!n))return w(R),C}if(_){if(yt(_)){const F=await _(b,r),R=Mu(F,S);if(R&&(C[h]={...R,...T(Ht.validate,R.message)},!n))return w(R.message),C}else if(He(_)){let F={};for(const R in _){if(!nt(F)&&!n)break;const L=Mu(await _[R](b,r),S,R);L&&(F={...L,...T(R,L.message)},w(L.message),n&&(C[h]=F))}if(!nt(F)&&(C[h]={ref:S,...F},!n))return C}}return w(!0),C};const kO={mode:Qt.onSubmit,reValidateMode:Qt.onChange,shouldFocusError:!0},qh={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function AO(e={}){let t={...kO,...e},r={...Qe(qh),isLoading:yt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},n={},s=He(t.defaultValues)||He(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 g={...f};const m={array:Du(),state:Du()},_=t.criteriaMode===Qt.all,h=x=>O=>{clearTimeout(d),d=setTimeout(x,O)},y=async x=>{if(!o.keepIsValid&&!t.disabled&&(f.isValid||g.isValid||x)){let O;t.resolver?(O=nt((await T()).errors),v()):O=await R({fields:n,onlyCheckValid:!0,eventType:Or.VALID}),O!==r.isValid&&m.state.next({isValid:O})}},v=(x,O)=>{!t.disabled&&(f.isValidating||f.validatingFields||g.isValidating||g.validatingFields)&&((x||Array.from(a.mount)).forEach(N=>{N&&(O?Le(r.validatingFields,N,O):Ye(r.validatingFields,N))}),m.state.next({validatingFields:r.validatingFields,isValidating:!nt(r.validatingFields)}))},b=()=>{r.dirtyFields=Vr(s,i)},S=(x,O=[],N,U,z=!0,K=!0)=>{if(U&&N&&!t.disabled){if(o.action=!0,K&&Array.isArray(H(n,x))){const V=N(H(n,x),U.argA,U.argB);z&&Le(n,x,V)}if(K&&Array.isArray(H(r.errors,x))){const V=N(H(r.errors,x),U.argA,U.argB);z&&Le(r.errors,x,V),RO(r.errors,x)}if((f.touchedFields||g.touchedFields)&&K&&Array.isArray(H(r.touchedFields,x))){const V=N(H(r.touchedFields,x),U.argA,U.argB);z&&Le(r.touchedFields,x,V)}(f.dirtyFields||g.dirtyFields)&&b(),m.state.next({name:x,isDirty:B(x,O),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Le(i,x,O)},w=(x,O)=>{Le(r.errors,x,O),r.errors={...r.errors},m.state.next({errors:r.errors})},C=x=>{r.errors=x,m.state.next({errors:r.errors,isValid:!1})},I=x=>{const O=Qs(x)?[x]:co(x);let N=i,U=s;for(let z=0;z<O.length-1;z++){const K=O[z];if(N=lt(N)?N:N[K],U=lt(U)?U:U[K],N===null&&U!==null)return!0}return!1},j=(x,O,N,U)=>{const z=H(n,x);if(z){if(I(x))return;const K=$e(H(i,x)),V=H(i,x,$e(N)?H(s,x):N);$e(V)||U&&U.defaultChecked||O?Le(i,x,O?V:ju(z._f)):ve(x,V),o.mount&&!o.action&&(y(),K&&r.isDirty&&(f.isDirty||g.isDirty)&&(B()||(r.isDirty=!1,m.state.next({...r}))),e.shouldUnregister&&K&&!$e(H(i,x))&&zo(x,a)&&(o.watch=!0))}},k=(x,O,N,U,z)=>{let K=!1,V=!1;const te={name:x};if(!t.disabled){if(!N||U){(f.isDirty||g.isDirty)&&(V=r.isDirty,r.isDirty=te.isDirty=B(),K=V!==te.isDirty);const ye=Pt(H(s,x),O);V=!!H(r.dirtyFields,x),ye!==r.isDirty?r.dirtyFields=Vr(s,i):ye?Ye(r.dirtyFields,x):Le(r.dirtyFields,x,!0),te.dirtyFields=r.dirtyFields,K=K||(f.dirtyFields||g.dirtyFields)&&V!==!ye}if(N){const ye=H(r.touchedFields,x);ye||(Le(r.touchedFields,x,N),te.touchedFields=r.touchedFields,K=K||(f.touchedFields||g.touchedFields)&&ye!==N)}K&&z&&m.state.next(te)}return K?te:{}},M=(x,O,N,U)=>{const z=H(r.errors,x),K=(f.isValid||g.isValid)&&At(O)&&r.isValid!==O;if(t.delayError&&N?(c=h(()=>w(x,N)),c(t.delayError)):(clearTimeout(d),c=null,N?Le(r.errors,x,N):Ye(r.errors,x),r.errors={...r.errors}),(N?!Pt(z,N):z)||!nt(U)||K){const V={...U,...K&&At(O)?{isValid:O}:{},errors:r.errors,name:x};r={...r,...V},m.state.next(V)}},T=async x=>(v(x,!0),await t.resolver(i,t.context,OO(x||a.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),A=async x=>{const{errors:O}=await T(x);if(v(x),x){for(const N of x){const U=H(O,N);U?a.array.has(N)&&He(U)&&!Object.keys(U).some(z=>!Number.isNaN(Number(z)))?Pu(r.errors,{[N]:U},N):Le(r.errors,N,U):Ye(r.errors,N)}r.errors={...r.errors}}else r.errors=O;return O},F=async({name:x,eventType:O})=>{if(e.validate){const N=await e.validate({formValues:i,formState:r,name:x,eventType:O});if(He(N))for(const U in N){const z=N[U];z&&Me(`${Bo}.${U}`,{message:vt(z.message)?z.message:"",type:z.type||Ht.validate})}else vt(N)||!N?Me(Bo,{message:N||"",type:Ht.validate}):Se(Bo);return N}return!0},R=async({fields:x,onlyCheckValid:O,name:N,eventType:U,context:z={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(z.runRootValidation=!0,!await F({name:N,eventType:U})&&(z.valid=!1,O)))return z.valid;for(const K in x){const V=x[K];if(V){const{_f:te,...ye}=V;if(te){const Ve=a.array.has(te.name),xt=V._f&&DO(V._f),Ct=f.validatingFields||f.isValidating||g.validatingFields||g.isValidating;xt&&Ct&&v([te.name],!0);const dr=await Lu(V,a.disabled,i,_,t.shouldUseNativeValidation&&!O,Ve);if(xt&&Ct&&v([te.name]),dr[te.name]&&(z.valid=!1,O)||(!O&&(H(dr,te.name)?Ve?Pu(r.errors,dr,te.name):Le(r.errors,te.name,dr[te.name]):Ye(r.errors,te.name)),e.shouldUseNativeValidation&&dr[te.name]))break}!nt(ye)&&await R({context:z,onlyCheckValid:O,fields:ye,name:K,eventType:U})}}return z.valid},L=()=>{for(const x of a.unMount){const O=H(n,x);O&&(O._f.refs?O._f.refs.every(N=>!Uo(N)):!Uo(O._f.ref))&&ke(x)}a.unMount=new Set},B=(x,O)=>!t.disabled&&(x&&O&&Le(i,x,O),!Pt(Q(),s)),Z=(x,O,N)=>ka(x,a,{...o.mount?i:$e(O)?s:vt(x)?{[x]:O}:O},N,O),se=x=>Lh(H(o.mount?i:s,x,t.shouldUnregister?H(s,x,[]):[])),ve=(x,O,N={},U=!1)=>{const z=H(n,x);let K=O;if(z){const V=z._f;V&&(!V.disabled&&Le(i,x,zh(O,V)),K=Fi(V.ref)&&lt(O)?"":O,$h(V.ref)?[...V.ref.options].forEach(te=>te.selected=K.includes(te.value)):V.refs?Ws(V.ref)?V.refs.forEach(te=>{(!te.defaultChecked||!te.disabled)&&(Array.isArray(K)?te.checked=!!K.find(ye=>ye===te.value):te.checked=K===te.value||!!K)}):V.refs.forEach(te=>te.checked=te.value===K):xl(V.ref)?V.ref.value="":(V.ref.value=K,V.ref.type||m.state.next({name:x,values:U?i:Qe(i)})))}(N.shouldDirty||N.shouldTouch)&&k(x,K,N.shouldTouch,N.shouldDirty,!0),N.shouldValidate&&Y(x)},we=(x,O,N,U=!1)=>{for(const z in O){if(!O.hasOwnProperty(z))return;const K=O[z],V=x+"."+z,te=H(n,V);(a.array.has(x)||He(K)||te&&!te._f)&&!Qr(K)?we(V,K,N,U):ve(V,K,N,U)}},le=(x,O,N,U)=>{const z=H(n,x),K=a.array.has(x),V=U?O:Qe(O),te=H(i,x),ye=Pt(te,V);if(ye||Le(i,x,V),K)m.array.next({name:x,values:U?i:Qe(i)}),(f.isDirty||f.dirtyFields||g.isDirty||g.dirtyFields)&&N.shouldDirty&&(b(),m.state.next({name:x,dirtyFields:r.dirtyFields,isDirty:B(x,V)}));else{const Ve=Array.isArray(V)&&!V.length||nt(V);!z||z._f||lt(V)||Ve?ve(x,V,N,U):we(x,V,N,U)}if(!ye){const Ve=zo(x,a),xt=U?i:Qe(i);m.state.next({...Ve&&r,name:o.mount||Ve?x:void 0,values:xt})}},W=(x,O,N={})=>le(x,O,N,!1),J=(x,O={})=>{const N=yt(x)?x(i):x;if(!Pt(i,N)){i={...i,...N};for(const U of a.mount)le(U,H(N,U),O,!0);m.state.next({...r,name:void 0,type:void 0,values:i}),O.shouldValidate&&y()}},ie=async x=>{o.mount=!0;const O=x.target;let N=O.name,U=!0;const z=H(n,N),K=ye=>{U=Number.isNaN(ye)||Qr(ye)&&isNaN(ye.getTime())||Pt(ye,H(i,N,ye))},V=Ru(t.mode),te=Ru(t.reValidateMode);if(z){let ye,Ve;const xt=O.type?ju(z._f):Ra(x),Ct=x.type===Or.BLUR||x.type===Or.FOCUS_OUT,dr=!IO(z._f)&&!e.validate&&!t.resolver&&!H(r.errors,N)&&!z._f.deps||jO(Ct,H(r.touchedFields,N),r.isSubmitted,te,V),Yn=zo(N,a,Ct);Le(i,N,xt),Ct?(!O||!O.readOnly)&&(z._f.onBlur&&z._f.onBlur(x),c&&c(0)):z._f.onChange&&z._f.onChange(x);const Br=k(N,xt,Ct),et=!nt(Br)||Yn;if(!Ct&&m.state.next({name:N,type:x.type,values:Qe(i)}),dr)return(f.isValid||g.isValid)&&(t.mode==="onBlur"?Ct&&y():Ct||y()),et&&m.state.next({name:N,...Yn?{}:Br});if(!t.resolver&&e.validate&&await F({name:N,eventType:x.type}),!Ct&&Yn&&m.state.next({...r}),t.resolver){const{errors:dt}=await T([N]);if(v([N]),K(xt),!U){!nt(Br)&&m.state.next(Br);return}const _t=Au(r.errors,n,N),Vt=Au(dt,n,_t.name||N);ye=Vt.error,N=Vt.name,Ve=nt(dt)}else v([N],!0),ye=(await Lu(z,a.disabled,i,_,t.shouldUseNativeValidation))[N],v([N]),K(xt),U&&(ye?Ve=!1:(f.isValid||g.isValid)&&(Ve=await R({fields:n,onlyCheckValid:!0,name:N,eventType:x.type})));U&&(z._f.deps&&(!Array.isArray(z._f.deps)||z._f.deps.length>0)&&Y(z._f.deps),M(N,Ve,ye,Br))}},$=(x,O)=>{if(H(r.errors,O)&&x.focus)return x.focus(),1},Y=async(x,O={})=>{let N,U;const z=Ci(x);if(t.resolver){const K=await A($e(x)?x:z);N=nt(K),U=x?!z.some(V=>H(K,V)):N}else x?(U=(await Promise.all(z.map(async K=>{const V=H(n,K);return await R({fields:V&&V._f?{[K]:V}:V,eventType:Or.TRIGGER})}))).every(Boolean),!(!U&&!r.isValid)&&y()):U=N=await R({fields:n,name:x,eventType:Or.TRIGGER});return m.state.next({...!vt(x)||(f.isValid||g.isValid)&&N!==r.isValid?{}:{name:x},...t.resolver||!x?{isValid:N}:{},errors:r.errors}),O.shouldFocus&&!U&&vs(n,$,x?z:a.mount),U},Q=(x,O)=>{let N={...o.mount?i:s};return O&&(N=Fh(O.dirtyFields?r.dirtyFields:r.touchedFields,N)),$e(x)?N:vt(x)?H(N,x):x.map(U=>H(N,U))},de=(x,O)=>({invalid:!!H((O||r).errors,x),isDirty:!!H((O||r).dirtyFields,x),error:H((O||r).errors,x),isValidating:!!H(r.validatingFields,x),isTouched:!!H((O||r).touchedFields,x)}),Se=x=>{const O=x?Ci(x):void 0;O==null||O.forEach(N=>Ye(r.errors,N)),O?O.forEach(N=>{m.state.next({name:N,errors:r.errors})}):m.state.next({errors:{}})},Me=(x,O,N)=>{const U=(H(n,x,{_f:{}})._f||{}).ref,z=H(r.errors,x)||{},{ref:K,message:V,type:te,...ye}=z;Le(r.errors,x,{...ye,...O,ref:U}),m.state.next({name:x,errors:r.errors,isValid:!1}),N&&N.shouldFocus&&U&&U.focus&&U.focus()},me=(x,O)=>yt(x)?m.state.subscribe({next:N=>"values"in N&&x(N.values||Z(void 0,O),N)}):Z(x,O,!0),ce=x=>m.state.subscribe({next:O=>{if(NO(x.name,O.name,x.exact)&&TO(O,x.formState||f,cr,x.reRenderRoot)){const N={...i};x.callback({values:N,...r,...O,defaultValues:s})}}}).unsubscribe,pe=x=>(o.mount=!0,g={...g,...x.formState},ce({...x,formState:{...u,...x.formState}})),ke=(x,O={})=>{for(const N of x?Ci(x):a.mount)a.mount.delete(N),a.array.delete(N),O.keepValue||(Ye(n,N),Ye(i,N)),!O.keepError&&Ye(r.errors,N),!O.keepDirty&&Ye(r.dirtyFields,N),!O.keepTouched&&Ye(r.touchedFields,N),!O.keepIsValidating&&Ye(r.validatingFields,N),!t.shouldUnregister&&!O.keepDefaultValue&&Ye(s,N);m.state.next({values:Qe(i)}),m.state.next({...r,...O.keepDirty?{isDirty:B()}:{}}),!O.keepIsValid&&y()},Ue=({disabled:x,name:O})=>{if(At(x)&&o.mount||x||a.disabled.has(O)){const z=a.disabled.has(O)!==!!x;x?a.disabled.add(O):a.disabled.delete(O),z&&o.mount&&!o.action&&y()}},De=(x,O={})=>{let N=H(n,x);const U=At(O.disabled)||At(t.disabled),z=!a.registerName.has(x)&&N&&N._f&&!N._f.mount;return Le(n,x,{...N||{},_f:{...N&&N._f?N._f:{ref:{name:x}},name:x,mount:!0,...O}}),a.mount.add(x),N&&!z?Ue({disabled:At(O.disabled)?O.disabled:t.disabled,name:x}):j(x,!0,O.value),{...U?{disabled:O.disabled||t.disabled}:{},...t.progressive?{required:!!O.required,min:os(O.min),max:os(O.max),minLength:os(O.minLength),maxLength:os(O.maxLength),pattern:os(O.pattern)}:{},name:x,onChange:ie,onBlur:ie,ref:K=>{if(K){a.registerName.add(x),De(x,O),a.registerName.delete(x),N=H(n,x);const V=$e(K.value)&&K.querySelectorAll&&K.querySelectorAll("input,select,textarea")[0]||K,te=SO(V),ye=N._f.refs||[];if(te?ye.find(Ve=>Ve===V):V===N._f.ref)return;Le(n,x,{_f:{...N._f,...te?{refs:[...ye.filter(Uo),V,...Array.isArray(H(s,x))?[{}]:[]],ref:{type:V.type,name:x}}:{ref:V}}}),j(x,!1,void 0,V)}else N=H(n,x,{}),N._f&&(N._f.mount=!1),(t.shouldUnregister||O.shouldUnregister)&&!(Rh(a.array,x)&&o.action)&&a.unMount.add(x)}}},ee=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&vs(n,$,a.mount),ze=x=>{At(x)&&(m.state.next({disabled:x}),vs(n,(O,N)=>{const U=H(n,N);U&&(O.disabled=U._f.disabled||x,Array.isArray(U._f.refs)&&U._f.refs.forEach(z=>{z.disabled=U._f.disabled||x}))},0,!1))},Xe=(x,O)=>async N=>{let U;N&&(N.preventDefault&&N.preventDefault(),N.persist&&N.persist());let z=Qe(i);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:K,values:V}=await T();v(),r.errors=K,z=Qe(V)}else await R({fields:n,eventType:Or.SUBMIT});if(a.disabled.size)for(const K of a.disabled)Ye(z,K);if(Ye(r.errors,Ah),nt(r.errors)){m.state.next({errors:{}});try{await x(z,N)}catch(K){U=K}}else O&&await O({...r.errors},N),ee(),setTimeout(ee);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nt(r.errors)&&!U,submitCount:r.submitCount+1,errors:r.errors}),U)throw U},q=(x,O={})=>{H(n,x)&&($e(O.defaultValue)?W(x,Qe(H(s,x))):(W(x,O.defaultValue),Le(s,x,Qe(O.defaultValue))),O.keepTouched||Ye(r.touchedFields,x),O.keepDirty||(Ye(r.dirtyFields,x),r.isDirty=O.defaultValue?B(x,Qe(H(s,x))):B()),O.keepError||(Ye(r.errors,x),f.isValid&&y()),m.state.next({...r}))},re=(x,O={})=>{const N=x?Qe(x):s,U=Qe(N),z=nt(x),K=U;if(O.keepDefaultValues||(s=N),!O.keepValues){if(O.keepDirtyValues){const V=new Set([...a.mount,...Object.keys(Vr(s,i))]);for(const te of Array.from(V)){const ye=H(r.dirtyFields,te),Ve=H(i,te),xt=H(K,te);ye&&!$e(Ve)?Le(K,te,Ve):!ye&&!$e(xt)&&W(te,xt)}}else{if(lo&&$e(x))for(const V of a.mount){const te=H(n,V);if(te&&te._f){const ye=Array.isArray(te._f.refs)?te._f.refs[0]:te._f.ref;if(Fi(ye)){const Ve=ye.closest("form");if(Ve){Ve.reset();break}}}}if(O.keepFieldsRef)for(const V of a.mount)W(V,H(K,V));else n={}}if(t.shouldUnregister){if(i=O.keepDefaultValues?Qe(s):{},O.keepFieldsRef)for(const V of a.mount)Le(i,V,H(K,V))}else i=Qe(K);m.array.next({values:{...K}}),m.state.next({values:{...K}})}a={mount:O.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||!!O.keepIsValid||!!O.keepDirtyValues||!t.shouldUnregister&&!nt(K),o.watch=!!t.shouldUnregister,o.keepIsValid=!!O.keepIsValid,o.action=!1,O.keepErrors||(r.errors={}),m.state.next({submitCount:O.keepSubmitCount?r.submitCount:0,isDirty:z?!1:O.keepDirty?r.isDirty:O.keepValues?B():!!(O.keepDefaultValues&&!Pt(x,s)),isSubmitted:O.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:z?{}:O.keepDirtyValues?O.keepDefaultValues&&i?Vr(s,i):r.dirtyFields:O.keepDefaultValues&&x?Vr(s,x):O.keepDirty?r.dirtyFields:{},touchedFields:O.keepTouched?r.touchedFields:{},errors:O.keepErrors?r.errors:{},isSubmitSuccessful:O.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oe=(x,O)=>re(yt(x)?x(i):x,{...t.resetOptions,...O}),We=(x,O={})=>{const N=H(n,x),U=N&&N._f;if(U){const z=U.refs?U.refs[0]:U.ref;z.focus&&setTimeout(()=>{z.focus(),O.shouldSelect&&yt(z.select)&&z.select()})}},cr=x=>{r={...r,...x}},fn={control:{register:De,unregister:ke,getFieldState:de,handleSubmit:Xe,setError:Me,_subscribe:ce,_runSchema:T,_updateIsValidating:v,_focusError:ee,_getWatch:Z,_getDirty:B,_setValid:y,_setFieldArray:S,_setDisabledField:Ue,_setErrors:C,_getFieldArray:se,_reset:re,_resetDefaultValues:()=>yt(t.defaultValues)&&t.defaultValues().then(x=>{oe(x,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:L,_disableForm:ze,_subjects:m,_proxyFormState:f,get _fields(){return n},get _formValues(){return i},get _state(){return o},set _state(x){o=x},get _defaultValues(){return s},get _names(){return a},set _names(x){a=x},get _formState(){return r},get _options(){return t},set _options(x){t={...t,...x}}},subscribe:pe,trigger:Y,register:De,handleSubmit:Xe,watch:me,setValue:W,setValues:J,getValues:Q,reset:oe,resetField:q,resetDefaultValues:(x,O={})=>{if(s=Qe(x),!O.keepDirty){const N=Vr(s,i);r.dirtyFields=N,r.isDirty=!nt(N)}O.keepIsValid||y(),m.state.next({...r,defaultValues:s})},clearErrors:Se,unregister:ke,setError:Me,setFocus:We,getFieldState:de};return{...fn,formControl:fn}}function PO(e={}){const t=p.useRef(void 0),r=p.useRef(void 0),n=p.useRef(e.formControl),[s,i]=p.useState(()=>({...Qe(qh),isLoading:yt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:yt(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&&!yt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...c}=AO(e);t.current={...c,formState:s}}const o=t.current.control;return o._options=e,wl(()=>{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]),p.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),p.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),p.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),p.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),p.useEffect(()=>{if(o._proxyFormState.isDirty){const a=o._getDirty();a!==s.isDirty&&o._subjects.state.next({isDirty:a})}},[o,s.isDirty]),p.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]),p.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=p.useMemo(()=>Mh(s,o),[o,s]),t.current}async function Fu(e){var r,n;return(n=(r=(await Re.get(`/api/framework/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.framework}async function MO(e){var r,n;return((n=(r=(await Re.post("/action/composite/v3/search",{request:{filters:{objectType:"Framework",status:["Live"],...e.type?{type:e.type}:{},...e.identifier?{identifier:e.identifier}:{},...e.channel?{channel:e.channel}:{},...e.systemDefault?{systemDefault:e.systemDefault}:{}}}})).data)==null?void 0:r.result)==null?void 0:n.Framework)??[]}function Hh(e,t){const r=Ss({queryKey:["framework",e],queryFn:()=>Fu(e),enabled:!!e,staleTime:3e5}),n=t==null?void 0:t[0],s=Ss({queryKey:["framework",n],queryFn:()=>Fu(n),enabled:!!n,staleTime:5*60*1e3}),i=s.data?[s.data]:[];return{organisationFramework:r.data,targetFrameworks:i,isLoading:r.isLoading||s.isLoading}}function LO(e,t,r){const n=e??[],s=new Set(n.map(u=>u.type).filter(Boolean)),i=(t??[]).filter(u=>!s.has(u)),{data:o}=Ss({queryKey:["framework-search",i.sort().join(","),r],queryFn:()=>MO({type:i,systemDefault:"Yes"}),enabled:i.length>0,staleTime:10*60*1e3}),a=t&&t.length?n.filter(u=>u.type&&t.includes(u.type)):n,c=[...(o??[]).map(u=>({label:u.name,value:u.identifier})),...a.map(u=>({label:u.name,value:u.identifier}))],d=new Set;return c.filter(u=>d.has(u.value)?!1:(d.add(u.value),!0))}async function FO(e){var r,n;return(n=(r=(await Re.get(`/api/channel/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.channel}function $O(e){var r,n,s,i,o,a;const t=Ss({queryKey:["channel",e],queryFn:()=>FO(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 BO={"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."},"Third 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."},"Sixth Section":{title:"Licensing & Attribution",description:"Copyright and usage rights information."}},UO=new Set(["review","read","sourcingreview","orgreview"]),ni={"First Section":"details","Second Section":"details","Third Section":"details","Organisation Framework Terms":"details","Target Framework Terms":"audience","Fourth Section":"licensing","Sixth Section":"licensing"},zO={Categorisation:"Second Section","Basic Information":"First Section","Licensing & Attribution":"Fourth Section",Curriculum:"Organisation Framework Terms","Target Audience":"Target Framework Terms"},VO={name:"details",description:"details",keywords:"details",appIcon:"details",primaryCategory:"details",additionalCategories:"details",board:"details",boardIds:"details",subject:"details",subjectIds:"details",medium:"details",framework:"details",topicsIds:"details",topic:"details",dialcodeRequired:"details",dialcodes:"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"},El={board:"board",boardIds:"board",medium:"medium",gradeLevel:"gradeLevel",subject:"subject",subjectIds:"subject",topicsIds:"topic",topic:"topic",targetBoardIds:"board",targetMediumIds:"medium",targetGradeLevelIds:"gradeLevel",targetSubjectIds:"subject"},Wh=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds"]);function qO(e,t,r,n,s={}){if(!(e!=null&&e.length))return sD(t,n,r);const i=new Map;for(const a of e){const c=a.code;c&&!i.has(c)&&i.set(c,a)}const o=new Set;return e.filter(a=>{if(n&&(a.code==="dialCode"||a.code==="dialcode")||a.visible===!1)return!1;const c=a.code;return o.has(c)?!1:(o.add(c),!0)}).map(a=>{const c=a.code??"",d=XO(a),u=ZO(a,r,t,i,s),f=t[c],g=WO(c,Qh(f,d),d,t,s),m={code:c,label:a.label??c,inputType:d,required:!!(a.required===!0||Array.isArray(a.validations)&&a.validations.some(_=>_.type==="required")),editable:HO(c,a.editable!==!1,s),placeholder:a.placeholder,maxLength:a.maxLength,options:GO(u,g,d,r),depends:a.depends,tab:YO(a),section:a.section,defaultValue:a.defaultValue??a.default,currentValue:g};if(c==="dialcodes"){const _=t.dialcodeRequired==="Yes";return{...m,required:_,visible:_}}return m})}function HO(e,t,r){var i;const n=r.editorMode??"edit";if(!UO.has(n))return t!==!1;const s=(i=r.editableFields)==null?void 0:i[n];return!!(s&&s.includes(e))}function WO(e,t,r,n,s){const i=t==null||t===""||Array.isArray(t)&&t.length===0;switch(e){case"license":return i?s.defaultLicense??"":t;case"copyright":return i&&s.setDefaultCopyRight&&s.channelName?s.channelName:t;case"author":case"creator":return i&&s.userFullName?s.userFullName:t;case"instructions":{const o=n.instructions;return o&&typeof o=="object"&&!Array.isArray(o)?o.default??"":typeof t=="object"&&t!==null?"":t}case"maxTime":case"warningTime":{if(!i)return t;const o=n.timeLimits,a=o==null?void 0:o[e];return a!=null&&a!==""?QO(Number(a)):t}default:return t}}function QO(e){if(!Number.isFinite(e)||e<0)return"";const t=Math.floor(e%60),r=Math.floor(e/60%60),n=Math.floor(e/3600),s=i=>String(i).padStart(2,"0");return n>0?`${s(n)}:${s(r)}:${s(t)}`:`${s(r)}:${s(t)}`}function KO(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 GO(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=KO(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 YO(e){const t=e.section;if(t){if(ni[t])return ni[t];const n=zO[t];if(n&&ni[n])return ni[n]}const r=e.code??"";return VO[r]??"details"}function Qh(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 XO(e){const t=(e.inputType??e.dataType??"").toLowerCase(),n=(e.dataType??"").toLowerCase()==="list";return t==="select"?"select":t==="framework"||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 ZO(e,t,r,n,s){const i=e.code??"";if(i==="maxQuestions"){const d=s.childCount??0;if(d>0)return Array.from({length:d},(u,f)=>({label:String(f+1),value:String(f+1)}))}const o=e.range;if(Array.isArray(o)&&o.length)return typeof o[0]=="string"?o.map(d=>({label:d,value:d})):o.map(d=>({label:d.name,value:d.identifier}));const a=e.enum;if(a!=null&&a.length)return a.map(d=>({label:d,value:d}));if(i==="framework")return t.orgFrameworks;if(i==="additionalCategories"){const u=(s.objectType??"")==="QuestionSet"?s.contentAdditionalCategories??s.collectionAdditionalCategories:s.collectionAdditionalCategories??s.contentAdditionalCategories,f=(u&&u.length?u:s.contextAdditionalCategories)??t.channelAdditionalCategories;return f!=null&&f.length?rD(f).map(g=>({label:g,value:g})):void 0}const c=e.sourceCategory??El[i];if(c)return Kh(i,c,e,t,r,n)}function JO(e,t){return Wh.has(e)||t.output==="identifier"||typeof t.section=="string"&&t.section.includes("Target")}function eD(e,t){return Wh.has(e)||typeof t.section=="string"&&t.section.includes("Target")}function Vo(e,t,r){var i,o,a,c,d;const n=(o=(i=e.organisationFramework)==null?void 0:i.categories)==null?void 0:o.find(u=>u.code===t),s=(d=(c=(a=e.targetFrameworks)==null?void 0:a[0])==null?void 0:c.categories)==null?void 0:d.find(u=>u.code===t);return r?(s==null?void 0:s.terms)??(n==null?void 0:n.terms)??[]:(n==null?void 0:n.terms)??(s==null?void 0:s.terms)??[]}function tD(e){const t=new Set,r=[];for(const n of e){const s=n.identifier??n.name;s&&!t.has(s)&&(t.add(s),r.push(n))}return r}function rD(e){return Array.from(new Set(e))}function nD(e){return Array.isArray(e)?e:e!=null&&e!==""?[e]:[]}function Kh(e,t,r,n,s,i){const o=JO(e,r),a=eD(e,r),c=h=>({label:h.name,value:o?h.identifier:h.name}),d=r.depends;if(!(d!=null&&d.length))return Vo(n,t,a).map(c);const u=d.flatMap(h=>nD(s[h])).map(String);if(!u.length)return[];const f=[];for(const h of d){const y=i.get(h),v=(y==null?void 0:y.sourceCategory)??El[h]??h;f.push(...Vo(n,v,a))}const m=f.filter(h=>u.includes(String(h.name))||u.includes(String(h.identifier))||u.includes(String(h.code))).flatMap(h=>h.associations??[]).filter(h=>String(h.category??"").toLowerCase()===t.toLowerCase()),_=tD(m);return _.length?_.map(c):Vo(n,t,a).map(c)}function as(e,t){const r=El[e];if(r)return Kh(e,r,{},t,{},new Map)}function at(e,t,r){return Qh(e[t],r)}function sD(e,t,r){var s;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")},{code:"additionalCategories",label:"Additional Category",inputType:"multiselect",editable:!0,tab:"details",section:"Second Section",currentValue:at(e,"additionalCategories","multiselect"),options:(s=r.channelAdditionalCategories)==null?void 0:s.map(i=>({label:i,value:i}))},{code:"framework",label:"Course Type",inputType:"select",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:r.orgFrameworks,currentValue:at(e,"framework","select")},{code:"subjectIds",label:"Subjects covered",inputType:"multiselect",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:as("subjectIds",r),currentValue:at(e,"subjectIds","multiselect")}),n.push({code:"audience",label:"Audience Type",inputType:"multiselect",editable:!0,tab:"audience",section:"Target Framework Terms",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:as("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:as("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:as("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:as("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",currentValue:at(e,"license","select")})),n}const iD=["allowECM","levels","setPeriod","instances"];function Gh(e){const t={};return e.forEach((r,n)=>{t[`L${n+1}`]={label:r}}),t}function oD(e,t={}){const r={...e};for(const i of iD)delete r[i];const n=e.levels;Array.isArray(n)&&n.length&&(r.outcomeDeclaration={levels:Gh(n)});const s=e.instances;return s!=null&&s!==""&&(r.instances={label:s}),t.isReview&&(r.name===void 0||r.name===null||r.name==="")&&t.nodeTitle&&(r.name=t.nodeTitle),r}function aD(e,t){return e==="allowECM"||e==="setPeriod"?null:e==="levels"?{outcomeDeclaration:{levels:Array.isArray(t)?Gh(t):{}}}:e==="instances"?{instances:t!=null&&t!==""?{label:t}:""}:{[e]:t}}function lD(e,t){const{watch:r,setValue:n}=e,s=p.useRef(!1);p.useEffect(()=>{const i=r((o,{name:a})=>{var c;if(!(!a||s.current)){s.current=!0;try{const d=new Set([a]);let u=!0;for(;u;){u=!1;for(const f of t)d.has(f.code)||(c=f.depends)!=null&&c.some(g=>d.has(g))&&(n(f.code,f.inputType==="multiselect"||f.inputType==="chips"?[]:"",{shouldDirty:!0}),d.add(f.code),u=!0)}}finally{s.current=!1}}});return()=>i.unsubscribe()},[r,n,t])}const cD="_section_ylgu8_1",uD="_header_ylgu8_11",dD="_title_ylgu8_17",fD="_description_ylgu8_24",hD="_divider_ylgu8_30",pD="_fields_ylgu8_36",Sn={section:cD,header:uD,title:dD,description:fD,divider:hD,fields:pD},gD=({title:e,description:t,children:r})=>l.jsxs("div",{className:Sn.section,children:[l.jsxs("div",{className:Sn.header,children:[l.jsx("h3",{className:Sn.title,children:e}),t&&l.jsx("p",{className:Sn.description,children:t})]}),l.jsx("hr",{className:Sn.divider}),l.jsx("div",{className:Sn.fields,children:r})]}),mD="_field_1s288_1",yD="_fullWidth_1s288_7",vD="_label_1s288_11",bD="_required_1s288_19",_D="_input_1s288_24",wD="_textarea_1s288_45",SD="_inputError_1s288_50",xD="_error_1s288_54",CD="_selectBtn_1s288_59",ED="_selectOpen_1s288_83",OD="_placeholder_1s288_87",DD="_selectedVal_1s288_91",ID="_chevronUp_1s288_95",TD="_dropdown_1s288_100",ND="_option_1s288_116",jD="_optionSelected_1s288_134",RD="_noOpts_1s288_139",kD="_chipGroup_1s288_146",AD="_chipInput_1s288_158",PD="_addChipBtn_1s288_167",MD="_radioGroup_1s288_184",LD="_radioLabel_1s288_191",FD="_iconWrap_1s288_199",$D="_iconPreview_1s288_214",BD="_iconPlaceholder_1s288_220",UD="_removeIconBtn_1s288_233",zD="_tagChip_1s288_252",VD="_tagChipRemove_1s288_264",qD="_nestedSelectRow_1s288_278",HD="_dialcodeRow_1s288_287",WD="_validateBtn_1s288_293",QD="_dialcodeValid_1s288_315",KD="_dialcodeSpinner_1s288_325",P={field:mD,fullWidth:yD,label:vD,required:bD,input:_D,textarea:wD,inputError:SD,error:xD,selectBtn:CD,selectOpen:ED,placeholder:OD,selectedVal:DD,chevronUp:ID,dropdown:TD,option:ND,optionSelected:jD,noOpts:RD,chipGroup:kD,chipInput:AD,addChipBtn:PD,radioGroup:MD,radioLabel:LD,iconWrap:FD,iconPreview:$D,iconPlaceholder:BD,removeIconBtn:UD,tagChip:zD,tagChipRemove:VD,nestedSelectRow:qD,dialcodeRow:HD,validateBtn:WD,dialcodeValid:QD,dialcodeSpinner:KD},$u=({name:e,label:t,required:r,disabled:n,multiline:s,maxLength:i,placeholder:o})=>{const{register:a,formState:{errors:c}}=Xt(),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:[P.field,s?P.fullWidth:""].join(" "),children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),s?l.jsx("textarea",{id:e,className:[P.input,P.textarea,d?P.inputError:""].join(" "),disabled:n,placeholder:o,rows:3,...a(e,u)}):l.jsx("input",{id:e,type:"text",className:[P.input,d?P.inputError:""].join(" "),disabled:n,placeholder:o,...a(e,u)}),d&&l.jsx("span",{className:P.error,children:String(d.message)})]})},GD=({name:e,label:t,options:r,required:n,disabled:s})=>{var h;const[i,o]=p.useState(!1),a=p.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Xt(),g=d(e),m=((h=r.find(y=>y.value===g))==null?void 0:h.label)??"Select…",_=f[e];return p.useEffect(()=>{if(!i)return;const y=v=>{var b;(b=a.current)!=null&&b.contains(v.target)||o(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[i]),l.jsxs("div",{className:P.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[P.selectBtn,_?P.inputError:"",i?P.selectOpen:""].join(" "),onClick:()=>o(y=>!y),children:[l.jsx("span",{className:g?P.selectedVal:P.placeholder,children:m}),l.jsx(Bs,{size:14,className:i?P.chevronUp:""})]}),i&&l.jsxs("div",{className:P.dropdown,children:[r.map(y=>l.jsxs("button",{type:"button",className:[P.option,g===y.value?P.optionSelected:""].join(" "),onClick:()=>{u(e,y.value,{shouldDirty:!0,shouldValidate:!0}),o(!1)},children:[l.jsx("span",{children:y.label}),g===y.value&&l.jsx(Wn,{size:13})]},y.value)),!r.length&&l.jsx("span",{className:P.noOpts,children:"No options"})]}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},YD=({name:e,label:t,options:r,required:n,disabled:s})=>{const[i,o]=p.useState(!1),a=p.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Xt(),g=d(e)??[],m=f[e],_=g.length?`${g.length} selected`:"Select…";p.useEffect(()=>{if(!i)return;const y=v=>{var b;(b=a.current)!=null&&b.contains(v.target)||o(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[i]);const h=y=>{const v=g.includes(y)?g.filter(b=>b!==y):[...g,y];u(e,v,{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:P.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[P.selectBtn,m?P.inputError:"",i?P.selectOpen:""].join(" "),onClick:()=>o(y=>!y),children:[l.jsx("span",{className:g.length?P.selectedVal:P.placeholder,children:_}),l.jsx(Bs,{size:14,className:i?P.chevronUp:""})]}),i&&l.jsxs("div",{className:P.dropdown,children:[r.map(y=>l.jsxs("button",{type:"button",className:[P.option,g.includes(y.value)?P.optionSelected:""].join(" "),onClick:()=>h(y.value),children:[l.jsx(Wn,{size:13,style:{opacity:g.includes(y.value)?1:0}}),l.jsx("span",{children:y.label})]},y.value)),!r.length&&l.jsx("span",{className:P.noOpts,children:"No options"})]}),m&&l.jsx("span",{className:P.error,children:String(m.message)})]})},XD=({name:e,label:t,required:r,disabled:n,placeholder:s="Add…"})=>{const[i,o]=p.useState(""),[a,c]=p.useState(!1),d=p.useRef(null),{watch:u,setValue:f,formState:{errors:g}}=Xt(),m=u(e)??[],_=g[e],h=()=>{const v=i.trim();v&&!m.includes(v)&&f(e,[...m,v],{shouldDirty:!0}),o(""),c(!1)},y=v=>f(e,m.filter(b=>b!==v),{shouldDirty:!0});return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:P.chipGroup,children:[m.map(v=>l.jsxs("span",{className:"sbx-chip filled",children:[v,!n&&l.jsx("button",{type:"button",className:"sbx-chip-remove",onClick:()=>y(v),"aria-label":`Remove ${v}`,children:"×"})]},v)),!n&&(a?l.jsx("input",{ref:d,autoFocus:!0,className:P.chipInput,value:i,onChange:v=>o(v.target.value),onKeyDown:v=>{v.key==="Enter"&&(v.preventDefault(),h()),v.key==="Escape"&&(o(""),c(!1))},onBlur:h,placeholder:s}):l.jsxs("button",{type:"button",className:P.addChipBtn,onClick:()=>{c(!0),setTimeout(()=>{var v;return(v=d.current)==null?void 0:v.focus()},50)},children:[l.jsx(Us,{size:12})," Add"]}))]}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},ZD=({name:e,label:t,options:r,required:n,disabled:s})=>{const{register:i,formState:{errors:o}}=Xt(),a=o[e];return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("div",{className:P.radioGroup,children:r.map(c=>l.jsxs("label",{className:P.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:P.error,children:String(a.message)})]})};async function JD(e,t,r,n){var o,a;const i=(a=(o=(await Re.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 eI(e,t){var s,i;const n=(i=(s=(await Re.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 tI(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 rI(e,t,r){var o,a;const n=new FormData;n.append("fileUrl",t),n.append("mimeType",r);const i=(a=(o=(await Re.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 nI="_overlay_ga6eh_1",sI="_modal_ga6eh_12",iI="_header_ga6eh_24",oI="_title_ga6eh_33",aI="_closeBtn_ga6eh_39",lI="_tabs_ga6eh_57",cI="_tab_ga6eh_57",uI="_activeTab_ga6eh_83",dI="_body_ga6eh_88",fI="_searchWrap_ga6eh_99",hI="_searchIcon_ga6eh_104",pI="_searchInput_ga6eh_113",gI="_grid_ga6eh_132",mI="_imgCell_ga6eh_148",yI="_imgCellSelected_ga6eh_166",vI="_thumb_ga6eh_171",bI="_noThumb_ga6eh_177",_I="_checkBadge_ga6eh_183",wI="_loadMoreBtn_ga6eh_198",SI="_loadingRow_ga6eh_220",xI="_empty_ga6eh_230",CI="_spinner_ga6eh_237",EI="_uploadArea_ga6eh_247",OI="_dropZone_ga6eh_256",DI="_uploadIcon_ga6eh_277",II="_dropText_ga6eh_281",TI="_dropSubtext_ga6eh_288",NI="_uploadPreview_ga6eh_294",jI="_hiddenInput_ga6eh_301",RI="_fileName_ga6eh_305",kI="_errorText_ga6eh_311",AI="_footer_ga6eh_318",PI="_cancelBtn_ga6eh_328",MI="_confirmBtn_ga6eh_345",ge={overlay:nI,modal:sI,header:iI,title:oI,closeBtn:aI,tabs:lI,tab:cI,activeTab:uI,body:dI,searchWrap:fI,searchIcon:hI,searchInput:pI,grid:gI,imgCell:mI,imgCellSelected:yI,thumb:vI,noThumb:bI,checkBadge:_I,loadMoreBtn:wI,loadingRow:SI,empty:xI,spinner:CI,uploadArea:EI,dropZone:OI,uploadIcon:DI,dropText:II,dropSubtext:TI,uploadPreview:NI,hiddenInput:jI,fileName:RI,errorText:kI,footer:AI,cancelBtn:PI,confirmBtn:MI},Bu=18,Yh=({nodeId:e,currentValue:t,onSelect:r,onClose:n})=>{const[s,i]=p.useState("my"),[o,a]=p.useState(""),[c,d]=p.useState([]),[u,f]=p.useState(0),[g,m]=p.useState(!1),[_,h]=p.useState(null),[y,v]=p.useState(0),[b,S]=p.useState(null),[w,C]=p.useState(""),[I,j]=p.useState(!1),[k,M]=p.useState(""),T=p.useRef(null),A=ae($=>{var Y,Q;return((Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.channel)??""}),F=ae($=>{var Y,Q;return((Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.uid)??""}),R=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.cloudStorage)==null?void 0:de.presigned_headers)??{}}),L=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.config)==null?void 0:Q.assetConfig)==null?void 0:de.size)??1*1024*1024}),B=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.config)==null?void 0:Q.assetConfig)==null?void 0:de.accepted)??"image/png,image/jpeg"}),Z=p.useCallback(async($,Y,Q=!1)=>{var de;m(!0);try{const Se={status:["Live"],mediaType:["image"],mimeType:["image/png","image/jpeg","image/jpg","image/gif","image/svg+xml"]};s==="my"&&F&&(Se.createdBy=F),A&&(Se.channel=A);const me=((de=(await Re.post("/action/composite/v3/search",{request:{filters:Se,query:$,limit:Bu,offset:Y,sort_by:{createdOn:"desc"},fields:["identifier","name","appIcon","artifactUrl","downloadUrl"]}},{headers:{"X-Source":"web"}})).data)==null?void 0:de.result)??{},ce=me.content??[];f(me.count??0),d(pe=>Q?[...pe,...ce]:ce)}catch{}finally{m(!1)}},[s,F,A]);p.useEffect(()=>{s!=="upload"&&(d([]),v(0),Z(o,0))},[s]);const se=p.useRef(),ve=$=>{a($),clearTimeout(se.current),se.current=setTimeout(()=>{d([]),v(0),Z($,0)},400)},we=()=>{const $=y+Bu;v($),Z(o,$,!0)},le=()=>{const $=(_==null?void 0:_.artifactUrl)??(_==null?void 0:_.appIcon)??(_==null?void 0:_.downloadUrl)??"";$&&r($)};p.useEffect(()=>()=>{w&&URL.revokeObjectURL(w)},[w]);const W=$=>{var de;const Y=(de=$.target.files)==null?void 0:de[0];if($.target.value="",!Y)return;const Q=B.split(",").map(Se=>Se.trim());if(!Q.includes(Y.type)){const Se=Q.map(Me=>Me.replace("image/","").toUpperCase()).join(", ");M(`Only ${Se} files are accepted.`);return}if(Y.size>L){const Se=(L/1048576).toFixed(0);M(`Image must be under ${Se} MB.`);return}w&&URL.revokeObjectURL(w),S(Y),C(URL.createObjectURL(Y)),M("")},J=async()=>{if(b){j(!0),M("");try{const $=await JD(b.name.split(".").slice(0,-1).join(".")||b.name,b.type,F,A),Y=await eI($,b.name);await tI(Y,b,R);const Q=Y.split("?")[0],de=await rI($,Q,b.type);r(de)}catch($){M($ instanceof Error?$.message:"Upload failed.")}finally{j(!1)}}},ie=c.length<u;return l.jsx("div",{className:ge.overlay,role:"dialog","aria-modal":"true","aria-label":"Select App Icon",children:l.jsxs("div",{className:ge.modal,children:[l.jsxs("div",{className:ge.header,children:[l.jsx("span",{className:ge.title,children:"Select App Icon"}),l.jsx("button",{className:ge.closeBtn,onClick:n,"aria-label":"Close",children:l.jsx(un,{size:18})})]}),l.jsxs("div",{className:ge.tabs,role:"tablist",children:[l.jsx("button",{role:"tab","aria-selected":s==="my",className:`${ge.tab} ${s==="my"?ge.activeTab:""}`,onClick:()=>i("my"),children:"My Images"}),l.jsx("button",{role:"tab","aria-selected":s==="all",className:`${ge.tab} ${s==="all"?ge.activeTab:""}`,onClick:()=>i("all"),children:"All Images"}),l.jsxs("button",{role:"tab","aria-selected":s==="upload",className:`${ge.tab} ${s==="upload"?ge.activeTab:""}`,onClick:()=>i("upload"),children:[l.jsx(Jl,{size:13,style:{marginRight:4}}),"Upload"]})]}),l.jsx("div",{className:ge.body,children:s!=="upload"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:ge.searchWrap,children:[l.jsx(pa,{size:14,className:ge.searchIcon}),l.jsx("input",{type:"search",className:ge.searchInput,placeholder:"Search images…",value:o,onChange:$=>ve($.target.value)})]}),g&&c.length===0?l.jsxs("div",{className:ge.loadingRow,children:[l.jsx(di,{size:20,className:ge.spinner}),l.jsx("span",{children:"Loading…"})]}):c.length===0?l.jsx("div",{className:ge.empty,children:"No images found"}):l.jsx("div",{className:ge.grid,children:c.map($=>{const Y=$.appIcon??$.artifactUrl??$.downloadUrl??"",Q=(_==null?void 0:_.identifier)===$.identifier;return l.jsxs("button",{type:"button",className:`${ge.imgCell} ${Q?ge.imgCellSelected:""}`,onClick:()=>h($),title:$.name,children:[Y?l.jsx("img",{src:Y,alt:$.name,className:ge.thumb}):l.jsx("div",{className:ge.noThumb,children:"IMG"}),Q&&l.jsx("div",{className:ge.checkBadge,children:l.jsx(Wn,{size:12})})]},$.identifier)})}),ie&&!g&&l.jsx("button",{className:ge.loadMoreBtn,onClick:we,children:"Load More"}),g&&c.length>0&&l.jsx("div",{className:ge.loadingRow,children:l.jsx(di,{size:16,className:ge.spinner})})]}):l.jsxs("div",{className:ge.uploadArea,children:[l.jsx("div",{className:ge.dropZone,onClick:()=>{var $;return($=T.current)==null?void 0:$.click()},onDragOver:$=>$.preventDefault(),onDrop:$=>{$.preventDefault();const Y=$.dataTransfer.files[0];Y&&W({target:{files:[Y],value:""}})},children:w?l.jsx("img",{src:w,alt:"Preview",className:ge.uploadPreview}):l.jsxs(l.Fragment,{children:[l.jsx(Jl,{size:32,className:ge.uploadIcon}),l.jsx("p",{className:ge.dropText,children:"Drag & drop or click to browse"}),l.jsxs("p",{className:ge.dropSubtext,children:[B.split(",").map($=>$.replace("image/","").toUpperCase()).join(", ")," · max ",(L/(1024*1024)).toFixed(0)," MB"]})]})}),l.jsx("input",{ref:T,type:"file",accept:B,className:ge.hiddenInput,onChange:W}),b&&l.jsx("p",{className:ge.fileName,children:b.name}),k&&l.jsx("p",{className:ge.errorText,children:k})]})}),l.jsxs("div",{className:ge.footer,children:[l.jsx("button",{className:ge.cancelBtn,onClick:n,children:"Cancel"}),s==="upload"?l.jsx("button",{className:ge.confirmBtn,disabled:!b||I,onClick:J,children:I?l.jsxs(l.Fragment,{children:[l.jsx(di,{size:14,className:ge.spinner})," Uploading…"]}):"Upload & Use"}):l.jsx("button",{className:ge.confirmBtn,disabled:!_,onClick:le,children:"Use Selected"})]})]})})},LI=({name:e,label:t,nodeId:r,required:n,disabled:s})=>{const[i,o]=p.useState(!1),{watch:a,setValue:c,register:d,formState:{errors:u}}=Xt(),f=a(e),g=u[e],m=h=>{c(e,h,{shouldDirty:!0,shouldValidate:!0}),o(!1)},_=()=>{c(e,"",{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...d(e,{required:n?`${t} is required`:!1})}),l.jsx("div",{className:P.iconWrap,role:"button",tabIndex:s?-1:0,"aria-label":"Select app icon",onClick:()=>!s&&o(!0),onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&!s&&o(!0)},children:f?l.jsx("img",{src:f,alt:"App icon",className:P.iconPreview}):l.jsxs("div",{className:P.iconPlaceholder,children:[l.jsx(rf,{size:20}),l.jsx("span",{children:"Select icon"})]})}),f&&!s&&l.jsxs("button",{type:"button",className:P.removeIconBtn,onClick:_,"aria-label":"Remove app icon",children:[l.jsx(Ja,{size:13}),l.jsx("span",{children:"Remove"})]}),g&&l.jsx("span",{className:P.error,children:String(g.message)}),i&&l.jsx(Yh,{nodeId:r,currentValue:f,onSelect:m,onClose:()=>o(!1)})]})},FI=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1}});return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{id:e,type:"datetime-local",className:[P.input,o?P.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:i.onChange,onBlur:i.onBlur,ref:i.ref}),o&&l.jsx("span",{className:P.error,children:String(o.message)})]})},$I=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:[]}),[a,c]=p.useState(""),d=p.useRef(null),u=i.value??[],f=h=>{const y=h.trim();!y||u.includes(y)||i.onChange([...u,y])},g=h=>{i.onChange(u.filter(y=>y!==h))},m=h=>{h.key==="Enter"||h.key===","?(h.preventDefault(),f(a),c("")):h.key==="Backspace"&&a===""&&u.length>0&&g(u[u.length-1])},_=()=>{a.trim()&&(f(a),c("")),i.onBlur()};return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:[P.chipGroup,o?P.inputError:""].join(" "),onClick:()=>{var h;return!n&&((h=d.current)==null?void 0:h.focus())},style:{cursor:n?"not-allowed":"text"},children:[u.map(h=>l.jsxs("span",{className:P.tagChip,children:[h,!n&&l.jsx("button",{type:"button",className:P.tagChipRemove,onClick:y=>{y.stopPropagation(),g(h)},"aria-label":`Remove ${h}`,children:l.jsx(un,{size:11})})]},h)),!n&&l.jsx("input",{ref:d,className:P.chipInput,value:a,onChange:h=>c(h.target.value),onKeyDown:m,onBlur:_,placeholder:u.length===0?"Type and press Enter or comma…":"",style:{flexGrow:1,minWidth:120}})]}),o&&l.jsx("span",{className:P.error,children:String(o.message)})]})},BI=({name:e,label:t,levels:r,required:n,disabled:s})=>{const{control:i}=Xt(),{field:o,fieldState:{error:a}}=uo({name:e,control:i,rules:{required:n?`${t} is required`:!1},defaultValue:{}}),c=o.value??{},d=(u,f,g)=>{const m={};for(let _=0;_<f;_++)m[r[_].code]=c[r[_].code]??"";m[u]=g;for(let _=f+1;_<r.length;_++)m[r[_].code]="";o.onChange(m)};return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("div",{className:P.nestedSelectRow,children:r.map((u,f)=>{const g=f>0&&!c[r[f-1].code];return l.jsxs("div",{className:P.field,style:{flex:1},children:[l.jsx("label",{className:P.label,htmlFor:`${e}_${u.code}`,children:u.label}),l.jsxs("select",{id:`${e}_${u.code}`,className:[P.input,a?P.inputError:""].join(" "),disabled:s||g,value:c[u.code]??"",onChange:m=>d(u.code,f,m.target.value),onBlur:o.onBlur,children:[l.jsx("option",{value:"",children:"Select…"}),u.options.map(m=>l.jsx("option",{value:m.value,children:m.label},m.value))]})]},u.code)})}),a&&l.jsx("span",{className:P.error,children:String(a.message)})]})},Uu=[{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"}],UI=({name:e,label:t,required:r,disabled:n})=>{const[s,i]=p.useState(!1),o=p.useRef(null),{register:a,watch:c,setValue:d,formState:{errors:u}}=Xt(),f=c(e),g=Uu.find(h=>h.value===f),m=(g==null?void 0:g.label)??"Select license…",_=u[e];return p.useEffect(()=>{if(!s)return;const h=y=>{var v;(v=o.current)!=null&&v.contains(y.target)||i(!1)};return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[s]),l.jsxs("div",{className:P.field,ref:o,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...a(e,{required:r?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:n,className:[P.selectBtn,_?P.inputError:"",s?P.selectOpen:""].join(" "),onClick:()=>i(h=>!h),"aria-haspopup":"listbox","aria-expanded":s,children:[l.jsx("span",{className:f?P.selectedVal:P.placeholder,children:m}),l.jsx(Bs,{size:14,className:s?P.chevronUp:""})]}),s&&l.jsx("div",{className:P.dropdown,role:"listbox",children:Uu.map(h=>l.jsxs("button",{type:"button",role:"option","aria-selected":f===h.value,className:[P.option,f===h.value?P.optionSelected:""].join(" "),onClick:()=>{d(e,h.value,{shouldDirty:!0,shouldValidate:!0}),i(!1)},children:[l.jsx("span",{children:h.label}),f===h.value&&l.jsx(Wn,{size:13})]},h.value))}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},zI=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:""}),[a,c]=p.useState("idle"),[d,u]=p.useState(""),f=async()=>{const m=(i.value??"").trim();if(!m){c("invalid"),u("Enter a dial code to validate.");return}c("loading"),u("");try{const _=await rw(m),h=_==null?void 0:_.result,y=h==null?void 0:h.dialcodes;Array.isArray(y)&&y.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.")}},g=()=>a==="loading"?l.jsx(di,{size:16,className:P.dialcodeSpinner}):a==="valid"?l.jsx(Zd,{size:16,color:"var(--sbx-success, #2e7d32)"}):a==="invalid"?l.jsx(ha,{size:16,color:"var(--sbx-error)"}):null;return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:P.dialcodeRow,children:[l.jsx("input",{id:e,type:"text",className:[P.input,o?P.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:m=>{i.onChange(m),c("idle"),u("")},onBlur:i.onBlur,ref:i.ref,placeholder:"e.g. A1B2C3",style:{flex:1}}),l.jsx("button",{type:"button",className:P.validateBtn,onClick:f,disabled:n||a==="loading","aria-label":"Validate dial code",children:a==="loading"?"Validating…":"Validate"}),g()]}),o&&l.jsx("span",{className:P.error,children:String(o.message)}),!o&&d&&l.jsx("span",{className:a==="valid"?P.dialcodeValid:P.error,children:d})]})},VI="_form_szqex_1",qI="_ungrouped_szqex_7",HI="_noFields_szqex_18",qo={form:VI,ungrouped:qI,noFields:HI},WI=({nodeMetadata:e,activeTab:t,isRoot:r,isFolder:n,editorMode:s,onFormValueChange:i,onFormStatusChange:o})=>{var pe,ke,Ue,De,ee,ze,Xe;const a=ae(q=>q.editorConfig),c=ae(q=>q.rootFormConfig),d=ae(q=>q.unitFormConfig),u=ae(q=>q.categoryMeta),f=ae(q=>q.contentFramework),g=ae(q=>q.contentTargetFWIds),{organisationFramework:m,targetFrameworks:_,isLoading:h}=Hh(f??((pe=a==null?void 0:a.context)==null?void 0:pe.framework),g??((ke=a==null?void 0:a.context)==null?void 0:ke.targetFWIds)),{frameworks:y,collectionAdditionalCategories:v,contentAdditionalCategories:b,defaultLicense:S,name:w}=$O((Ue=a==null?void 0:a.context)==null?void 0:Ue.channel),C=LO(y,(De=u==null?void 0:u.frameworkMetadata)==null?void 0:De.orgFWType,(ee=a==null?void 0:a.context)==null?void 0:ee.channel),I={organisationFramework:m,targetFrameworks:_,orgFrameworks:C,channelAdditionalCategories:v},j=je(q=>q.selectedNodeId),k=je(q=>q.treeData),M=je(q=>q.treeCache),T=j?M[j]??{}:{},A={...e,...T},F=p.useMemo(()=>{var re;if(!j)return 0;const q=[...k];for(;q.length;){const oe=q.shift();if(oe.id===j)return((re=oe.children)==null?void 0:re.length)??0;oe.children&&q.push(...oe.children)}return 0},[k,j]),R=(a==null?void 0:a.config)??{},L=(a==null?void 0:a.context)??{},B={editorMode:s,editableFields:R.editableFields,objectType:R.objectType,setDefaultCopyRight:R.setDefaultCopyRight===!0,defaultLicense:L.defaultLicense??S,contextAdditionalCategories:L.additionalCategories,userFullName:(ze=L.user)==null?void 0:ze.fullName,channelName:w,collectionAdditionalCategories:v,contentAdditionalCategories:b,childCount:F},Z=r?c:d,se=Z||(((Xe=a==null?void 0:a.config.hierarchy)==null?void 0:Xe.formConfig)??[]),ve=qO(se,A,I,r,B),we=ve.filter(q=>q.tab===t&&q.inputType!=="appIcon"&&q.visible!==!1),le=PO({mode:"onChange",defaultValues:Object.fromEntries(ve.map(q=>{const re=["multiselect","chips","keywords","tagsinput"],oe=["nestedselect"];return re.includes(q.inputType)?[q.code,q.currentValue??q.defaultValue??[]]:oe.includes(q.inputType)?[q.code,q.currentValue??q.defaultValue??{}]:[q.code,q.currentValue??q.defaultValue??""]}))});lD(le,ve);const{updateNode:W}=je(),J=p.useRef(ve);J.current=ve;const ie=p.useRef(j);ie.current=j;const $=p.useRef(i);$.current=i;const Y=p.useRef(o);Y.current=o;const Q=p.useRef(typeof A.shuffle=="boolean"?A.shuffle:void 0),de=p.useRef(A.name??"");de.current=A.name??"";const Se=p.useRef(s);Se.current=s;const Me=["review","read","sourcingreview","orgreview"];p.useEffect(()=>{const q=ie.current;if(q){const re=Object.fromEntries(J.current.filter(oe=>oe.currentValue!==void 0&&oe.currentValue!==null).map(oe=>[oe.code,oe.currentValue]));Object.keys(re).length>0&&W(q,re)}le.trigger().then(()=>{const re=le.formState.errors,oe=J.current,We=Array.from(new Set(Object.keys(re).map(cr=>{var ur;return(ur=oe.find($r=>$r.code===cr))==null?void 0:ur.tab}).filter(Boolean)));Y.current(Object.keys(re).length===0,We)})},[]),p.useEffect(()=>{const q=le.watch((re,{name:oe})=>{const We=ie.current;if(!We)return;const cr=J.current,ur=new Set(cr.map(x=>x.code));if(oe&&ur.has(oe)){let x=le.getValues(oe);oe==="dialcodes"&&(x=Array.isArray(x)?x:x?[x]:[]),oe==="shuffle"&&(x===!0&&Q.current===!1&&Oe("Shuffling is enabled for this question set.",{icon:"ℹ️"}),Q.current=x);const O=aD(oe,x);O&&(W(We,O),$.current(O))}else if(!oe){const x=le.getValues(),O=Object.fromEntries(Object.entries(x).filter(([U])=>ur.has(U))),N=oD(O,{isReview:Me.includes(Se.current),nodeTitle:de.current});Object.keys(N).length>0&&(W(We,N),$.current(N))}const $r=le.formState.errors,fn=Array.from(new Set(Object.keys($r).map(x=>{var O;return(O=cr.find(N=>N.code===x))==null?void 0:O.tab}).filter(Boolean)));Y.current(Object.keys($r).length===0,fn)});return()=>q.unsubscribe()},[le]);const me=we.reduce((q,re)=>{const oe=q[q.length-1];return oe&&oe.section===re.section?oe.fields.push(re):q.push({section:re.section,fields:[re]}),q},[]),ce=q=>{const re={key:q.code,name:q.code,label:q.label,required:q.required,disabled:q.editable===!1};switch(q.inputType){case"textarea":return l.jsx($u,{...re,multiline:!0,maxLength:q.maxLength});case"select":return l.jsx(GD,{...re,options:q.options??[]});case"multiselect":return l.jsx(YD,{...re,options:q.options??[]});case"chips":return l.jsx(XD,{...re});case"radio":return l.jsx(ZD,{...re,options:q.options??[]});case"appIcon":return l.jsx(LI,{...re,nodeId:j??""});case"datepicker":case"datetime":return l.jsx(FI,{...re});case"keywords":case"tagsinput":return l.jsx($I,{...re});case"nestedselect":return l.jsx(BI,{...re,levels:q.levels??[]});case"license":return l.jsx(UI,{...re});case"dialcode":return l.jsx(zI,{...re});default:return l.jsx($u,{...re,maxLength:q.maxLength})}};return l.jsx(_O,{...le,children:l.jsxs("div",{className:qo.form,children:[me.map((q,re)=>{const oe=q.section?BO[q.section]:void 0;return oe?l.jsx(gD,{title:oe.title,description:oe.description,children:q.fields.map(ce)},q.section??re):l.jsx("div",{className:qo.ungrouped,children:q.fields.map(ce)},re)}),we.length===0&&!h&&l.jsx("p",{className:qo.noFields,children:"No fields configured for this tab."})]})})};function Xh(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function QI(e,t){return e.reduce((r,n,s)=>{const i=t.get(n);return i&&(r[s]=i),r},Array(e.length))}function si(e){return e!==null&&e>=0}function KI(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 GI(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const Zh=e=>{let{rects:t,activeIndex:r,overIndex:n,index:s}=e;const i=Xh(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}},ii={scaleX:1,scaleY:1},YI=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,...ii}:null}const c=XI(i,s,r);return s>r&&s<=o?{x:0,y:-a.height-c,...ii}:s<r&&s>=o?{x:0,y:a.height+c,...ii}:{x:0,y:0,...ii}};function XI(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 Jh="Sortable",ep=p.createContext({activeIndex:-1,containerId:Jh,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Zh,disabled:{draggable:!1,droppable:!1}});function ZI(e){let{children:t,id:r,items:n,strategy:s=Zh,disabled:i=!1}=e;const{active:o,dragOverlay:a,droppableRects:c,over:d,measureDroppableContainers:u}=Gd(),f=Fs(Jh,r),g=a.rect!==null,m=p.useMemo(()=>n.map(I=>typeof I=="object"&&"id"in I?I.id:I),[n]),_=o!=null,h=o?m.indexOf(o.id):-1,y=d?m.indexOf(d.id):-1,v=p.useRef(m),b=!KI(m,v.current),S=y!==-1&&h===-1||b,w=GI(i);Kt(()=>{b&&_&&u(m)},[b,m,_,u]),p.useEffect(()=>{v.current=m},[m]);const C=p.useMemo(()=>({activeIndex:h,containerId:f,disabled:w,disableTransforms:S,items:m,overIndex:y,useDragOverlay:g,sortedRects:QI(m,c),strategy:s}),[h,f,w.draggable,w.droppable,S,m,y,c,g,s]);return p.createElement(ep.Provider,{value:C},t)}const JI=e=>{let{id:t,items:r,activeIndex:n,overIndex:s}=e;return Xh(r,n,s).indexOf(t)},eT=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},tT={duration:200,easing:"ease"},tp="transform",rT=Lr.Transition.toString({property:tp,duration:0,easing:"linear"}),nT={roleDescription:"sortable"};function sT(e){let{disabled:t,index:r,node:n,rect:s}=e;const[i,o]=p.useState(null),a=p.useRef(r);return Kt(()=>{if(!t&&r!==a.current&&n.current){const c=s.current;if(c){const d=Hn(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]),p.useEffect(()=>{i&&o(null)},[i]),i}function iT(e){let{animateLayoutChanges:t=eT,attributes:r,disabled:n,data:s,getNewIndex:i=JI,id:o,strategy:a,resizeObserverConfig:c,transition:d=tT}=e;const{items:u,containerId:f,activeIndex:g,disabled:m,disableTransforms:_,sortedRects:h,overIndex:y,useDragOverlay:v,strategy:b}=p.useContext(ep),S=oT(n,m),w=u.indexOf(o),C=p.useMemo(()=>({sortable:{containerId:f,index:w,items:u},...s}),[f,s,w,u]),I=p.useMemo(()=>u.slice(u.indexOf(o)),[u,o]),{rect:j,node:k,isOver:M,setNodeRef:T}=ry({id:o,data:C,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:I,...c}}),{active:A,activatorEvent:F,activeNodeRect:R,attributes:L,setNodeRef:B,listeners:Z,isDragging:se,over:ve,setActivatorNodeRef:we,transform:le}=Kd({id:o,data:C,attributes:{...nT,...r},disabled:S.draggable}),W=Ug(T,B),J=!!A,ie=J&&!_&&si(g)&&si(y),$=!v&&se,Y=$&&ie?le:null,de=ie?Y??(a??b)({rects:h,activeNodeRect:R,activeIndex:g,overIndex:y,index:w}):null,Se=si(g)&&si(y)?i({id:o,items:u,activeIndex:g,overIndex:y}):w,Me=A==null?void 0:A.id,me=p.useRef({activeId:Me,items:u,newIndex:Se,containerId:f}),ce=u!==me.current.items,pe=t({active:A,containerId:f,isDragging:se,isSorting:J,id:o,index:w,items:u,newIndex:me.current.newIndex,previousItems:me.current.items,previousContainerId:me.current.containerId,transition:d,wasDragging:me.current.activeId!=null}),ke=sT({disabled:!pe,index:w,node:k,rect:j});return p.useEffect(()=>{J&&me.current.newIndex!==Se&&(me.current.newIndex=Se),f!==me.current.containerId&&(me.current.containerId=f),u!==me.current.items&&(me.current.items=u)},[J,Se,f,u]),p.useEffect(()=>{if(Me===me.current.activeId)return;if(Me&&!me.current.activeId){me.current.activeId=Me;return}const De=setTimeout(()=>{me.current.activeId=Me},50);return()=>clearTimeout(De)},[Me]),{active:A,activeIndex:g,attributes:L,data:C,rect:j,index:w,newIndex:Se,items:u,isOver:M,isSorting:J,isDragging:se,listeners:Z,node:k,overIndex:y,over:ve,setNodeRef:W,setActivatorNodeRef:we,setDroppableNodeRef:T,setDraggableNodeRef:B,transform:ke??de,transition:Ue()};function Ue(){if(ke||ce&&me.current.newIndex===w)return rT;if(!($&&!Qi(F)||!d)&&(J||pe))return Lr.Transition.toString({...d,property:tp})}}function oT(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 Bi(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 aT=[Ce.Down,Ce.Right,Ce.Up,Ce.Left],lT=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:s,droppableContainers:i,over:o,scrollableAncestors:a}}=t;if(aT.includes(e.code)){if(e.preventDefault(),!r||!n)return;const c=[];i.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const g=s.get(f.id);if(g)switch(e.code){case Ce.Down:n.top<g.top&&c.push(f);break;case Ce.Up:n.top>g.top&&c.push(f);break;case Ce.Left:n.left>g.left&&c.push(f);break;case Ce.Right:n.left<g.left&&c.push(f);break}});const d=sm({collisionRect:n,droppableRects:s,droppableContainers:c});let u=jd(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),g=i.get(u),m=g?s.get(g.id):null,_=g==null?void 0:g.node.current;if(_&&m&&f&&g){const y=Ki(_).some((I,j)=>a[j]!==I),v=rp(f,g),b=cT(f,g),S=y||!v?{x:0,y:0}:{x:b?n.width-m.width:0,y:b?n.height-m.height:0},w={x:m.left,y:m.top};return S.x&&S.y?w:Cs(w,S)}}}};function rp(e,t){return!Bi(e)||!Bi(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function cT(e,t){return!Bi(e)||!Bi(t)||!rp(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}const uT="_row_11nth_1",dT="_removeBtn_11nth_14",fT="_grip_11nth_17",hT="_ctIcon_11nth_34",pT="_info_11nth_38",gT="_name_11nth_46",mT="_meta_11nth_55",Ur={row:uT,removeBtn:dT,grip:fT,ctIcon:hT,info:pT,name:gT,meta:mT},yT={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},vT=({item:e,onRemove:t,isEditable:r})=>{const n=ao(e),s=yT[n.key]??Qn,{attributes:i,listeners:o,setNodeRef:a,transform:c,transition:d,isDragging:u}=iT({id:e.id,disabled:!r}),f={transform:Lr.Transform.toString(c),transition:d,opacity:u?.5:1};return l.jsxs("div",{ref:a,style:f,className:Ur.row,role:"listitem",children:[r&&l.jsx("span",{className:Ur.grip,...i,...o,"aria-label":"Drag to reorder",children:l.jsx(tf,{size:15})}),l.jsx("span",{className:[`sbx-ct-sq--${n.key}`,Ur.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(s,{size:14})}),l.jsxs("div",{className:Ur.info,children:[l.jsx("span",{className:Ur.name,title:e.name,children:e.name}),l.jsx("span",{className:Ur.meta,children:n.label})]}),l.jsx("span",{className:`sbx-ct-badge--${n.key}`,children:n.label}),r&&l.jsx("button",{type:"button",className:Ur.removeBtn,onClick:()=>t(e.id),"aria-label":`Remove ${e.name}`,children:l.jsx(un,{size:14})})]})},bT="_container_lzvke_1",_T="_header_lzvke_7",wT="_heading_lzvke_13",ST="_count_lzvke_21",xT="_list_lzvke_30",CT="_emptyState_lzvke_36",ET="_addRow_lzvke_52",zr={container:bT,header:_T,heading:wT,count:ST,list:xT,emptyState:CT,addRow:ET},OT=({editorMode:e})=>{const{selectedNodeId:t,getChildrenOf:r,reorderChildren:n,deleteNode:s}=je(),i=t?r(t):[],o=e==="edit",a=Id(ca(Gi,{activationConstraint:{distance:5}}),ca(Ha,{coordinateGetter:lT})),c=p.useCallback(u=>{const{active:f,over:g}=u;if(!g||f.id===g.id||!t)return;const m=je.getState().getChildrenOf(t),_=m.findIndex(y=>y.id===f.id),h=m.findIndex(y=>y.id===g.id);_<0||h<0||n(t,_,h)},[t,n]),d=p.useCallback(u=>{window.confirm("Remove this content from the unit?")&&s(u)},[s]);return t?l.jsxs("div",{className:zr.container,children:[l.jsxs("div",{className:zr.header,children:[l.jsx("span",{className:zr.heading,children:"Content in this unit"}),l.jsx("span",{className:zr.count,children:i.length})]}),i.length>0?l.jsx(Qd,{sensors:a,collisionDetection:nm,onDragEnd:c,children:l.jsx(ZI,{items:i.map(u=>u.id),strategy:YI,children:l.jsx("div",{className:zr.list,role:"list",children:i.map(u=>l.jsx(vT,{item:u,onRemove:d,isEditable:o},u.id))})})}):l.jsxs("div",{className:zr.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:zr.addRow,type:"button","aria-label":"Add content to unit",children:[l.jsx(Us,{size:14})," Add content"]})]}):null},DT="_dropZone_ijo5w_1",IT="_active_ijo5w_14",zu={dropZone:DT,active:IT},TT=({isActive:e,label:t="Drop here",nodeId:r,className:n})=>l.jsx("div",{className:`${zu.dropZone} ${e?zu.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 NT(e){var o;const t={status:["Live"],...e.filters??{}};e.channel&&(t.channel=e.channel);const n=((o=(await Re.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 jT(e){var r,n;return(n=(r=(await Re.get(`/action/content/v3/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.content}const Vu="application/vnd.sunbird.question";function qu(e){return{cardinality:"single",type:"integer",defaultValue:e.maxScore??1}}function np(e,t,r){if(!e)return null;if(e.identifier===t)return{question:e,parent:r};for(const n of e.children??[]){const s=np(n,t,e);if(s)return s}return null}function RT(e,t){const r=np(e,t);if(!r)return null;const{question:n,parent:s}=r,i={...e,children:[n],childNodes:[t],shuffle:s==null?void 0:s.shuffle,showSolutions:(s==null?void 0:s.showSolutions)??"No",showFeedback:(s==null?void 0:s.showFeedback)??"No"};return(s==null?void 0:s.shuffle)===!0?i.maxScore=1:n.qType==="SA"?delete i.maxScore:n.maxScore!=null&&(i.maxScore=n.maxScore),i}function kT(e,t){const r=((t==null?void 0:t.enabled)??!0)&&!!e;return Ss({queryKey:["quml","questionset",e],enabled:r,queryFn:async()=>{const n=await Lf(e),s=u=>{if(!u)return[];const f=u.mimeType===Vu&&u.identifier?[u.identifier]:[],g=(u.children??[]).flatMap(s);return[...f,...g]},i=s(n),o=new Map;i.length&&(await __(i)).forEach(f=>{const g=f.identifier;g&&o.set(g,f)});const a=u=>{if(!u)return u;if(u.mimeType===Vu&&u.identifier){const f=o.get(u.identifier)??u,g=f.outcomeDeclaration;return g!=null&&g.maxScore||(f.outcomeDeclaration={...g??{},maxScore:qu(f)}),f}return Array.isArray(u.children)&&(u.children=u.children.map(f=>a(f))),u},c=a(n),d=c.outcomeDeclaration;return d!=null&&d.maxScore||(c.outcomeDeclaration={...d??{},maxScore:qu(c)}),c}})}const Hu="/assets/quml-player/sunbird-quml-player.js",AT="/assets/quml-player/styles.css",PT="/action/question/v2/list",Wu="sunbird-quml-player",tt=class tt{constructor(){es(this,"eventHandlers",new WeakMap)}loadScript(){return tt.scriptLoaded||customElements.get(Wu)?(tt.scriptLoaded=!0,Promise.resolve()):(tt.scriptLoading||(tt.scriptLoading=new Promise((t,r)=>{const n=document.createElement("script");n.src=Hu,n.setAttribute("data-quml-player-script","true"),n.onload=()=>{tt.scriptLoaded=!0,tt.scriptLoading=void 0,t()},n.onerror=()=>{tt.scriptLoading=void 0,r(new Error(`Failed to load QuML player script: ${Hu}`))},document.body.appendChild(n)})),tt.scriptLoading)}loadStyles(){if(window.questionListUrl=PT,tt.stylesLoaded||document.querySelector('[data-quml-player-styles="true"]')){tt.stylesLoaded=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=AT,t.setAttribute("data-quml-player-styles","true"),document.head.appendChild(t),tt.stylesLoaded=!0}static unloadStyles(){var t;(t=document.querySelector('[data-quml-player-styles="true"]'))==null||t.remove(),tt.stylesLoaded=!1}async createConfig(t,r,n){var o,a,c;await this.loadScript();const s={...t};return n!=null&&n.singleQuestion&&(s.maxQuestions=1,s.showStartPage="No",s.showTimer="No",s.requiresSubmit="No"),{context:{mode:(n==null?void 0:n.mode)??"play",pdata:{id:((o=r==null?void 0:r.pdata)==null?void 0:o.id)??"sunbird.portal",ver:((a=r==null?void 0:r.pdata)==null?void 0:a.ver)??"1.0",pid:((c=r==null?void 0:r.pdata)==null?void 0:c.pid)??"sunbird-portal"},contentId:t.identifier??"",sid:(r==null?void 0:r.sid)??"",uid:(r==null?void 0:r.uid)??(r==null?void 0:r.userId)??"",channel:(r==null?void 0:r.channel)??"",did:(r==null?void 0:r.did)??"",tags:(r==null?void 0:r.tags)??[],contextRollup:(n==null?void 0:n.contextRollup)??(r==null?void 0:r.rollup)??{},objectRollup:(n==null?void 0:n.objectRollup)??{},...n!=null&&n.cdata?{cdata:n.cdata}:{},...n!=null&&n.singleQuestion?{threshold:1}:{}},config:{sideMenu:{enable:!1,showShare:!1,showDownload:!1,showReplay:!0,showExit:!1},...n!=null&&n.singleQuestion?{showLegend:!1}:{}},metadata:s}}createElement(t){this.loadStyles();const r=document.createElement(Wu);return r.setAttribute("player-config",JSON.stringify(t)),r.setAttribute("data-player-id",t.metadata.identifier??"quml"),r}attachEventListeners(t,r,n){this.removeEventListeners(t);const s=o=>r==null?void 0:r(o),i=o=>n==null?void 0:n(o.detail);t.addEventListener("playerEvent",s),t.addEventListener("telemetryEvent",i),this.eventHandlers.set(t,{player:s,telemetry:i})}removeEventListeners(t){const r=this.eventHandlers.get(t);r&&(t.removeEventListener("playerEvent",r.player),t.removeEventListener("telemetryEvent",r.telemetry),this.eventHandlers.delete(t))}};es(tt,"scriptLoaded",!1),es(tt,"scriptLoading"),es(tt,"stylesLoaded",!1);let Ui=tt;const oi=new Ui,MT="_contentPlayerRoot_ryh6z_1",LT="_stage_ryh6z_9",FT="_playerHeader_ryh6z_19",$T="_playerHeaderThumb_ryh6z_33",BT="_playerHeaderTitle_ryh6z_43",UT="_typeBadge_ryh6z_53",zT="_typeDot_ryh6z_92",VT="_aspectRatio_ryh6z_99",qT="_playerFrame_ryh6z_112",HT="_coverOverlay_ryh6z_120",WT="_coverHidden_ryh6z_132",QT="_coverThumb_ryh6z_137",KT="_coverPlayRing_ryh6z_146",GT="_coverPlayIcon_ryh6z_159",YT="_coverLabel_ryh6z_168",XT="_coverSkeleton_ryh6z_174",ZT="_playerWrapper_ryh6z_200",JT="_infoStrip_ryh6z_210",eN="_infoChip_ryh6z_226",tN="_infoChipLabel_ryh6z_245",rN="_infoChipIcon_ryh6z_254",nN="_playerError_ryh6z_260",sN="_playerErrorIcon_ryh6z_274",iN="_playerErrorMsg_ryh6z_279",oN="_qumlRoot_ryh6z_286",Be={contentPlayerRoot:MT,stage:LT,playerHeader:FT,playerHeaderThumb:$T,playerHeaderTitle:BT,typeBadge:UT,typeDot:zT,aspectRatio:VT,playerFrame:qT,coverOverlay:HT,coverHidden:WT,coverThumb:QT,coverPlayRing:KT,coverPlayIcon:GT,coverLabel:YT,coverSkeleton:XT,playerWrapper:ZT,infoStrip:JT,infoChip:eN,infoChipLabel:tN,infoChipIcon:rN,playerError:nN,playerErrorIcon:sN,playerErrorMsg:iN,qumlRoot:oN},aN="application/vnd.sunbird.questionset";function lN(e,t){const r=new Map,n=i=>{for(const o of i)r.set(o.id,o),o.children&&n(o.children)};n(e);let s=r.get(t);for(;s;){if(s.mimeType===aN)return s.identifier;s=s.parent?r.get(s.parent):void 0}return null}const cN=[{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 uN(e){return cN.find(t=>t.mimes.includes(e))??{key:"other",label:"Content",icon:"📱"}}const dN={"pdf-player":["application/pdf"],"video-player":["video/mp4","video/webm"],"epub-player":["application/epub"]},fN={"pdf-player":"/assets/sunbird-pdf-player.js","video-player":"/assets/sunbird-video-player.js","epub-player":"/assets/sunbird-epub-player.js"},hN={"pdf-player":"sunbird-pdf-player","video-player":"sunbird-video-player","epub-player":"sunbird-epub-player"},pN="/content/preview/preview.html?webview=true&build_number=2.8.0.e552fcd";function Ho(e){for(const[t,r]of Object.entries(dN))if(r.includes(e))return t;return"default-player"}function gN(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 mN(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 yN(e,t,r=100){await mN(fN[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 vN=[{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 bN({node:e}){const t=e.metadata??{},r=vN.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:Be.infoStrip,children:r.map(n=>l.jsxs("div",{className:Be.infoChip,children:[n.icon&&l.jsx("span",{className:Be.infoChipIcon,children:n.icon}),l.jsx("span",{className:Be.infoChipLabel,children:n.label}),n.val]},n.key))}):null}function sp({node:e,hidden:t}){var n;const r=e.appIcon??((n=e.metadata)==null?void 0:n.appIcon);return l.jsx("div",{className:`${Be.coverOverlay} ${t?Be.coverHidden:""}`,children:r?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:r,alt:e.name,className:Be.coverThumb}),l.jsx("div",{className:Be.coverPlayRing,children:l.jsx("div",{className:Be.coverPlayIcon})}),l.jsx("span",{className:Be.coverLabel,children:"Loading preview…"})]}):l.jsx("div",{className:Be.coverSkeleton})})}function ip({message:e}){return l.jsxs("div",{className:Be.playerError,children:[l.jsx("span",{className:Be.playerErrorIcon,children:"⚠"}),l.jsx("span",{className:Be.playerErrorMsg,children:e})]})}function _N({mimeType:e}){const t=uN(e);return l.jsxs("span",{className:Be.typeBadge,"data-type":t.key,children:[l.jsx("span",{className:Be.typeDot}),t.label]})}const La=({node:e,editorMode:t,type:r,singleQuestion:n})=>{var i;if(r==="quml")return l.jsx(SN,{node:e,editorMode:t,singleQuestion:!!n});const s=e.appIcon??((i=e.metadata)==null?void 0:i.appIcon);return l.jsxs("div",{className:Be.contentPlayerRoot,children:[l.jsxs("div",{className:Be.stage,children:[l.jsxs("div",{className:Be.playerHeader,children:[s&&l.jsx("img",{src:s,alt:"",className:Be.playerHeaderThumb}),l.jsx("span",{className:Be.playerHeaderTitle,children:e.name}),l.jsx(_N,{mimeType:e.mimeType??""})]}),l.jsx(wN,{node:e})]}),l.jsx(bN,{node:e})]})};function wN({node:e}){var y;const t=ae(v=>v.editorConfig),[r,n]=p.useState(()=>Ho(e.mimeType??"")),[s,i]=p.useState(!1),[o,a]=p.useState(null),[c,d]=p.useState(e.metadata??{}),[u,f]=p.useState(!1),g=p.useRef(null),m=p.useRef(null),_=((y=t==null?void 0:t.config)==null?void 0:y.previewCdnUrl)??pN;p.useEffect(()=>{let v=!1;return f(!1),i(!1),a(null),d(e.metadata??{}),n(Ho(e.mimeType??"")),jT(e.identifier).then(b=>{if(v)return;const S={...e.metadata??{},...b};d(S);const w=b.mimeType??e.mimeType??"";n(Ho(w)),f(!0)}).catch(()=>{v||f(!0)}),()=>{v=!0}},[e.identifier]);const h=gN(e,c,t);return p.useEffect(()=>{if(!u||r!=="default-player")return;const v=g.current;if(!v)return;v.src=_;const b=()=>{try{const w=v.contentWindow;if(typeof(w==null?void 0:w.initializePreview)!="function"){a("Preview player unavailable. Check that /content/preview is reachable.");return}w.initializePreview(h),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 v.addEventListener("load",b),v.addEventListener("error",S),()=>{v.removeEventListener("load",b),v.removeEventListener("error",S),v.src=""}},[e.identifier,r,_,u]),p.useEffect(()=>{if(!u||r==="default-player")return;const v=m.current;if(!v)return;const b=hN[r];if(!b)return;const S=h;yN(b,r).then(()=>{if(!m.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",()=>{}),v.innerHTML="",v.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:Be.aspectRatio,children:[o?l.jsx(ip,{message:o}):l.jsx(sp,{node:e,hidden:s}),r==="default-player"?l.jsx("iframe",{ref:g,id:"contentPlayer",title:e.name,className:Be.playerFrame,name:"contentPlayer",allowFullScreen:!0}):l.jsx("div",{ref:m,className:Be.playerFrame})]})}function SN({node:e,editorMode:t,singleQuestion:r}){const n=ae(g=>g.editorConfig),s=je(g=>g.treeData),i=p.useRef(null),o=r?lN(s,e.id):e.identifier,{data:a,isLoading:c,error:d}=kT(o??"",{enabled:!!o}),u=p.useMemo(()=>a?r?RT(a,e.identifier):a:null,[a,r,e.identifier]);p.useEffect(()=>{const g=i.current;if(!g||!u)return;let m=null,_=!1;return(async()=>{try{const h=await oi.createConfig(u,n==null?void 0:n.context,{mode:t==="edit"?"edit":"play",singleQuestion:r});if(_||!i.current)return;const y=oi.createElement(h);m=y,oi.attachEventListeners(y,v=>console.debug("[QumlPlayer] playerEvent",v.detail),v=>console.debug("[QumlPlayer] telemetryEvent",v)),g.innerHTML="",g.appendChild(y)}catch(h){console.error("[QumlPlayer] failed to initialize",h)}})(),()=>{_=!0,m&&(oi.removeEventListeners(m),m.remove()),Ui.unloadStyles()}},[u,n,t,r]);const f=d?`Unable to load questionset: ${d.message}`:r&&!o?"Could not resolve the parent questionset for this question.":r&&a&&!u?"Question not found in the questionset.":null;return l.jsxs("div",{className:Be.qumlRoot,children:[f?l.jsx(ip,{message:f}):c||!u?l.jsx(sp,{node:e,hidden:!1}):null,l.jsx("div",{ref:i,className:Be.playerWrapper})]})}const xN="_overlay_ifddx_1",CN="_modal_ifddx_11",EN="_header_ifddx_21",ON="_body_ifddx_37",DN="_hint_ifddx_43",IN="_list_ifddx_49",TN="_item_ifddx_55",NN="_selected_ifddx_68",jN="_empty_ifddx_73",RN="_footer_ifddx_79",kN="_cancelBtn_ifddx_87",AN="_moveBtn_ifddx_95",$t={overlay:xN,modal:CN,header:EN,body:ON,hint:DN,list:IN,item:TN,selected:NN,empty:jN,footer:RN,cancelBtn:kN,moveBtn:AN};function PN(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 MN=({resourceId:e,resourceName:t,currentUnitId:r,onClose:n})=>{var u;const{treeData:s,moveNode:i}=je(),o=PN(s,((u=s[0])==null?void 0:u.id)??"",r),[a,c]=p.useState(null),d=()=>{a&&(i(e,r,a),n())};return l.jsx("div",{className:$t.overlay,role:"dialog","aria-label":"Move resource",children:l.jsxs("div",{className:$t.modal,children:[l.jsxs("div",{className:$t.header,children:[l.jsxs("span",{children:['Move "',t,'"']}),l.jsx("button",{onClick:n,"aria-label":"Close",children:l.jsx(un,{size:16})})]}),l.jsxs("div",{className:$t.body,children:[l.jsx("p",{className:$t.hint,children:"Select a unit to move this content to:"}),l.jsxs("ul",{className:$t.list,children:[o.map(f=>l.jsxs("li",{className:`${$t.item} ${a===f.id?$t.selected:""}`,onClick:()=>c(f.id),children:[l.jsx(Ey,{size:14}),l.jsx("span",{children:f.name})]},f.id)),o.length===0&&l.jsx("li",{className:$t.empty,children:"No other units available"})]})]}),l.jsxs("div",{className:$t.footer,children:[l.jsx("button",{className:$t.cancelBtn,onClick:n,children:"Cancel"}),l.jsx("button",{className:$t.moveBtn,onClick:d,disabled:!a,children:"Move here"})]})]})})},LN="_overlay_16at9_1",FN="_modal_16at9_11",$N="_header_16at9_21",BN="_body_16at9_37",UN="_table_16at9_43",zN="_pageInput_16at9_61",VN="_empty_16at9_68",qN="_footer_16at9_74",HN="_cancelBtn_16at9_82",WN="_saveBtn_16at9_90",rr={overlay:LN,modal:FN,header:$N,body:BN,table:UN,pageInput:zN,empty:VN,footer:qN,cancelBtn:HN,saveBtn:WN};function QN(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 KN=({onClose:e})=>{const{treeData:t,updateNode:r}=je(),n=QN(t),[s,i]=p.useState(()=>Object.fromEntries(n.map(a=>{var c;return[a.id,String(((c=a.metadata)==null?void 0:c.pageNumber)??"")]}))),o=p.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(un,{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(Ay,{size:14})," Save"]})]})]})})},GN="_container_1a7t2_1",YN="_panelHeader_1a7t2_10",XN="_panelHeaderLeft_1a7t2_19",ZN="_panelCollapseBtn_1a7t2_27",JN="_titleRow_1a7t2_46",ej="_field_1a7t2_47",tj="_moveBtn_1a7t2_64",rj="_icon_1a7t2_84",nj="_nameInput_1a7t2_93",sj="_fieldHeader_1a7t2_118",ij="_label_1a7t2_124",oj="_fieldCount_1a7t2_133",aj="_chips_1a7t2_170",lj="_chip_1a7t2_170",cj="_chipRemove_1a7t2_188",uj="_keywordInput_1a7t2_202",dj="_input_1a7t2_207",fj="_addBtn_1a7t2_220",hj="_radioGroup_1a7t2_234",pj="_radioLabel_1a7t2_239",qe={container:GN,panelHeader:YN,panelHeaderLeft:XN,panelCollapseBtn:ZN,titleRow:JN,field:ej,moveBtn:tj,icon:rj,nameInput:nj,fieldHeader:sj,label:ij,fieldCount:oj,chips:aj,chip:lj,chipRemove:cj,keywordInput:uj,input:dj,addBtn:fj,radioGroup:hj,radioLabel:pj},gj=({node:e,editorMode:t,onMoveClick:r,reorderDialog:n})=>{var A,F;const{updateNode:s,markDirty:i}=je(),o=t==="edit",a=ao(e),c=ae(R=>R.relationalFormConfig),d=R=>c==null?void 0:c.find(L=>L.code===R),u=R=>!c||!!d(R),f=(R,L)=>{var B;return((B=d(R))==null?void 0:B.label)||L},[g,m]=p.useState(!0),_=((A=e.metadata)==null?void 0:A.relationalMetadata)??{},[h,y]=p.useState(_.name??e.name??""),[v,b]=p.useState(""),[S,w]=p.useState(Array.isArray(_.keywords)?_.keywords:Array.isArray((F=e.metadata)==null?void 0:F.keywords)?e.metadata.keywords:[]),[C,I]=p.useState(!!_.optional);p.useEffect(()=>{var L,B;const R=((L=e.metadata)==null?void 0:L.relationalMetadata)??{};y(R.name??e.name??""),w(Array.isArray(R.keywords)?R.keywords:Array.isArray((B=e.metadata)==null?void 0:B.keywords)?e.metadata.keywords:[]),I(!!R.optional)},[e.id]);const j=()=>{h.trim()&&h!==e.name&&(s(e.id,{name:h.trim()}),i())},k=()=>{const R=v.trim();if(R&&!S.includes(R)){const L=[...S,R];w(L),s(e.id,{keywords:L}),i()}b("")},M=R=>{const L=S.filter(B=>B!==R);w(L),s(e.id,{keywords:L}),i()},T=R=>{I(R),s(e.id,{optional:R}),i()};return l.jsxs("div",{className:qe.container,children:[l.jsxs("div",{className:qe.panelHeader,children:[l.jsxs("div",{className:qe.panelHeaderLeft,children:[l.jsx("span",{className:`sbx-ct-badge--${a.key}`,children:a.label}),o&&l.jsx("button",{type:"button",className:qe.moveBtn,onClick:r,children:"Move to another unit"})]}),l.jsx("button",{type:"button",className:qe.panelCollapseBtn,onClick:()=>m(R=>!R),"aria-expanded":g,"aria-label":g?"Collapse metadata panel":"Expand metadata panel",title:g?"Collapse":"Expand",children:g?l.jsx(Bs,{size:15}):l.jsx(Sy,{size:15})})]}),g&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:qe.titleRow,children:[e.appIcon&&l.jsx("img",{src:e.appIcon,alt:"icon",className:qe.icon}),l.jsx("input",{type:"text",className:qe.nameInput,value:h,disabled:!o,onChange:R=>y(R.target.value),onBlur:j,placeholder:"Content name"})]}),u("keywords")&&l.jsxs("div",{className:qe.field,children:[l.jsx("div",{className:qe.fieldHeader,children:l.jsxs("label",{className:qe.label,children:[f("keywords","Keywords"),S.length>0&&l.jsx("span",{className:qe.fieldCount,children:S.length})]})}),S.length>0&&l.jsx("div",{className:qe.chips,children:S.map(R=>l.jsxs("span",{className:qe.chip,children:[R,o&&l.jsx("button",{type:"button",className:qe.chipRemove,onClick:()=>M(R),children:"×"})]},R))}),o&&l.jsxs("div",{className:qe.keywordInput,children:[l.jsx("input",{type:"text",className:qe.input,value:v,placeholder:"Add keyword and press Enter",onChange:R=>b(R.target.value),onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),k())}}),l.jsx("button",{type:"button",className:qe.addBtn,onClick:k,children:"Add"})]})]}),u("optional")&&l.jsxs("div",{className:qe.field,children:[l.jsx("label",{className:qe.label,children:f("optional","Optional in Collection")}),l.jsxs("div",{className:qe.radioGroup,children:[l.jsxs("label",{className:qe.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:C===!0,onChange:()=>T(!0),disabled:!o}),"Yes"]}),l.jsxs("label",{className:qe.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:C===!1,onChange:()=>T(!1),disabled:!o}),"No"]})]})]})]}),n]})},mj="_iconBtn_vl14u_1",yj="_editable_vl14u_14",vj="_iconImg_vl14u_26",bj="_placeholder_vl14u_34",_j="_removeBtn_vl14u_41",ls={iconBtn:mj,editable:yj,iconImg:vj,placeholder:bj,removeBtn:_j},wj=({nodeId:e,value:t,editable:r})=>{const[n,s]=p.useState(!1),{updateNode:i,markDirty:o}=je(),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:[ls.iconBtn,r?ls.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:ls.iconImg}):l.jsx("div",{className:ls.placeholder,children:l.jsx(rf,{size:18})}),t&&r&&l.jsx("button",{type:"button",className:ls.removeBtn,onClick:c,"aria-label":"Remove icon",children:l.jsx(Ja,{size:11})})]}),n&&l.jsx(Yh,{nodeId:e,currentValue:t,onSelect:a,onClose:()=>s(!1)})]})},Sj="_leafContentLayout_1osey_1",xj="_container_1osey_17",Cj="_emptyState_1osey_26",Ej="_titleRow_1osey_36",Oj="_nodeTitle_1osey_52",Dj="_formArea_1osey_74",Ij="_contentListArea_1osey_78",Tj="_dropZone_1osey_83",Nj="_reviewComment_1osey_90",jj="_reviewCommentLabel_1osey_103",Rj="_reviewCommentText_1osey_109",qt={leafContentLayout:Sj,container:xj,emptyState:Cj,titleRow:Ej,nodeTitle:Oj,formArea:Dj,contentListArea:Ij,dropZone:Tj,reviewComment:Nj,reviewCommentLabel:jj,reviewCommentText:Rj},kj="application/vnd.sunbird.questionset",op="application/vnd.sunbird.question",Aj=[kj,op],Pj=({editorMode:e,onToolbarEvent:t})=>{var F,R,L,B;const[r,n]=p.useState("details"),[s,i]=p.useState([]),[o,a]=p.useState(null),[c,d]=p.useState(!1),u=p.useRef(null),f=p.useRef(),{selectedNodeId:g,breadcrumb:m,activeNodeMeta:_,updateNode:h,treeData:y}=je(),v=ae(Z=>{var se,ve,we,le;return((ve=(se=Z.editorConfig)==null?void 0:se.context)==null?void 0:ve.contentId)??((le=(we=Z.editorConfig)==null?void 0:we.context)==null?void 0:le.identifier)??""}),b=g?ap(y,g):null,S=!!b&&!b.parent,w=!!(b!=null&&b.isFolder),C=b&&Aj.includes(b.mimeType??""),I=(b==null?void 0:b.mimeType)===op,j=b&&!b.isFolder&&!C&&!S,k=((F=b==null?void 0:b.metadata)==null?void 0:F.rejectComment)??(S?(L=(R=y[0])==null?void 0:R.metadata)==null?void 0:L.rejectComment:void 0),M=p.useCallback(()=>{const Z=u.current;if(!Z||!g)return;const se=Z.innerText.trim();clearTimeout(f.current),f.current=setTimeout(()=>{h(g,{name:se})},600)},[g,h]),T=p.useCallback(Z=>{t({action:"onFormValueChange",data:Z})},[t]),A=p.useCallback((Z,se)=>{i(se),t({action:"onFormStatusChange",data:{isValid:Z,nodeId:g}})},[t,g]);return b?C?l.jsx(La,{node:b,editorMode:e,type:"quml",singleQuestion:I}):j?l.jsxs("div",{className:qt.leafContentLayout,children:[l.jsx(La,{node:b,editorMode:e,type:"content"}),l.jsx(gj,{node:b,editorMode:e,onMoveClick:()=>a(b.identifier),reorderDialog:o?l.jsx(MN,{resourceId:o,resourceName:b.name,currentUnitId:b.parent??"",onClose:()=>a(null)}):null})]}):l.jsxs("div",{className:qt.container,children:[l.jsx(dO,{crumbs:m}),k&&l.jsxs("div",{className:qt.reviewComment,role:"alert",children:[l.jsx("span",{className:qt.reviewCommentLabel,children:"Reviewer comment:"}),l.jsx("span",{className:qt.reviewCommentText,children:k})]}),l.jsxs("div",{className:qt.titleRow,children:[S&&g&&l.jsx(wj,{nodeId:g,value:String(b.appIcon??((B=b.metadata)==null?void 0:B.appIcon)??""),editable:e==="edit"}),l.jsx("div",{ref:u,className:qt.nodeTitle,contentEditable:e==="edit",suppressContentEditableWarning:!0,onInput:M,onBlur:M,"data-placeholder":"Untitled","aria-label":"Node title",children:b.name})]}),l.jsx(yO,{activeTab:r,onChange:Z=>n(Z),errorTabs:s,visibleTabs:S?void 0:["details"]}),l.jsx("div",{className:qt.formArea,children:l.jsx(WI,{nodeMetadata:_,activeTab:r,isRoot:S,isFolder:w,editorMode:e,onFormValueChange:T,onFormStatusChange:A},`${g??"none"}:${S?"root":"node"}`)}),(w||S)&&r==="details"&&l.jsx("div",{className:qt.contentListArea,children:l.jsx(OT,{editorMode:e})}),l.jsx(TT,{isActive:!1,label:"Drop to add content to this unit",nodeId:g??void 0,className:qt.dropZone}),c&&l.jsx(KN,{contentId:v,onClose:()=>d(!1)})]}):l.jsx("div",{className:qt.emptyState,children:l.jsx("p",{children:"Select a unit from the outline to edit its details"})})};function ap(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=ap(r.children,t);if(n)return n}}}const lp=Zi((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})}})),Mj=20;function cp(){var d;const e=ae(u=>u.editorConfig),t=je(u=>u.selectedNodeId),r=je(u=>u.treeData),n=p.useCallback(()=>{if(!t||!r.length)return 0;function u(f,g,m=0){var _;for(const h of f){if(h.id===g)return m;if((_=h.children)!=null&&_.length){const y=u(h.children,g,m+1);if(y>=0)return y}}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[...Cu];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:[...Cu]}function Lj(){const e=lp(),t=ae(f=>{var g,m;return((m=(g=f.editorConfig)==null?void 0:g.context)==null?void 0:m.channel)??""}),r=cp(),n=p.useRef(),s=p.useCallback(async(f="",g="all",m={},_=!0,h=!1)=>{var y,v,b,S,w;e.setLoading(!0);try{const C={status:["Live"],primaryCategory:g&&g!=="all"?[g]:r};(y=m==null?void 0:m.board)!=null&&y.length&&(C.board=m.board),(v=m==null?void 0:m.medium)!=null&&v.length&&(C.medium=m.medium),(b=m==null?void 0:m.gradeLevel)!=null&&b.length&&(C.gradeLevel=m.gradeLevel),(S=m==null?void 0:m.subject)!=null&&S.length&&(C.subject=m.subject),(w=m==null?void 0:m.primaryCategory)!=null&&w.length&&(C.primaryCategory=m.primaryCategory);const I=_?0:e.offset,{content:j,count:k}=await NT({filters:C,query:f,limit:f?50:Mj,offset:I,channel:t||void 0,sortBy:h?{name:"asc"}:{lastUpdatedOn:"desc"}});_?e.setContent(j,k):e.appendContent(j,k)}catch(C){console.error("[useLibrary] load error:",C)}finally{e.setLoading(!1)}},[r,t]);p.useEffect(()=>{s()},[t]);const i=p.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=p.useCallback(f=>{e.setFilter(f),s(e.searchQuery,f,e.advancedFilters,!0,e.sortAZ)},[e.searchQuery,e.advancedFilters,e.sortAZ,s]),a=p.useCallback(f=>{e.setAdvancedFilters(f),s(e.searchQuery,e.activeFilter,f,!0,e.sortAZ)},[e.searchQuery,e.activeFilter,e.sortAZ,s]),c=p.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=p.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 Fj="_card_jzciw_1",$j="_addBtn_jzciw_17",Bj="_dragging_jzciw_24",Uj="_ctIcon_jzciw_29",zj="_info_jzciw_33",Vj="_name_jzciw_41",qj="_meta_jzciw_50",Hj="_addBtnMuted_jzciw_78",Wj="_added_jzciw_87",Qj="_addedBadge_jzciw_96",nr={card:Fj,addBtn:$j,dragging:Bj,ctIcon:Uj,info:zj,name:Vj,meta:qj,addBtnMuted:Hj,added:Wj,addedBadge:Qj},Kj={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},Gj=({item:e,onAdd:t,onPreview:r,isDraggable:n,isAdded:s})=>{var h,y;const i=ao(e),o=Kj[i.key]??Qn,a=vl(),c=Q1(),d=a&&!s&&c,{attributes:u,listeners:f,setNodeRef:g,isDragging:m}=Kd({id:e.identifier,disabled:!n||!a||!c,data:{type:"library-item",item:e}}),_=()=>{r&&r(e)};return l.jsxs("div",{ref:g,className:[nr.card,m?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:[((h=e.organisation)==null?void 0:h[0])??e.channel??"",(y=e.organisation)!=null&&y[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(Wn,{size:12})}),!s&&l.jsx("button",{type:"button",className:[nr.addBtn,!d&&a?nr.addBtnMuted:""].join(" "),onClick:v=>{v.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(Us,{size:14})})]})},Yj="_chips_xhhaq_1",Xj="_chip_xhhaq_1",Qu={chips:Yj,chip:Xj},Zj=({filters:e,active:t,onChange:r})=>l.jsx("div",{className:Qu.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",Qu.chip].join(" "),onClick:()=>r(n.value),children:n.label},n.value))}),Jj="_panel_1cl11_1",eR="_header_1cl11_10",tR="_headerTitle_1cl11_19",rR="_closeBtn_1cl11_25",nR="_body_1cl11_43",sR="_section_1cl11_59",iR="_sectionLabel_1cl11_65",oR="_chips_1cl11_73",aR="_chip_1cl11_73",lR="_active_1cl11_96",cR="_footer_1cl11_102",uR="_resetBtn_1cl11_112",dR="_applyBtn_1cl11_129",st={panel:Jj,header:eR,headerTitle:tR,closeBtn:rR,body:nR,section:sR,sectionLabel:iR,chips:oR,chip:aR,active:lR,footer:cR,resetBtn:uR,applyBtn:dR},fR=[{key:"board",label:"Board"},{key:"medium",label:"Medium"},{key:"gradeLevel",label:"Class"},{key:"subject",label:"Subject"}],hR=new Set(["board","medium","gradeLevel","subject","topic"]),pR=({local:e,toggle:t})=>{const r=cp();return r.length?l.jsxs("div",{className:st.section,children:[l.jsx("div",{className:st.sectionLabel,children:"Primary Category"}),l.jsx("div",{className:st.chips,children:r.map(n=>l.jsx("button",{type:"button",className:[st.chip,(e.primaryCategory??[]).includes(n)?st.active:""].join(" "),onClick:()=>t("primaryCategory",n),children:n},n))})]}):null},gR=({isOpen:e,filters:t,onApply:r,onClose:n})=>{var h,y;const s=ae(v=>v.editorConfig),i=ae(v=>v.searchFormConfig),o=ae(v=>v.contentFramework),a=ae(v=>v.contentTargetFWIds),{organisationFramework:c}=Hh(o??((h=s==null?void 0:s.context)==null?void 0:h.framework),a??((y=s==null?void 0:s.context)==null?void 0:y.targetFWIds)),[d,u]=p.useState(t),f=i!=null&&i.length?i.filter(v=>hR.has(v.code)).map(v=>({key:v.code,label:v.label||v.code})):fR;p.useEffect(()=>{u(t)},[t]);const g=(v,b)=>{u(S=>{const w=S[v]??[],C=w.includes(b)?w.filter(I=>I!==b):[...w,b];return{...S,[v]:C}})},m=(c==null?void 0:c.categories)??[],_=v=>{var b;return((b=m.find(S=>S.code===v))==null?void 0:b.terms)??[]};return e?l.jsxs("div",{className:st.panel,role:"dialog","aria-label":"Filter library","aria-modal":"true",children:[l.jsxs("div",{className:st.header,children:[l.jsx("span",{className:st.headerTitle,children:"Filters"}),l.jsx("button",{type:"button",className:st.closeBtn,onClick:n,"aria-label":"Close filters",children:l.jsx(un,{size:16})})]}),l.jsxs("div",{className:st.body,children:[f.map(({key:v,label:b})=>{const S=_(v);return S.length?l.jsxs("div",{className:st.section,children:[l.jsx("div",{className:st.sectionLabel,children:b}),l.jsx("div",{className:st.chips,children:S.slice(0,20).map(w=>l.jsx("button",{type:"button",className:[st.chip,(d[v]??[]).includes(w.name)?st.active:""].join(" "),onClick:()=>g(v,w.name),children:w.name},w.identifier))})]},v):null}),l.jsx(pR,{local:d,toggle:g})]}),l.jsxs("div",{className:st.footer,children:[l.jsx("button",{type:"button",className:st.resetBtn,onClick:()=>u({}),children:"Reset"}),l.jsx("button",{type:"button",className:st.applyBtn,onClick:()=>{r(d),n()},children:"Apply"})]})]}):null},mR="_header_6qdpu_10",yR="_title_6qdpu_20",vR="_headerActions_6qdpu_31",bR="_iconBtn_6qdpu_38",_R="_playerArea_6qdpu_56",wR="_footer_6qdpu_64",SR="_addBtn_6qdpu_73",xR="_modalOverlay_6qdpu_92",CR="_modalPanel_6qdpu_103",hr={header:mR,title:yR,headerActions:vR,iconBtn:bR,playerArea:_R,footer:wR,addBtn:SR,modalOverlay:xR,modalPanel:CR},ER=({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 Pr.createPortal(l.jsx("div",{className:hr.modalOverlay,role:"dialog","aria-modal":"true","aria-label":"Content preview",onClick:r,children:l.jsxs("div",{className:hr.modalPanel,onClick:s=>s.stopPropagation(),children:[l.jsxs("div",{className:hr.header,children:[l.jsx("span",{className:hr.title,title:e.name,children:e.name}),l.jsx("div",{className:hr.headerActions,children:l.jsx("button",{type:"button",className:hr.iconBtn,onClick:r,"aria-label":"Close preview",children:l.jsx(un,{size:16})})})]}),l.jsx("div",{className:hr.playerArea,children:l.jsx(La,{node:n,editorMode:"read",type:"content"})}),l.jsx("div",{className:hr.footer,children:l.jsx("button",{type:"button",className:hr.addBtn,onClick:()=>t(e),children:"+ Add to Unit"})})]})}),document.body)},OR="_dock_1lpg0_1",DR="_header_1lpg0_8",IR="_headerLeft_1lpg0_17",TR="_headerTitle_1lpg0_24",NR="_count_1lpg0_30",jR="_searchRow_1lpg0_39",RR="_searchWrap_1lpg0_47",kR="_searchIcon_1lpg0_53",AR="_searchInput_1lpg0_62",PR="_filterToggleBtn_1lpg0_80",MR="_filterToggleBtnActive_1lpg0_99",LR="_filterBadge_1lpg0_105",FR="_filters_1lpg0_124",$R="_mainArea_1lpg0_134",BR="_sidePanelOverlay_1lpg0_143",UR="_cardList_1lpg0_152",zR="_skeleton_1lpg0_168",VR="_skeletonIcon_1lpg0_178",qR="_skeletonText_1lpg0_186",HR="_skeletonLine_1lpg0_193",WR="_skeletonLineSm_1lpg0_200",QR="_loadMoreBtn_1lpg0_215",KR="_emptyState_1lpg0_240",GR="_collapseBtn_1lpg0_260",Fe={dock:OR,header:DR,headerLeft:IR,headerTitle:TR,count:NR,searchRow:jR,searchWrap:RR,searchIcon:kR,searchInput:AR,filterToggleBtn:PR,filterToggleBtnActive:MR,filterBadge:LR,filters:FR,mainArea:$R,sidePanelOverlay:BR,cardList:UR,skeleton:zR,skeletonIcon:VR,skeletonText:qR,skeletonLine:HR,skeletonLineSm:WR,loadMoreBtn:QR,emptyState:KR,collapseBtn:GR};function YR(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 XR=({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:g,toggleSort:m,loadMore:_}=Lj(),{addResource:h,selectedNodeId:y,treeData:v}=je(),b=e==="edit",[S,w]=p.useState(!1),[C,I]=p.useState({}),[j,k]=p.useState(null),M=p.useMemo(()=>YR(v),[v]),T=p.useCallback(B=>{var ve;if(!y){Oe.error("Select a unit first");return}const Z=(ve=v[0])==null?void 0:ve.id;if(y===Z){Oe("Select a unit from the outline to add content — resources cannot be added directly to the course.",{icon:"ℹ️",duration:4e3});return}if(h(B,y)===!1){Oe.error(`"${B.name}" is already in this collection`);return}Oe.success(`Added "${B.name}"`)},[y,h,v]),A=p.useCallback(B=>{I(B),g(B)},[g]),F=p.useCallback(B=>{k(B)},[]),R=p.useCallback(B=>{T(B),k(null)},[T]),L=p.useMemo(()=>Object.values(C).reduce((B,Z)=>B+((Z==null?void 0:Z.length)??0),0),[C]);return l.jsxs("div",{className:Fe.dock,children:[l.jsx("div",{className:Fe.header,children:l.jsxs("div",{className:Fe.headerLeft,children:[l.jsx("button",{type:"button",className:Fe.collapseBtn,onClick:r,"aria-label":"Collapse library panel",title:"Collapse library",children:l.jsx(jy,{size:15})}),l.jsx(Iy,{size:16}),l.jsx("span",{className:Fe.headerTitle,children:"Library"}),i>0&&l.jsx("span",{className:Fe.count,children:i})]})}),l.jsxs("div",{className:Fe.searchRow,children:[l.jsxs("div",{className:Fe.searchWrap,children:[l.jsx(pa,{size:14,className:Fe.searchIcon}),l.jsx("input",{type:"search",className:Fe.searchInput,placeholder:"Search content…",value:a,onChange:B=>u(B.target.value),"aria-label":"Search library"})]}),l.jsx("button",{type:"button",className:[Fe.filterToggleBtn,c?Fe.filterToggleBtnActive:""].join(" "),onClick:m,"aria-label":c?"Sort: A–Z (click for Recent)":"Sort: Recent (click for A–Z)",title:c?"A–Z":"Recent",children:c?l.jsx(_y,{size:15}):l.jsx(xy,{size:15})}),l.jsxs("button",{type:"button",className:[Fe.filterToggleBtn,S?Fe.filterToggleBtnActive:""].join(" "),onClick:()=>w(B=>!B),"aria-label":"Toggle advanced filters","aria-pressed":S,title:"Advanced filters",children:[l.jsx(Ly,{size:15}),L>0&&l.jsx("span",{className:Fe.filterBadge,children:L})]})]}),l.jsx("div",{className:Fe.filters,children:l.jsx(Zj,{filters:K1,active:o,onChange:f})}),l.jsxs("div",{className:Fe.mainArea,children:[l.jsx("div",{className:Fe.cardList,role:"list","aria-label":"Library content",children:s&&n.length===0?Array.from({length:4}).map((B,Z)=>l.jsxs("div",{className:Fe.skeleton,"aria-hidden":"true",children:[l.jsx("div",{className:Fe.skeletonIcon}),l.jsxs("div",{className:Fe.skeletonText,children:[l.jsx("div",{className:Fe.skeletonLine}),l.jsx("div",{className:Fe.skeletonLineSm})]})]},Z)):n.length>0?l.jsxs(l.Fragment,{children:[n.map(B=>l.jsx(Gj,{item:B,onAdd:T,onPreview:F,isDraggable:b,isAdded:M.has(B.identifier)},B.identifier)),d&&l.jsx("button",{type:"button",className:Fe.loadMoreBtn,onClick:_,disabled:s,"aria-label":"Load more content",children:s?"Loading…":"Load More"})]}):l.jsxs("div",{className:Fe.emptyState,children:[l.jsx(pa,{size:24}),l.jsx("p",{children:"No content found"}),l.jsx("span",{children:"Try a different search or filter"})]})}),S&&l.jsx("div",{className:Fe.sidePanelOverlay,children:l.jsx(gR,{isOpen:S,filters:C,onApply:A,onClose:()=>w(!1)})}),j&&l.jsx(ER,{content:j,onAdd:R,onClose:()=>k(null)})]})]})};function ZR(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","keywords","language","additionalCategories","medium","gradeLevel","subject","boardIds","mediumIds","gradeLevelIds","subjectIds","targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","dialcodes"]),c=new Set(["copyrightYear","compatibilityLevel","version"]);function d(g,m=!1){const _={};for(const[h,y]of Object.entries(g))if(!i.has(h)&&!(m&&o.has(h)))if(a.has(h))Array.isArray(y)?_[h]=y:y!=null&&y!==""?_[h]=[y]:_[h]=[];else if(c.has(h)){const v=Number(y);isNaN(v)||(_[h]=v)}else _[h]=y;return _}function u(g){var _;const m={};for(const h of g.children??[]){if(h.isFolder)continue;const y=t[h.identifier];if(!y)continue;const{isNew:v,...b}=y;if(Object.keys(b).length===0)continue;const S=((_=h.metadata)==null?void 0:_.relationalMetadata)??{};m[h.identifier]={name:h.name,...S,...b}}return m}function f(g,m){var S,w;const _=g.identifier,h=t[_],y=_.startsWith("temp-")||!!(h!=null&&h.isNew),v=!g.isFolder&&!m;if(m||y||h&&!v){let C;if(y)C={mimeType:"application/vnd.ekstep.content-collection",code:_,contentType:((S=g.metadata)==null?void 0:S.contentType)??"CourseUnit",primaryCategory:((w=g.metadata)==null?void 0:w.primaryCategory)??"Course Unit",name:g.name,visibility:"Parent",channel:r,...d(g.metadata??{})};else if(m){const{isNew:I,...j}=h??{};C={...d(g.metadata??{},!0),...d(j,!1),name:g.name}}else{const{isNew:I,...j}=h??{};C={name:g.name,visibility:"Parent",...d(j,!0)}}n[_]={metadata:C,objectType:g.objectType||(g.isFolder?"Collection":"Content"),root:m,isNew:y}}const b=g.isFolder?u(g):{};s[_]={name:g.name,children:(g.children??[]).map(C=>C.identifier),...Object.keys(b).length>0?{relationalMetadata:b}:{},root:m},(g.children??[]).forEach(C=>f(C,!1))}return e.forEach((g,m)=>f(g,m===0)),{nodesModified:n,hierarchy:s}}function JR(){const[e,t]=p.useState(!1),r=je(u=>u.treeCache),n=je(u=>u.treeData),s=ae(u=>u.isDirty),i=ae(u=>u.lastSaved),{setIsDirty:o,setLastSaved:a}=ae(),c=ae(u=>u.editorConfig);return{save:p.useCallback(async()=>{if(!c||e)return;const u=c.context.contentId??c.context.identifier??"";if(!u)return;const f=c.context.channel??"",g=c.context.userId??c.context.uid??"";t(!0);try{const{nodesModified:m,hierarchy:_}=ZR(n,r,f),{identifiers:h}=await S_(u,m,_,g);h&&Object.keys(h).length>0&&je.getState().replaceNodeIds(h);const y=new Date().toISOString();a(y),o(!1)}catch(m){console.error("[useSaveHierarchy] save failed:",m),Oe.error("Failed to save. Please try again.")}finally{t(!1)}},[c,e,n,r,o,a]),isSaving:e,isDirty:s,lastSaved:i}}function ek(e){const t=ae(o=>o.editorConfig),r=ae(o=>o.setButtonLoader),n=ae(o=>o.validateAllForms),s=je(o=>o.treeData);return{runAction:p.useCallback(async(o,a)=>{var u,f,g,m;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 Oe.error("No content identifier found."),!1;const d=((g=t==null?void 0:t.context)==null?void 0:g.userId)??((m=t==null?void 0:t.context)==null?void 0:m.uid)??"";try{switch(o){case"sendForReview":return n(s)?(r("saveCollection",!0),await e(),await E_(c),Oe.success("Content sent for review"),!0):(Oe.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 O_(c,_),Oe.success("Content rejected and sent back to the author"),!0}case"publish":return n(s)?(r("publishCollection",!0),await e(),await x_(c,d),Oe.success("Content published successfully"),!0):(Oe.error("Some units have missing required fields. Please fill them before publishing."),!1);default:return!1}}catch(_){console.error(`[useToolbarActions] ${o} failed`,_);const h=o==="sendForReview"?"send for review":o==="reject"?"reject":"publish";return Oe.error(`Failed to ${h}. Please try again.`),!1}finally{r("saveCollection",!1),r("rejectCollection",!1),r("publishCollection",!1)}},[t,e,r])}}const tk="_shell_90fon_1",rk="_workspace_90fon_8",nk="_sidebarCollapsed_90fon_16",sk="_dockCollapsed_90fon_19",ik="_dock_90fon_19",ok="_outline_90fon_40",ak="_reopenTab_90fon_45",lk="_outlineHidden_90fon_79",ck="_editor_90fon_86",uk="_dockHidden_90fon_101",dk="_dockReopenTab_90fon_108",fk="_dragChip_90fon_133",hk="_dragChipLabel_90fon_148",jt={shell:tk,workspace:rk,sidebarCollapsed:nk,dockCollapsed:sk,dock:ik,outline:ok,reopenTab:ak,outlineHidden:lk,editor:ck,dockHidden:uk,dockReopenTab:dk,dragChip:fk,dragChipLabel:hk},pk=({editorMode:e,onToolbarEvent:t,onContentAdded:r,onHierarchySaved:n})=>{const[s,i]=p.useState(null),[o,a]=p.useState(!1),[c,d]=p.useState(!1),[u,f]=p.useState(!1),{addResource:g,treeData:m}=je(),_=ae(R=>R.setFormStatus),[h,y]=p.useState(!0),v=je(R=>R.selectedNodeId),{save:b,isSaving:S,isDirty:w,lastSaved:C}=JR(),{runAction:I}=ek(b);p.useEffect(()=>{if(!w)return;const R=L=>{L.preventDefault(),L.returnValue=""};return window.addEventListener("beforeunload",R),()=>window.removeEventListener("beforeunload",R)},[w]);const j=Id(ca(Gi,{activationConstraint:{distance:8}})),k=p.useCallback(R=>{var B;const L=(B=R.active.data.current)==null?void 0:B.item;L&&i(L)},[]),M=p.useCallback(R=>{var we,le;i(null);const L=(we=R.active.data.current)==null?void 0:we.item;if(!L)return;const B=R.over,Z=(B==null?void 0:B.id)??v??void 0;if(!Z){Oe.error("Drop onto a unit to add content");return}const se=(le=m[0])==null?void 0:le.id;if(Z===se){Oe.error("Drop content onto a unit, not directly on the course.");return}if(!g(L,Z)){Oe.error(`"${L.name}" is already in this collection`);return}r==null||r(L,Z),Oe.success(`Added "${L.name}" to unit`)},[v,g,r]),T=p.useCallback(async R=>{if(R.action==="onFormStatusChange"){const{isValid:L,nodeId:B}=R.data??{},Z=L!==!1;y(Z),B&&_(B,Z);return}if(R.action==="back"&&w){f(!0);return}if(R.action==="saveCollection"){if(!h){Oe.error("Please fill the required metadata");return}await b(),n==null||n(m),t==null||t(R);return}if(R.action==="sendForReview"||R.action==="reject"||R.action==="publish"){await I(R.action,R.data)&&(t==null||t(R));return}t==null||t(R)},[b,I,t,n,m,w,h]),A=p.useCallback(async()=>{await b(),f(!1),n==null||n(m),t==null||t({action:"back"})},[b,n,t,m]),F=p.useCallback(()=>{f(!1),t==null||t({action:"back"})},[t]);return l.jsxs(Qd,{sensors:j,onDragStart:k,onDragEnd:M,children:[l.jsxs("div",{className:jt.shell,children:[l.jsx(Aw,{editorMode:e,isSaving:S,isDirty:w,lastSaved:C,isFormValid:h,onToolbarEvent:T}),l.jsxs("div",{className:[jt.workspace,o?jt.sidebarCollapsed:"",c?jt.dockCollapsed:""].filter(Boolean).join(" "),children:[l.jsx("aside",{className:[jt.outline,o?jt.outlineHidden:""].join(" "),"aria-label":"Course outline","aria-hidden":o,children:l.jsx(oO,{editorMode:e,collapsed:o,onToggleCollapse:()=>a(R=>!R)})}),o&&l.jsx("button",{className:jt.reopenTab,onClick:()=>a(!1),title:"Show outline",type:"button",children:"›"}),l.jsx("main",{className:jt.editor,role:"main","aria-label":"Content editor",children:l.jsx(Pj,{editorMode:e,onToolbarEvent:T})}),l.jsx("aside",{className:[jt.dock,c?jt.dockHidden:""].filter(Boolean).join(" "),"aria-label":"Content library","aria-hidden":c,children:l.jsx(XR,{editorMode:e,collapsed:c,onToggleCollapse:()=>d(R=>!R)})}),c&&l.jsx("button",{className:jt.dockReopenTab,onClick:()=>d(!1),title:"Show library",type:"button",children:"‹"})]})]}),l.jsx(gy,{dropAnimation:null,children:s?l.jsx("div",{className:jt.dragChip,children:l.jsx("span",{className:jt.dragChipLabel,children:s.name})}):null}),u&&l.jsx(Pw,{onSave:A,onDiscard:F,onCancel:()=>f(!1),isSaving:S})]})},gk="v1";function mk(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 Ku(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:mk(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 Sr(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.name??void 0,i=n.fields.filter(o=>!!o.code).sort((o,a)=>(o.index??0)-(a.index??0));for(const o of i)r.push(Ku(o,s))}else n.code&&r.push(Ku(n));return r}function yk(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 vk(e,t,r="Collection",n=gk){var d,u;const i=(u=(d=(await Re.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:Sr(o.create),unitForm:Sr(o.unitMetadata),childForm:Sr(o.childMetadata),searchForm:Sr(o.search??o.searchConfig),relationalForm:Sr(o.relationalMetadata),publishChecklist:Sr(o.publishchecklist),reviewChecklist:Sr(o.review),rfcChecklist:Sr(o.requestforchangeschecklist),schemaDefaults:yk(a.schema),frameworkMetadata:c.frameworkMetadata??{},sourcingSettings:c.sourcingSettings??{}}}function bk({config:e,onError:t}){const[r,n]=p.useState(!0),[s,i]=p.useState(null),[o,a]=p.useState(!1),{setEditorConfig:c,setEditorMode:d,setCategoryDefinition:u,setContentFramework:f}=ae(),{setTreeData:g,selectNode:m}=je();return p.useEffect(()=>{let _=!1;async function h(){var y,v;try{n(!0),i(null),e.apiBaseUrl&&Pf(e.apiBaseUrl),c(e),d(e.config.mode);const b=e.context.contentId??e.context.identifier??"";if(b){const S=e.config.objectType==="QuestionSet",{rootNode:w}=S?await w_(b):await Ff(b);if(!_&&(g(w?[w]:[]),w)){m(w.id);const M=w.metadata??{},T=M.framework??e.context.framework??null,A=M.targetFWIds??e.context.targetFWIds??null;f(T,A)}const C=e.config.primaryCategory??"Course",I=e.context.channel??"",j=e.config.categoryDefinitionApiVersion??"v1";try{const k=await vk(C,I,e.config.objectType??"Collection",j);if(!_){u(k);const M=((y=k.sourcingSettings)==null?void 0:y.collection)??{},T={};M.maxDepth&&!e.config.maxDepth&&(T.maxDepth=M.maxDepth),M.children&&!e.config.children&&(T.children=M.children),M.hierarchy&&!((v=e.config.hierarchy)!=null&&v.level1)&&(T.hierarchy={...e.config.hierarchy??{},...M.hierarchy}),Object.keys(T).length>0&&c({...e,config:{...e.config,...T}})}}catch{}}_||a(!0)}catch(b){if(!_){const S=b instanceof Error?b:new Error(String(b));i(S),t==null||t(S)}}finally{_||n(!1)}}return h(),()=>{_=!0}},[e.context.contentId,e.context.identifier]),{isLoading:r,error:s,isReady:o}}const _k="_root_qcpw6_1",wk="_loadingState_qcpw6_10",Sk="_loadingSpinner_qcpw6_20",xk="_errorState_qcpw6_34",fs={root:_k,loadingState:wk,loadingSpinner:Sk,errorState:xk},Ck=new $p({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});class Ek extends p.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:fs.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 Ok(e){const{isLoading:t,error:r}=bk({config:e,onError:e.onError}),n=ae(s=>s.editorMode);return t?l.jsxs("div",{className:fs.loadingState,children:[l.jsx("div",{className:fs.loadingSpinner}),l.jsx("p",{children:"Loading editor..."})]}):r?l.jsxs("div",{className:fs.errorState,children:[l.jsx("h3",{children:"Failed to load editor"}),l.jsx("p",{children:r.message})]}):l.jsx("div",{className:`sb-split-builder ${fs.root}`,children:l.jsx(pk,{editorMode:n,onToolbarEvent:e.onToolbarEvent,onContentAdded:e.onContentAdded,onHierarchySaved:e.onHierarchySaved})})}const up=e=>l.jsx(Ek,{onError:e.onError,children:l.jsxs(Up,{client:Ck,children:[l.jsx(Ok,{...e}),l.jsx(Bg,{position:"top-right",toastOptions:{duration:3e3}})]})}),zi=Symbol.for("r2wc.reactRender"),Gu=Symbol.for("r2wc.shouldRender"),ai=Symbol.for("r2wc.root");function Dk(e=""){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Ik(e=""){return e.replace(/-([a-z0-9])/g,function(t){return t[1].toUpperCase()})}var Yu={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 Tk(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,g){return i&&(s[u]=!0),typeof u=="symbol"||s[u]||u in d?(e.propTypes&&u in e.propTypes&&Yu.expando(g,u,f),Reflect.set(d,u,f,g)):(Yu.expando(g,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[Gu]=!0,this[zi]()},a.disconnectedCallback=function(){typeof r.createRoot=="function"?this[ai].unmount():r.unmountComponentAtNode(this)},a[zi]=function(){if(this[Gu]===!0){var d={};Object.keys(this).forEach(function(g){s[g]!==!1&&(d[g]=this[g])},this),i=!0;const u=n.shadow?this.shadowRoot:this,f=t.createElement(e,d);typeof r.createRoot=="function"?(this[ai]||(this[ai]=r.createRoot(u)),this[ai].render(f)):r.render(f,u),i=!1}},e.propTypes&&(o.observedAttributes=n.dashStyleAttributes?Object.keys(e.propTypes).map(function(d){return Dk(d)}):Object.keys(e.propTypes),a.attributeChangedCallback=function(d,u,f){var g=n.dashStyleAttributes?Ik(d):d;this[g]=f}),o}var hs={},cs=Pr;if(process.env.NODE_ENV==="production")hs.createRoot=cs.createRoot,hs.hydrateRoot=cs.hydrateRoot;else{var li=cs.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;hs.createRoot=function(e,t){li.usingClientEntryPoint=!0;try{return cs.createRoot(e,t)}finally{li.usingClientEntryPoint=!1}},hs.hydrateRoot=function(e,t,r){li.usingClientEntryPoint=!0;try{return cs.hydrateRoot(e,t,r)}finally{li.usingClientEntryPoint=!1}}}function Nk(){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 jk(e="sb-collection-editor"){if(Nk(),typeof customElements>"u"||customElements.get(e))return;const t=Tk(up,p,hs,{});customElements.define(e,t)}exports.CollectionEditor=up;exports.registerCollectionEditor=jk;exports.setApiBaseUrl=Pf;exports.useEditorStore=ae;exports.useLibraryStore=lp;exports.useTreeStore=je;
466
+ Use the data prop if you want to provide your own handlers.`);if(e.initialData){const[t,r]=V1(e.initialData,{idAccessor:e.idAccessor,childrenAccessor:e.childrenAccessor});return Object.assign(Object.assign(Object.assign({},e),r),{data:t})}else return e}function H1(e,t){const r=q1(e);return l.jsxs(A1,{treeProps:r,imperativeHandle:t,children:[l.jsx(M1,{children:l.jsx(L1,{})}),l.jsx(F1,{})]})}const W1=p.forwardRef(H1);function vl(){return je(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 Q1(){return je(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 Su={video:"#EA580C",pdf:"#DC2626",h5p:"#0D9488",scorm:"#7C3AED",audio:"#DB2777",quiz:"#16A34A",default:"#6B7280"},xu={video:"Video",pdf:"FileText",h5p:"Layers",scorm:"Package",audio:"Music",quiz:"HelpCircle",default:"File"},Cu=["Course Assessment","eTextbook","Exam Question","Explanation Content","Learning Resource","Practice Question Set","SCORM Content","Teacher Resource"],K1=[{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 G1(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 ao(e){const t=G1(e);return{key:t,color:Su[t]??Su.default,bgClass:`sbx-ct-sq--${t}`,badgeClass:`sbx-ct-badge--${t}`,tintClass:`sbx-ct-tint--${t}`,iconName:xu[t]??xu.default,label:t.charAt(0).toUpperCase()+t.slice(1)}}const Y1="_row_i3qt2_1",X1="_grip_i3qt2_16",Z1="_menuBtn_i3qt2_19",J1="_selected_i3qt2_23",eE="_title_i3qt2_28",tE="_dropTarget_i3qt2_33",rE="_toggle_i3qt2_50",nE="_ctIcon_i3qt2_65",sE="_folderIcon_i3qt2_77",iE="_renameInput_i3qt2_92",oE="_dropHere_i3qt2_101",aE="_menuWrap_i3qt2_111",lE="_menu_i3qt2_19",cE="_dangerItem_i3qt2_163",Et={row:Y1,grip:X1,menuBtn:Z1,selected:J1,title:eE,dropTarget:tE,toggle:rE,ctIcon:nE,folderIcon:sE,renameInput:iE,dropHere:oE,menuWrap:aE,menu:lE,dangerItem:cE},uE={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},dE=({node:e,style:t,dragHandle:r,editorMode:n})=>{const[s,i]=p.useState(!1),[o,a]=p.useState(!1),[c,d]=p.useState(e.data.name),u=p.useRef(null),f=n==="edit",g=vl(),m=ao(e.data),_=uE[m.key]??Qn,h=e.isSelected,y=e.level===0,v=e.data.isFolder??(e.children&&e.children.length>0),b=y?wy:v?Oy:_;p.useEffect(()=>{if(!s)return;const C=I=>{var j;(j=u.current)!=null&&j.contains(I.target)||i(!1)};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[s]);const S=p.useCallback(()=>{c.trim()&&e.submit(c.trim()),a(!1)},[c,e]),w=p.useCallback(C=>{C.key==="Enter"&&S(),C.key==="Escape"&&(d(e.data.name),a(!1))},[S,e.data.name]);return l.jsxs("div",{className:[Et.row,h?Et.selected:"",e.state.isOver&&v?Et.dropTarget:""].filter(Boolean).join(" "),style:t,onClick:()=>e.select(),"data-node-id":e.data.id,"data-droppable":v?"true":void 0,role:"treeitem","aria-selected":h,"aria-expanded":v?!e.isClosed:void 0,children:[f&&l.jsx("span",{ref:r,className:Et.grip,"aria-hidden":"true",children:l.jsx(tf,{size:14})}),l.jsx("button",{className:Et.toggle,onClick:C=>{C.stopPropagation(),e.toggle()},"aria-label":e.isClosed?"Expand":"Collapse",style:{visibility:v?"visible":"hidden"},children:e.isClosed?l.jsx(Xd,{size:14}):l.jsx(Bs,{size:14})}),l.jsx("span",{className:`${Et.ctIcon} ${y||v?Et.folderIcon:m.bgClass}`,"aria-hidden":"true",children:l.jsx(b,{size:12})}),o?l.jsx("input",{className:Et.renameInput,value:c,autoFocus:!0,onChange:C=>d(C.target.value),onBlur:S,onKeyDown:w,onClick:C=>C.stopPropagation()}):l.jsx("span",{className:Et.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&&v&&l.jsx("span",{className:Et.dropHere,"aria-hidden":"true",children:"Drop here"}),f&&l.jsxs("div",{className:Et.menuWrap,ref:u,children:[l.jsx("button",{className:Et.menuBtn,onClick:C=>{C.stopPropagation(),i(I=>!I)},"aria-label":"Node options",children:l.jsx(Jd,{size:14})}),s&&l.jsxs("div",{className:Et.menu,role:"menu",children:[l.jsxs("button",{role:"menuitem",onClick:()=>{a(!0),i(!1)},children:[l.jsx(Ry,{size:13})," Rename"]}),v&&g&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.id}),i(!1)},children:[l.jsx(ef,{size:13})," Add sub-unit"]}),e.data.parent&&g&&l.jsxs("button",{role:"menuitem",onClick:()=>{e.tree.create({parentId:e.data.parent}),i(!1)},children:[l.jsx(Us,{size:13})," Add Sibling"]}),l.jsxs("button",{role:"menuitem",className:Et.dangerItem,onClick:()=>{e.tree.delete(e.id),i(!1)},children:[l.jsx(Ja,{size:13})," Delete"]})]})]})]})};async function fE(e,t){var i,o;const n=((i=(await Re.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 hE(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 pE(e,t){var a;const r=await fE(e,t.name),n=await hE(r,t),s=new FormData;return s.append("fileUrl",n),s.append("mimeType",t.type||"text/csv"),{processId:(((a=(await Re.post(`/action/collection/v1/import/${e}`,s)).data)==null?void 0:a.result)??{}).processId??""}}async function gE(e){var r;return((r=(await Re.get(`/action/collection/v1/import/status/${e}`)).data)==null?void 0:r.result)??{status:"PENDING"}}async function Nh(e){var n,s,i;const r=(i=(s=(n=(await Re.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 mE(e){return Nh(e)}const yE="_container_jr3ij_1",vE="_header_jr3ij_13",bE="_title_jr3ij_22",_E="_closeBtn_jr3ij_29",wE="_body_jr3ij_45",SE="_dropZone_jr3ij_54",xE="_dragOver_jr3ij_67",CE="_hasFile_jr3ij_72",EE="_hiddenInput_jr3ij_78",OE="_fileInfo_jr3ij_82",DE="_fileIcon_jr3ij_89",IE="_fileName_jr3ij_93",TE="_fileSize_jr3ij_100",NE="_dropHint_jr3ij_105",jE="_dropIcon_jr3ij_112",RE="_dropText_jr3ij_117",kE="_dropSubtext_jr3ij_124",AE="_sampleLink_jr3ij_130",PE="_statusBar_jr3ij_145",ME="_status_uploading_jr3ij_154",LE="_status_processing_jr3ij_154",FE="_status_done_jr3ij_159",$E="_status_error_jr3ij_164",BE="_successDetail_jr3ij_170",UE="_spinner_jr3ij_175",zE="_spin_jr3ij_175",VE="_errorMsg_jr3ij_191",qE="_failedSection_jr3ij_197",HE="_failedTitle_jr3ij_203",WE="_tableWrap_jr3ij_213",QE="_failedTable_jr3ij_219",KE="_reasonCell_jr3ij_244",GE="_footer_jr3ij_248",Ne={container:yE,header:vE,title:bE,closeBtn:_E,body:wE,dropZone:SE,dragOver:xE,hasFile:CE,hiddenInput:EE,fileInfo:OE,fileIcon:DE,fileName:IE,fileSize:TE,dropHint:NE,dropIcon:jE,dropText:RE,dropSubtext:kE,sampleLink:AE,statusBar:PE,status_uploading:ME,status_processing:LE,status_done:FE,status_error:$E,successDetail:BE,spinner:UE,spin:zE,errorMsg:VE,failedSection:qE,failedTitle:HE,tableWrap:WE,failedTable:QE,reasonCell:KE,footer:GE},YE=({contentId:e,onComplete:t,onClose:r,mode:n="create"})=>{const[s,i]=p.useState(null),[o,a]=p.useState(!1),[c,d]=p.useState("idle"),[u,f]=p.useState(""),[g,m]=p.useState([]),[_,h]=p.useState(null),y=p.useRef(null),v=p.useRef(null),b=p.useCallback(()=>{v.current!==null&&(clearInterval(v.current),v.current=null)},[]);p.useEffect(()=>()=>b(),[b]);const S=T=>T.name.toLowerCase().endsWith(".csv")?T.size>50*1024*1024?(f("File size must not exceed 50 MB."),!1):!0:(f("Only .csv files are accepted."),!1),w=p.useCallback(T=>{f(""),m([]),h(null),d("idle"),S(T)&&i(T)},[]),C=p.useCallback(T=>{T.preventDefault(),a(!1);const A=T.dataTransfer.files[0];A&&w(A)},[w]),I=p.useCallback(T=>{var F;const A=(F=T.target.files)==null?void 0:F[0];A&&w(A),T.target.value=""},[w]),j=p.useCallback(async()=>{try{const T=await mE(e),A=document.createElement("a");A.href=T,A.download="sample_hierarchy.csv",A.target="_blank",A.click()}catch{f("Failed to download sample CSV.")}},[e]),k=p.useCallback(async()=>{if(s){d("uploading"),f(""),m([]);try{const{processId:T}=await pE(e,s);if(!T){d("done"),h(null),setTimeout(t,1500);return}d("processing"),v.current=setInterval(async()=>{try{const A=await gE(T);A.status==="COMPLETED"?(b(),d("done"),h(A.successCount??null),A.failedRecords&&A.failedRecords.length>0?m(A.failedRecords):setTimeout(t,1500)):A.status==="FAILED"&&(b(),d("error"),f("Upload processing failed. Please check the error rows below."),A.failedRecords&&m(A.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]),M={idle:"",uploading:"Uploading...",processing:"Processing...",done:"Done!",error:"Error"};return l.jsxs("div",{className:Ne.container,children:[l.jsxs("div",{className:Ne.header,children:[l.jsx("h2",{className:Ne.title,children:n==="update"?"Update Folder Metadata via CSV":"Create Folders via CSV"}),l.jsx("button",{className:Ne.closeBtn,onClick:r,"aria-label":"Close",children:"✕"})]}),l.jsxs("div",{className:Ne.body,children:[l.jsxs("div",{className:`${Ne.dropZone} ${o?Ne.dragOver:""} ${s?Ne.hasFile:""}`,onDragEnter:T=>{T.preventDefault(),a(!0)},onDragOver:T=>{T.preventDefault(),a(!0)},onDragLeave:T=>{T.preventDefault(),a(!1)},onDrop:C,onClick:()=>{var T;return(T=y.current)==null?void 0:T.click()},role:"button",tabIndex:0,"aria-label":"Drop CSV file here or click to browse",onKeyDown:T=>{var A;return T.key==="Enter"&&((A=y.current)==null?void 0:A.click())},children:[l.jsx("input",{ref:y,type:"file",accept:".csv",className:Ne.hiddenInput,onChange:I,"aria-hidden":"true"}),s?l.jsxs("div",{className:Ne.fileInfo,children:[l.jsx("span",{className:Ne.fileIcon,children:"📄"}),l.jsx("span",{className:Ne.fileName,children:s.name}),l.jsxs("span",{className:Ne.fileSize,children:["(",(s.size/1024).toFixed(1)," KB)"]})]}):l.jsxs("div",{className:Ne.dropHint,children:[l.jsx("span",{className:Ne.dropIcon,children:"⬆️"}),l.jsx("p",{className:Ne.dropText,children:"Drag & drop your CSV here"}),l.jsx("p",{className:Ne.dropSubtext,children:"or click to browse"})]})]}),l.jsx("button",{className:Ne.sampleLink,onClick:j,type:"button",children:"Download Sample CSV"}),c!=="idle"&&l.jsxs("div",{className:`${Ne.statusBar} ${Ne[`status_${c}`]}`,role:"status","aria-live":"polite",children:[c==="processing"&&l.jsx("span",{className:Ne.spinner,"aria-hidden":"true"}),M[c],c==="done"&&_!==null&&l.jsxs("span",{className:Ne.successDetail,children:[" — ",_," item(s) imported"]})]}),u&&l.jsx("p",{className:Ne.errorMsg,role:"alert",children:u}),g.length>0&&l.jsxs("div",{className:Ne.failedSection,children:[l.jsxs("h4",{className:Ne.failedTitle,children:["Failed Rows (",g.length,")"]}),l.jsx("div",{className:Ne.tableWrap,children:l.jsxs("table",{className:Ne.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:g.map((T,A)=>l.jsxs("tr",{children:[l.jsx("td",{children:T.rowNumber??A+1}),l.jsx("td",{children:T.name??"—"}),l.jsx("td",{className:Ne.reasonCell,children:T.reason??"Unknown error"})]},A))})]})})]})]}),l.jsxs("div",{className:Ne.footer,children:[l.jsx(Pe,{variant:"ghost",onClick:r,disabled:c==="uploading"||c==="processing",children:"Cancel"}),l.jsx(Pe,{variant:"primary",isLoading:c==="uploading"||c==="processing",disabled:!s||c==="done",onClick:k,children:c==="done"?"Uploaded":"Upload"})]})]})},XE="_container_1y30m_1",ZE="_header_1y30m_8",JE="_headerActions_1y30m_19",eO="_iconBtn_1y30m_25",tO="_menuWrap_1y30m_43",rO="_dropdownMenu_1y30m_47",nO="_treeWrapper_1y30m_79",sO="_csvModal_1y30m_95",iO="_footer_1y30m_105",tr={container:XE,header:ZE,headerActions:JE,iconBtn:eO,menuWrap:tO,dropdownMenu:rO,treeWrapper:nO,csvModal:sO,footer:iO},oO=({editorMode:e,collapsed:t=!1,onToggleCollapse:r})=>{var le;const n=p.useRef(null),s=p.useRef(null),i=p.useRef(null),[o,a]=p.useState(400),[c,d]=p.useState(!1),[u,f]=p.useState(!1),[g,m]=p.useState("create"),{treeData:_,selectedNodeId:h,selectNode:y,addNode:v,deleteNode:b,reorderChildren:S,moveNode:w,setTreeData:C}=je(),I=e==="edit",j=vl(),k=I&&j,M=(((le=_[0])==null?void 0:le.children)??[]).some(W=>W.isFolder),T=ae(W=>{var J,ie,$,Y;return((ie=(J=W.editorConfig)==null?void 0:J.context)==null?void 0:ie.contentId)??((Y=($=W.editorConfig)==null?void 0:$.context)==null?void 0:Y.identifier)??""}),A=ae(W=>{var ie,$;const J=($=(ie=W.categoryMeta)==null?void 0:ie.sourcingSettings)==null?void 0:$.collection;return(J==null?void 0:J.enableBulkUpload)!==!1});p.useEffect(()=>{const W=s.current;if(!W)return;const J=new ResizeObserver(()=>{a(W.clientHeight||400)});return J.observe(W),a(W.clientHeight||400),()=>J.disconnect()},[]),p.useEffect(()=>{if(!c)return;const W=J=>{var ie;(ie=i.current)!=null&&ie.contains(J.target)||d(!1)};return document.addEventListener("mousedown",W),()=>document.removeEventListener("mousedown",W)},[c]);const F=p.useCallback(W=>{W.length>0&&y(W[0].data.id)},[y]),R=p.useCallback(({parentId:W,index:J,dragIds:ie})=>{if(!W)return;const $=ie[0],Y=ja(_,$);if(!Y)return;const Q=Y.parent;if(Q===W){const de=ja(_,W);if(!(de!=null&&de.children))return;const Se=de.children.findIndex(Me=>Me.id===$);if(Se<0)return;S(W,Se,J>Se?J-1:J)}else w($,Q??"",W)},[_,S,w]),L=p.useCallback(({ids:W})=>{W.forEach(J=>b(J))},[b]),B=p.useCallback(({parentId:W})=>{var $;const J=W??(($=_[0])==null?void 0:$.id)??"";if(!J)return{id:crypto.randomUUID()};const ie=v(J,"unit");return ie?{id:ie}:(Oe.error("Maximum depth reached"),{id:crypto.randomUUID()})},[v,_]),Z=p.useCallback(()=>{var J;const W=(J=_[0])==null?void 0:J.id;W&&(v(W,"unit")||Oe.error("Maximum depth reached"))},[_,v]),se=p.useCallback(()=>{h&&(v(h,"subunit")||Oe.error("Maximum depth reached"))},[h,v]),ve=p.useCallback(async()=>{if(d(!1),!!T)try{const W=await Nh(T),J=await fetch(W).then(Y=>Y.blob()),ie=URL.createObjectURL(J),$=document.createElement("a");$.href=ie,$.download=`${T}-folders.csv`,$.style.display="none",document.body.appendChild($),$.click(),document.body.removeChild($),URL.revokeObjectURL(ie)}catch{Oe.error("Failed to download CSV")}},[T]),we=p.useCallback(async()=>{if(f(!1),!!T)try{const{rootNode:W}=await Ff(T);C([W]),Oe.success("Course outline refreshed.")}catch{Oe.error("Outline could not be refreshed automatically. Please reload the page.")}},[T,C]);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(W=>!W),"aria-label":"More options",title:"More options","aria-haspopup":"true","aria-expanded":c,children:l.jsx(Jd,{size:15})}),c&&l.jsx("div",{className:tr.dropdownMenu,role:"menu",children:A&&l.jsxs(l.Fragment,{children:[l.jsx("button",{role:"menuitem",type:"button",disabled:M,title:M?'Folders already exist — use "Update" instead':void 0,onClick:()=>{d(!1),m("create"),f(!0)},children:"Create folders using csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!M,title:M?void 0:'No folders yet — use "Create" first',onClick:ve,children:"Download folders as csv file"}),l.jsx("button",{role:"menuitem",type:"button",disabled:!M,title:M?void 0:'No folders yet — use "Create" first',onClick:()=>{d(!1),m("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(Ny,{size:15}):l.jsx(Ty,{size:15})})]})}),l.jsx("div",{className:tr.treeWrapper,ref:s,children:l.jsx(W1,{ref:n,data:_,idAccessor:"id",childrenAccessor:"children",onSelect:F,onMove:I?R:void 0,onDelete:I?L:void 0,onCreate:I?B:void 0,disableEdit:!I,disableDrop:!I,selection:h??void 0,rowHeight:40,indent:20,paddingBottom:16,height:o,width:"100%",children:W=>l.jsx(dE,{...W,editorMode:e})})}),I&&l.jsxs("div",{className:tr.footer,children:[l.jsxs(Pe,{variant:"ghost",size:"sm",onClick:Z,disabled:!k,children:[l.jsx(Us,{size:14})," Add Unit"]}),l.jsxs(Pe,{variant:"ghost",size:"sm",onClick:se,disabled:!k||!h,children:[l.jsx(ef,{size:14})," Add Sub-unit"]})]}),u&&l.jsx("div",{className:tr.csvModal,children:l.jsx(YE,{contentId:T,mode:g,onComplete:we,onClose:()=>f(!1)})})]})};function ja(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=ja(r.children,t);if(n)return n}}}const aO="_breadcrumb_zd1aj_1",lO="_crumb_zd1aj_10",cO="_sep_zd1aj_26",uO="_current_zd1aj_31",ss={breadcrumb:aO,crumb:lO,sep:cO,current:uO},dO=({crumbs:e})=>{const t=je(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(Dy,{size:13})}),e.map((r,n)=>l.jsxs(p.Fragment,{children:[l.jsx(Xd,{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},fO="_tabBar_qhks1_1",hO="_tab_qhks1_1",pO="_active_qhks1_29",gO="_error_qhks1_35",mO="_errorDot_qhks1_39",is={tabBar:fO,tab:hO,active:pO,error:gO,errorDot:mO},Eu=[{id:"details",label:"Details"},{id:"audience",label:"Audience & Curriculum"},{id:"licensing",label:"Licensing"}],yO=({activeTab:e,onChange:t,errorTabs:r=[],visibleTabs:n})=>{const s=n?Eu.filter(i=>n.includes(i.id)):Eu;return l.jsx("div",{className:is.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:[is.tab,e===i.id?is.active:"",r.includes(i.id)?is.error:""].join(" "),onClick:()=>t(i.id),children:[i.label,r.includes(i.id)&&l.jsx("span",{className:is.errorDot,"aria-label":"Has errors"})]},i.id))})};var Ws=e=>e.type==="checkbox",Qr=e=>e instanceof Date,lt=e=>e==null;const jh=e=>typeof e=="object";var He=e=>!lt(e)&&!Array.isArray(e)&&jh(e)&&!Qr(e),Ra=e=>He(e)&&e.target?Ws(e.target)?e.target.checked:e.target.value:e,Rh=(e,t)=>t.split(".").some((r,n,s)=>!isNaN(Number(r))&&e.has(s.slice(0,n).join("."))),kh=e=>{const t=e.constructor&&e.constructor.prototype;return He(t)&&t.hasOwnProperty("isPrototypeOf")},lo=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(lo&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(He(e)&&kh(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 Or={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},Qt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Ht={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Bo="form",Ah="root",Ph=["__proto__","constructor","prototype"];var Qs=e=>/^\w*$/.test(e),$e=e=>e===void 0,co=e=>e.split(/[.[\]'"]/g).filter(Boolean),H=(e,t,r)=>{if(!t||!He(e))return r;const n=Qs(t)?[t]:co(t);if(n.some(i=>Ph.includes(i)))return r;const s=n.reduce((i,o)=>lt(i)?void 0:i[o],e);return $e(s)||s===e?$e(e[t])?r:e[t]:s},At=e=>typeof e=="boolean",yt=e=>typeof e=="function",Le=(e,t,r)=>{let n=-1;const s=Qs(t)?[t]:co(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=He(d)||Array.isArray(d)?d:isNaN(+s[n+1])?{}:[]}if(Ph.includes(a))return;e[a]=c,e=e[a]}};const bl=p.createContext(null);bl.displayName="HookFormControlContext";const _l=()=>p.useContext(bl);var Mh=(e,t,r,n=!0)=>{const s={};for(const i in e)Object.defineProperty(s,i,{get:()=>{const o=i;return t._proxyFormState[o]!==Qt.all&&(t._proxyFormState[o]=!n||Qt.all),r&&(r[o]=!0),e[o]}});return s};const wl=lo?p.useLayoutEffect:p.useEffect;function vO(e){const t=_l(),{control:r=t,disabled:n,name:s,exact:i}=e||{},[o,a]=p.useState(()=>({...r._formState,defaultValues:r._defaultValues})),c=p.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return wl(()=>r._subscribe({name:s,formState:c.current,exact:i,callback:d=>{!n&&a({...r._formState,...d,defaultValues:r._defaultValues})}}),[s,n,i]),p.useEffect(()=>{c.current.isValid&&r._setValid(!0)},[r]),p.useMemo(()=>Mh(o,r,c.current,!1),[o,r])}var vt=e=>typeof e=="string",ka=(e,t,r,n,s)=>vt(e)?(n&&t.watch.add(e),H(r,e,s)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),H(r,i))):(n&&(t.watchAll=!0),r),Aa=e=>lt(e)||!jh(e);const Ou=(e,t)=>t.length===0&&!Array.isArray(e)&&!kh(e);function Pt(e,t,r=new WeakMap){if(e===t)return!0;if(Aa(e)||Aa(t))return Object.is(e,t);if(Qr(e)&&Qr(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(Ou(e,n)||Ou(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(Qr(a)&&Qr(c)||(He(a)||Array.isArray(a))&&(He(c)||Array.isArray(c))?!Pt(a,c,r):!Object.is(a,c))return!1}}return!0}function bO(e){const t=_l(),{control:r=t,name:n,defaultValue:s,disabled:i,exact:o,compute:a}=e||{},c=p.useRef(s),d=p.useRef(a),u=p.useRef(void 0),f=p.useRef(r),g=p.useRef(n);d.current=a;const[m,_]=p.useState(()=>{const w=r._getWatch(n,c.current);return d.current?d.current(w):w}),h=p.useCallback(w=>{const C=ka(n,r._names,w||r._formValues,!1,c.current);return d.current?d.current(C):C},[r._formValues,r._names,n]),y=p.useCallback(w=>{if(!i){const C=ka(n,r._names,w||r._formValues,!1,c.current);if(d.current){const I=d.current(C);Pt(I,u.current)||(_(I),u.current=I)}else _(C)}},[r._formValues,r._names,i,n]);wl(()=>((f.current!==r||!Pt(g.current,n))&&(f.current=r,g.current=n,y()),r._subscribe({name:n,formState:{values:!0},exact:o,callback:w=>{y(w.values)}})),[r,o,n,y]),p.useEffect(()=>r._removeUnmounted());const v=f.current!==r,b=g.current,S=p.useMemo(()=>{if(i)return null;const w=!v&&!Pt(b,n);return v||w?h():null},[i,v,n,b,h]);return S!==null?S:m}function uo(e){const t=_l(),{name:r,disabled:n,control:s=t,shouldUnregister:i,defaultValue:o,exact:a=!0}=e,c=Rh(s._names.array,r),d=p.useMemo(()=>H(s._formValues,r,H(s._defaultValues,r,o)),[s,r,o]),u=bO({control:s,name:r,defaultValue:d,exact:a}),f=vO({control:s,name:r,exact:a}),g=p.useRef(e),m=p.useRef(null),_=p.useRef(s.register(r,{...e.rules,value:u,...At(e.disabled)?{disabled:e.disabled}:{}}));g.current=e;const h=p.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!H(f.errors,r)},isDirty:{enumerable:!0,get:()=>!!H(f.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!H(f.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!H(f.validatingFields,r)},error:{enumerable:!0,get:()=>H(f.errors,r)}}),[f,r]),y=p.useCallback(w=>{const C=Ra(w);return H(s._fields,r)||(_.current=s.register(r,{...g.current.rules,value:C})),_.current.onChange({target:{value:Ra(w),name:r},type:Or.CHANGE})},[r,s]),v=p.useCallback(()=>_.current.onBlur({target:{value:H(s._formValues,r),name:r},type:Or.BLUR}),[r,s._formValues]),b=p.useCallback(w=>{w&&(m.current={focus:()=>yt(w.focus)&&w.focus(),select:()=>yt(w.select)&&w.select(),setCustomValidity:I=>yt(w.setCustomValidity)&&w.setCustomValidity(I),reportValidity:()=>yt(w.reportValidity)&&w.reportValidity()});const C=H(s._fields,r);C&&C._f&&w&&(C._f.ref=m.current)},[s._fields,r]),S=p.useMemo(()=>({name:r,value:u,...At(n)||f.disabled?{disabled:f.disabled||n}:{},onChange:y,onBlur:v,ref:b}),[r,n,f.disabled,y,v,b,u]);return p.useEffect(()=>{const w=s._options.shouldUnregister||i;s.register(r,{...g.current.rules,...At(g.current.disabled)?{disabled:g.current.disabled}:{}});const C=(I,j)=>{const k=H(s._fields,I);k&&k._f&&(k._f.mount=j)};if(C(r,!0),w){const I=Qe(H(i?s._defaultValues:s._options.values||s._defaultValues,r,H(s._options.defaultValues,r,g.current.defaultValue)));Le(s._defaultValues,r,I),$e(H(s._formValues,r))&&Le(s._formValues,r,I)}if(!c&&s.register(r),m.current){const I=H(s._fields,r);I&&I._f&&(I._f.ref=m.current)}return()=>{(c?w&&!s._state.action:w)?s.unregister(r):C(r,!1)}},[r,s,c,i]),p.useEffect(()=>{s._setDisabledField({disabled:n,name:r})},[n,r,s]),p.useMemo(()=>({field:S,formState:f,fieldState:h}),[S,f,h])}const Sl=p.createContext(null);Sl.displayName="HookFormContext";const Xt=()=>p.useContext(Sl),_O=({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:g,unregister:m,control:_,register:h,setFocus:y,subscribe:v})=>{const b=p.useMemo(()=>({watch:t,getValues:r,getFieldState:n,setError:s,clearErrors:i,setValue:o,setValues:a,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:g,unregister:m,control:_,register:h,setFocus:y,subscribe:v}),[i,_,d,n,r,g,h,f,u,s,y,o,a,v,c,m,t]);return p.createElement(Sl.Provider,{value:b},p.createElement(bl.Provider,{value:b.control},e))};var wO=(e,t,r,n,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:s||!0}}:{},Lh=e=>Array.isArray(e)?e.filter(Boolean):[],Ci=e=>Array.isArray(e)?e:[e],Du=()=>{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 Fh(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const s=e[n],i=t[n];if(s&&He(s)&&i){const o=Fh(s,i);He(o)&&(r[n]=o)}else e[n]&&(r[n]=i)}return r}var nt=e=>He(e)&&!Object.keys(e).length,xl=e=>e.type==="file",Fi=e=>{if(!lo)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},$h=e=>e.type==="select-multiple",Cl=e=>e.type==="radio",SO=e=>Cl(e)||Ws(e),Uo=e=>Fi(e)&&e.isConnected;function xO(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;){if(lt(e)){e=void 0;break}e=e[t[n]],n++}return e}function CO(e){for(const t in e)if(e.hasOwnProperty(t)&&!$e(e[t]))return!1;return!0}function Ye(e,t){if(vt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Qs(t)?[t]:co(t),n=r.length===1?e:xO(e,r),s=r.length-1,i=r[s];return n&&delete n[i],s!==0&&(He(n)&&nt(n)||Array.isArray(n)&&CO(n))&&Ye(e,r.slice(0,-1)),e}var EO=e=>{for(const t in e)if(yt(e[t]))return!0;return!1};function Bh(e){return Array.isArray(e)||He(e)&&!EO(e)}function Pa(e,t={}){for(const r in e){const n=e[r];Bh(n)?(t[r]=Array.isArray(n)?[]:{},Pa(n,t[r])):$e(n)||(t[r]=!0)}return t}function Ma(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const t=e.map(r=>Ma(r));return t.some(r=>r!==void 0)?t:void 0}if(He(e)){const t={};for(const r in e){const n=Ma(e[r]);$e(n)||(t[r]=n)}return Object.keys(t).length?t:void 0}}}function Vr(e,t,r){r||(r=Pa(t));for(const n in e){const s=e[n];if(Bh(s))$e(t)||Aa(r[n])?r[n]=Pa(s,Array.isArray(s)?[]:{}):Vr(s,lt(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Pt(s,i)}}return Ma(r)||{}}const Iu={value:!1,isValid:!1},Tu={value:!0,isValid:!0};var Uh=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&&!$e(e[0].attributes.value)?$e(e[0].value)||e[0].value===""?Tu:{value:e[0].value,isValid:!0}:Tu:Iu}return Iu},zh=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>$e(e)?e:t?e===""?NaN:e&&+e:r&&vt(e)?new Date(e):n?n(e):e;const Nu={isValid:!1,value:null};var Vh=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,Nu):Nu;function ju(e){const t=e.ref;return xl(t)?t.files:Cl(t)?Vh(e.refs).value:$h(t)?[...t.selectedOptions].map(({value:r})=>r):Ws(t)?Uh(e.refs).value:zh($e(t.value)?e.ref.value:t.value,e)}var OO=(e,t,r,n)=>{const s={};for(const i of e){const o=H(t,i);o&&Le(s,i,o._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:n}},$i=e=>e instanceof RegExp,os=e=>$e(e)?e:$i(e)?e.source:He(e)?$i(e.value)?e.value.source:e.value:e,Ru=e=>({isOnSubmit:!e||e===Qt.onSubmit,isOnBlur:e===Qt.onBlur,isOnChange:e===Qt.onChange,isOnAll:e===Qt.all,isOnTouch:e===Qt.onTouched});const ku="AsyncFunction";var DO=e=>!!e&&!!e.validate&&!!(yt(e.validate)&&e.validate.constructor.name===ku||He(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===ku)),IO=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),zo=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(`${n}.`)));const vs=(e,t,r,n)=>{for(const s of r||Object.keys(e)){const i=H(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(vs(a,t))break}else if(He(a)&&vs(a,t))break}}};function Au(e,t,r){const n=H(e,r);if(n||Qs(r))return{error:n,name:r};const s=r.split(".");for(;s.length;){const i=s.join("."),o=H(t,i),a=H(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 TO=(e,t,r,n)=>{r(e);const{name:s,...i}=e;return nt(i)||n&&Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!n||Qt.all))},NO=(e,t,r)=>!e||!t||e===t||Ci(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),jO=(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,RO=(e,t)=>!Lh(H(e,t)).length&&Ye(e,t),Pu=(e,t,r)=>{const n=H(e,r),s=Array.isArray(n)?n:[];return Le(s,Ah,t[r]),Le(e,r,s),e};function Mu(e,t,r="validate"){if(vt(e)||Array.isArray(e)&&e.every(vt)||At(e)&&!e)return{type:r,message:vt(e)?e:"",ref:t}}var wn=e=>He(e)&&!$i(e)?e:{value:e,message:""},Lu=async(e,t,r,n,s,i)=>{const{ref:o,refs:a,required:c,maxLength:d,minLength:u,min:f,max:g,pattern:m,validate:_,name:h,valueAsNumber:y,mount:v}=e._f,b=H(r,h);if(!v||t.has(h))return{};const S=a?a[0]:o,w=F=>{if(s&&S.reportValidity){const R=At(F)?"":F||"";a?a.forEach(L=>L.setCustomValidity(R)):S.setCustomValidity(R),S.reportValidity()}},C={},I=Cl(o),j=Ws(o),k=I||j,M=(y||xl(o))&&$e(o.value)&&$e(b)||Fi(o)&&o.value===""||b===""||Array.isArray(b)&&!b.length,T=wO.bind(null,h,n,C),A=(F,R,L,B=Ht.maxLength,Z=Ht.minLength)=>{const se=F?R:L;C[h]={type:F?B:Z,message:se,ref:o,...T(F?B:Z,se)}};if(i?!Array.isArray(b)||!b.length:c&&(!k&&(M||lt(b))||At(b)&&!b||j&&!Uh(a).isValid||I&&!Vh(a).isValid)){const{value:F,message:R}=vt(c)?{value:!!c,message:c}:wn(c);if(F&&(C[h]={type:Ht.required,message:R,ref:S,...T(Ht.required,R)},!n))return w(R),C}if(!M&&(!lt(f)||!lt(g))){let F,R;const L=wn(g),B=wn(f);if(!lt(b)&&!isNaN(b)){const Z=o.valueAsNumber||b&&+b;lt(L.value)||(F=Z>L.value),lt(B.value)||(R=Z<B.value)}else{const Z=o.valueAsDate||new Date(b),se=le=>new Date(new Date().toDateString()+" "+le),ve=o.type=="time",we=o.type=="week";vt(L.value)&&b&&(F=ve?se(b)>se(L.value):we?b>L.value:Z>new Date(L.value)),vt(B.value)&&b&&(R=ve?se(b)<se(B.value):we?b<B.value:Z<new Date(B.value))}if((F||R)&&(A(!!F,L.message,B.message,Ht.max,Ht.min),!n))return w(C[h].message),C}if((d||u)&&!M&&(vt(b)||i&&Array.isArray(b))){const F=wn(d),R=wn(u),L=!lt(F.value)&&b.length>+F.value,B=!lt(R.value)&&b.length<+R.value;if((L||B)&&(A(L,F.message,R.message),!n))return w(C[h].message),C}if(m&&!M&&vt(b)){const{value:F,message:R}=wn(m);if($i(F)&&!b.match(F)&&(C[h]={type:Ht.pattern,message:R,ref:o,...T(Ht.pattern,R)},!n))return w(R),C}if(_){if(yt(_)){const F=await _(b,r),R=Mu(F,S);if(R&&(C[h]={...R,...T(Ht.validate,R.message)},!n))return w(R.message),C}else if(He(_)){let F={};for(const R in _){if(!nt(F)&&!n)break;const L=Mu(await _[R](b,r),S,R);L&&(F={...L,...T(R,L.message)},w(L.message),n&&(C[h]=F))}if(!nt(F)&&(C[h]={ref:S,...F},!n))return C}}return w(!0),C};const kO={mode:Qt.onSubmit,reValidateMode:Qt.onChange,shouldFocusError:!0},qh={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function AO(e={}){let t={...kO,...e},r={...Qe(qh),isLoading:yt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},n={},s=He(t.defaultValues)||He(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 g={...f};const m={array:Du(),state:Du()},_=t.criteriaMode===Qt.all,h=x=>O=>{clearTimeout(d),d=setTimeout(x,O)},y=async x=>{if(!o.keepIsValid&&!t.disabled&&(f.isValid||g.isValid||x)){let O;t.resolver?(O=nt((await T()).errors),v()):O=await R({fields:n,onlyCheckValid:!0,eventType:Or.VALID}),O!==r.isValid&&m.state.next({isValid:O})}},v=(x,O)=>{!t.disabled&&(f.isValidating||f.validatingFields||g.isValidating||g.validatingFields)&&((x||Array.from(a.mount)).forEach(N=>{N&&(O?Le(r.validatingFields,N,O):Ye(r.validatingFields,N))}),m.state.next({validatingFields:r.validatingFields,isValidating:!nt(r.validatingFields)}))},b=()=>{r.dirtyFields=Vr(s,i)},S=(x,O=[],N,U,z=!0,K=!0)=>{if(U&&N&&!t.disabled){if(o.action=!0,K&&Array.isArray(H(n,x))){const V=N(H(n,x),U.argA,U.argB);z&&Le(n,x,V)}if(K&&Array.isArray(H(r.errors,x))){const V=N(H(r.errors,x),U.argA,U.argB);z&&Le(r.errors,x,V),RO(r.errors,x)}if((f.touchedFields||g.touchedFields)&&K&&Array.isArray(H(r.touchedFields,x))){const V=N(H(r.touchedFields,x),U.argA,U.argB);z&&Le(r.touchedFields,x,V)}(f.dirtyFields||g.dirtyFields)&&b(),m.state.next({name:x,isDirty:B(x,O),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Le(i,x,O)},w=(x,O)=>{Le(r.errors,x,O),r.errors={...r.errors},m.state.next({errors:r.errors})},C=x=>{r.errors=x,m.state.next({errors:r.errors,isValid:!1})},I=x=>{const O=Qs(x)?[x]:co(x);let N=i,U=s;for(let z=0;z<O.length-1;z++){const K=O[z];if(N=lt(N)?N:N[K],U=lt(U)?U:U[K],N===null&&U!==null)return!0}return!1},j=(x,O,N,U)=>{const z=H(n,x);if(z){if(I(x))return;const K=$e(H(i,x)),V=H(i,x,$e(N)?H(s,x):N);$e(V)||U&&U.defaultChecked||O?Le(i,x,O?V:ju(z._f)):ve(x,V),o.mount&&!o.action&&(y(),K&&r.isDirty&&(f.isDirty||g.isDirty)&&(B()||(r.isDirty=!1,m.state.next({...r}))),e.shouldUnregister&&K&&!$e(H(i,x))&&zo(x,a)&&(o.watch=!0))}},k=(x,O,N,U,z)=>{let K=!1,V=!1;const te={name:x};if(!t.disabled){if(!N||U){(f.isDirty||g.isDirty)&&(V=r.isDirty,r.isDirty=te.isDirty=B(),K=V!==te.isDirty);const ye=Pt(H(s,x),O);V=!!H(r.dirtyFields,x),ye!==r.isDirty?r.dirtyFields=Vr(s,i):ye?Ye(r.dirtyFields,x):Le(r.dirtyFields,x,!0),te.dirtyFields=r.dirtyFields,K=K||(f.dirtyFields||g.dirtyFields)&&V!==!ye}if(N){const ye=H(r.touchedFields,x);ye||(Le(r.touchedFields,x,N),te.touchedFields=r.touchedFields,K=K||(f.touchedFields||g.touchedFields)&&ye!==N)}K&&z&&m.state.next(te)}return K?te:{}},M=(x,O,N,U)=>{const z=H(r.errors,x),K=(f.isValid||g.isValid)&&At(O)&&r.isValid!==O;if(t.delayError&&N?(c=h(()=>w(x,N)),c(t.delayError)):(clearTimeout(d),c=null,N?Le(r.errors,x,N):Ye(r.errors,x),r.errors={...r.errors}),(N?!Pt(z,N):z)||!nt(U)||K){const V={...U,...K&&At(O)?{isValid:O}:{},errors:r.errors,name:x};r={...r,...V},m.state.next(V)}},T=async x=>(v(x,!0),await t.resolver(i,t.context,OO(x||a.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),A=async x=>{const{errors:O}=await T(x);if(v(x),x){for(const N of x){const U=H(O,N);U?a.array.has(N)&&He(U)&&!Object.keys(U).some(z=>!Number.isNaN(Number(z)))?Pu(r.errors,{[N]:U},N):Le(r.errors,N,U):Ye(r.errors,N)}r.errors={...r.errors}}else r.errors=O;return O},F=async({name:x,eventType:O})=>{if(e.validate){const N=await e.validate({formValues:i,formState:r,name:x,eventType:O});if(He(N))for(const U in N){const z=N[U];z&&Me(`${Bo}.${U}`,{message:vt(z.message)?z.message:"",type:z.type||Ht.validate})}else vt(N)||!N?Me(Bo,{message:N||"",type:Ht.validate}):Se(Bo);return N}return!0},R=async({fields:x,onlyCheckValid:O,name:N,eventType:U,context:z={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(z.runRootValidation=!0,!await F({name:N,eventType:U})&&(z.valid=!1,O)))return z.valid;for(const K in x){const V=x[K];if(V){const{_f:te,...ye}=V;if(te){const Ve=a.array.has(te.name),xt=V._f&&DO(V._f),Ct=f.validatingFields||f.isValidating||g.validatingFields||g.isValidating;xt&&Ct&&v([te.name],!0);const dr=await Lu(V,a.disabled,i,_,t.shouldUseNativeValidation&&!O,Ve);if(xt&&Ct&&v([te.name]),dr[te.name]&&(z.valid=!1,O)||(!O&&(H(dr,te.name)?Ve?Pu(r.errors,dr,te.name):Le(r.errors,te.name,dr[te.name]):Ye(r.errors,te.name)),e.shouldUseNativeValidation&&dr[te.name]))break}!nt(ye)&&await R({context:z,onlyCheckValid:O,fields:ye,name:K,eventType:U})}}return z.valid},L=()=>{for(const x of a.unMount){const O=H(n,x);O&&(O._f.refs?O._f.refs.every(N=>!Uo(N)):!Uo(O._f.ref))&&ke(x)}a.unMount=new Set},B=(x,O)=>!t.disabled&&(x&&O&&Le(i,x,O),!Pt(Q(),s)),Z=(x,O,N)=>ka(x,a,{...o.mount?i:$e(O)?s:vt(x)?{[x]:O}:O},N,O),se=x=>Lh(H(o.mount?i:s,x,t.shouldUnregister?H(s,x,[]):[])),ve=(x,O,N={},U=!1)=>{const z=H(n,x);let K=O;if(z){const V=z._f;V&&(!V.disabled&&Le(i,x,zh(O,V)),K=Fi(V.ref)&&lt(O)?"":O,$h(V.ref)?[...V.ref.options].forEach(te=>te.selected=K.includes(te.value)):V.refs?Ws(V.ref)?V.refs.forEach(te=>{(!te.defaultChecked||!te.disabled)&&(Array.isArray(K)?te.checked=!!K.find(ye=>ye===te.value):te.checked=K===te.value||!!K)}):V.refs.forEach(te=>te.checked=te.value===K):xl(V.ref)?V.ref.value="":(V.ref.value=K,V.ref.type||m.state.next({name:x,values:U?i:Qe(i)})))}(N.shouldDirty||N.shouldTouch)&&k(x,K,N.shouldTouch,N.shouldDirty,!0),N.shouldValidate&&Y(x)},we=(x,O,N,U=!1)=>{for(const z in O){if(!O.hasOwnProperty(z))return;const K=O[z],V=x+"."+z,te=H(n,V);(a.array.has(x)||He(K)||te&&!te._f)&&!Qr(K)?we(V,K,N,U):ve(V,K,N,U)}},le=(x,O,N,U)=>{const z=H(n,x),K=a.array.has(x),V=U?O:Qe(O),te=H(i,x),ye=Pt(te,V);if(ye||Le(i,x,V),K)m.array.next({name:x,values:U?i:Qe(i)}),(f.isDirty||f.dirtyFields||g.isDirty||g.dirtyFields)&&N.shouldDirty&&(b(),m.state.next({name:x,dirtyFields:r.dirtyFields,isDirty:B(x,V)}));else{const Ve=Array.isArray(V)&&!V.length||nt(V);!z||z._f||lt(V)||Ve?ve(x,V,N,U):we(x,V,N,U)}if(!ye){const Ve=zo(x,a),xt=U?i:Qe(i);m.state.next({...Ve&&r,name:o.mount||Ve?x:void 0,values:xt})}},W=(x,O,N={})=>le(x,O,N,!1),J=(x,O={})=>{const N=yt(x)?x(i):x;if(!Pt(i,N)){i={...i,...N};for(const U of a.mount)le(U,H(N,U),O,!0);m.state.next({...r,name:void 0,type:void 0,values:i}),O.shouldValidate&&y()}},ie=async x=>{o.mount=!0;const O=x.target;let N=O.name,U=!0;const z=H(n,N),K=ye=>{U=Number.isNaN(ye)||Qr(ye)&&isNaN(ye.getTime())||Pt(ye,H(i,N,ye))},V=Ru(t.mode),te=Ru(t.reValidateMode);if(z){let ye,Ve;const xt=O.type?ju(z._f):Ra(x),Ct=x.type===Or.BLUR||x.type===Or.FOCUS_OUT,dr=!IO(z._f)&&!e.validate&&!t.resolver&&!H(r.errors,N)&&!z._f.deps||jO(Ct,H(r.touchedFields,N),r.isSubmitted,te,V),Yn=zo(N,a,Ct);Le(i,N,xt),Ct?(!O||!O.readOnly)&&(z._f.onBlur&&z._f.onBlur(x),c&&c(0)):z._f.onChange&&z._f.onChange(x);const Br=k(N,xt,Ct),et=!nt(Br)||Yn;if(!Ct&&m.state.next({name:N,type:x.type,values:Qe(i)}),dr)return(f.isValid||g.isValid)&&(t.mode==="onBlur"?Ct&&y():Ct||y()),et&&m.state.next({name:N,...Yn?{}:Br});if(!t.resolver&&e.validate&&await F({name:N,eventType:x.type}),!Ct&&Yn&&m.state.next({...r}),t.resolver){const{errors:dt}=await T([N]);if(v([N]),K(xt),!U){!nt(Br)&&m.state.next(Br);return}const _t=Au(r.errors,n,N),Vt=Au(dt,n,_t.name||N);ye=Vt.error,N=Vt.name,Ve=nt(dt)}else v([N],!0),ye=(await Lu(z,a.disabled,i,_,t.shouldUseNativeValidation))[N],v([N]),K(xt),U&&(ye?Ve=!1:(f.isValid||g.isValid)&&(Ve=await R({fields:n,onlyCheckValid:!0,name:N,eventType:x.type})));U&&(z._f.deps&&(!Array.isArray(z._f.deps)||z._f.deps.length>0)&&Y(z._f.deps),M(N,Ve,ye,Br))}},$=(x,O)=>{if(H(r.errors,O)&&x.focus)return x.focus(),1},Y=async(x,O={})=>{let N,U;const z=Ci(x);if(t.resolver){const K=await A($e(x)?x:z);N=nt(K),U=x?!z.some(V=>H(K,V)):N}else x?(U=(await Promise.all(z.map(async K=>{const V=H(n,K);return await R({fields:V&&V._f?{[K]:V}:V,eventType:Or.TRIGGER})}))).every(Boolean),!(!U&&!r.isValid)&&y()):U=N=await R({fields:n,name:x,eventType:Or.TRIGGER});return m.state.next({...!vt(x)||(f.isValid||g.isValid)&&N!==r.isValid?{}:{name:x},...t.resolver||!x?{isValid:N}:{},errors:r.errors}),O.shouldFocus&&!U&&vs(n,$,x?z:a.mount),U},Q=(x,O)=>{let N={...o.mount?i:s};return O&&(N=Fh(O.dirtyFields?r.dirtyFields:r.touchedFields,N)),$e(x)?N:vt(x)?H(N,x):x.map(U=>H(N,U))},de=(x,O)=>({invalid:!!H((O||r).errors,x),isDirty:!!H((O||r).dirtyFields,x),error:H((O||r).errors,x),isValidating:!!H(r.validatingFields,x),isTouched:!!H((O||r).touchedFields,x)}),Se=x=>{const O=x?Ci(x):void 0;O==null||O.forEach(N=>Ye(r.errors,N)),O?O.forEach(N=>{m.state.next({name:N,errors:r.errors})}):m.state.next({errors:{}})},Me=(x,O,N)=>{const U=(H(n,x,{_f:{}})._f||{}).ref,z=H(r.errors,x)||{},{ref:K,message:V,type:te,...ye}=z;Le(r.errors,x,{...ye,...O,ref:U}),m.state.next({name:x,errors:r.errors,isValid:!1}),N&&N.shouldFocus&&U&&U.focus&&U.focus()},me=(x,O)=>yt(x)?m.state.subscribe({next:N=>"values"in N&&x(N.values||Z(void 0,O),N)}):Z(x,O,!0),ce=x=>m.state.subscribe({next:O=>{if(NO(x.name,O.name,x.exact)&&TO(O,x.formState||f,cr,x.reRenderRoot)){const N={...i};x.callback({values:N,...r,...O,defaultValues:s})}}}).unsubscribe,pe=x=>(o.mount=!0,g={...g,...x.formState},ce({...x,formState:{...u,...x.formState}})),ke=(x,O={})=>{for(const N of x?Ci(x):a.mount)a.mount.delete(N),a.array.delete(N),O.keepValue||(Ye(n,N),Ye(i,N)),!O.keepError&&Ye(r.errors,N),!O.keepDirty&&Ye(r.dirtyFields,N),!O.keepTouched&&Ye(r.touchedFields,N),!O.keepIsValidating&&Ye(r.validatingFields,N),!t.shouldUnregister&&!O.keepDefaultValue&&Ye(s,N);m.state.next({values:Qe(i)}),m.state.next({...r,...O.keepDirty?{isDirty:B()}:{}}),!O.keepIsValid&&y()},Ue=({disabled:x,name:O})=>{if(At(x)&&o.mount||x||a.disabled.has(O)){const z=a.disabled.has(O)!==!!x;x?a.disabled.add(O):a.disabled.delete(O),z&&o.mount&&!o.action&&y()}},De=(x,O={})=>{let N=H(n,x);const U=At(O.disabled)||At(t.disabled),z=!a.registerName.has(x)&&N&&N._f&&!N._f.mount;return Le(n,x,{...N||{},_f:{...N&&N._f?N._f:{ref:{name:x}},name:x,mount:!0,...O}}),a.mount.add(x),N&&!z?Ue({disabled:At(O.disabled)?O.disabled:t.disabled,name:x}):j(x,!0,O.value),{...U?{disabled:O.disabled||t.disabled}:{},...t.progressive?{required:!!O.required,min:os(O.min),max:os(O.max),minLength:os(O.minLength),maxLength:os(O.maxLength),pattern:os(O.pattern)}:{},name:x,onChange:ie,onBlur:ie,ref:K=>{if(K){a.registerName.add(x),De(x,O),a.registerName.delete(x),N=H(n,x);const V=$e(K.value)&&K.querySelectorAll&&K.querySelectorAll("input,select,textarea")[0]||K,te=SO(V),ye=N._f.refs||[];if(te?ye.find(Ve=>Ve===V):V===N._f.ref)return;Le(n,x,{_f:{...N._f,...te?{refs:[...ye.filter(Uo),V,...Array.isArray(H(s,x))?[{}]:[]],ref:{type:V.type,name:x}}:{ref:V}}}),j(x,!1,void 0,V)}else N=H(n,x,{}),N._f&&(N._f.mount=!1),(t.shouldUnregister||O.shouldUnregister)&&!(Rh(a.array,x)&&o.action)&&a.unMount.add(x)}}},ee=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&vs(n,$,a.mount),ze=x=>{At(x)&&(m.state.next({disabled:x}),vs(n,(O,N)=>{const U=H(n,N);U&&(O.disabled=U._f.disabled||x,Array.isArray(U._f.refs)&&U._f.refs.forEach(z=>{z.disabled=U._f.disabled||x}))},0,!1))},Xe=(x,O)=>async N=>{let U;N&&(N.preventDefault&&N.preventDefault(),N.persist&&N.persist());let z=Qe(i);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:K,values:V}=await T();v(),r.errors=K,z=Qe(V)}else await R({fields:n,eventType:Or.SUBMIT});if(a.disabled.size)for(const K of a.disabled)Ye(z,K);if(Ye(r.errors,Ah),nt(r.errors)){m.state.next({errors:{}});try{await x(z,N)}catch(K){U=K}}else O&&await O({...r.errors},N),ee(),setTimeout(ee);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nt(r.errors)&&!U,submitCount:r.submitCount+1,errors:r.errors}),U)throw U},q=(x,O={})=>{H(n,x)&&($e(O.defaultValue)?W(x,Qe(H(s,x))):(W(x,O.defaultValue),Le(s,x,Qe(O.defaultValue))),O.keepTouched||Ye(r.touchedFields,x),O.keepDirty||(Ye(r.dirtyFields,x),r.isDirty=O.defaultValue?B(x,Qe(H(s,x))):B()),O.keepError||(Ye(r.errors,x),f.isValid&&y()),m.state.next({...r}))},re=(x,O={})=>{const N=x?Qe(x):s,U=Qe(N),z=nt(x),K=U;if(O.keepDefaultValues||(s=N),!O.keepValues){if(O.keepDirtyValues){const V=new Set([...a.mount,...Object.keys(Vr(s,i))]);for(const te of Array.from(V)){const ye=H(r.dirtyFields,te),Ve=H(i,te),xt=H(K,te);ye&&!$e(Ve)?Le(K,te,Ve):!ye&&!$e(xt)&&W(te,xt)}}else{if(lo&&$e(x))for(const V of a.mount){const te=H(n,V);if(te&&te._f){const ye=Array.isArray(te._f.refs)?te._f.refs[0]:te._f.ref;if(Fi(ye)){const Ve=ye.closest("form");if(Ve){Ve.reset();break}}}}if(O.keepFieldsRef)for(const V of a.mount)W(V,H(K,V));else n={}}if(t.shouldUnregister){if(i=O.keepDefaultValues?Qe(s):{},O.keepFieldsRef)for(const V of a.mount)Le(i,V,H(K,V))}else i=Qe(K);m.array.next({values:{...K}}),m.state.next({values:{...K}})}a={mount:O.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||!!O.keepIsValid||!!O.keepDirtyValues||!t.shouldUnregister&&!nt(K),o.watch=!!t.shouldUnregister,o.keepIsValid=!!O.keepIsValid,o.action=!1,O.keepErrors||(r.errors={}),m.state.next({submitCount:O.keepSubmitCount?r.submitCount:0,isDirty:z?!1:O.keepDirty?r.isDirty:O.keepValues?B():!!(O.keepDefaultValues&&!Pt(x,s)),isSubmitted:O.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:z?{}:O.keepDirtyValues?O.keepDefaultValues&&i?Vr(s,i):r.dirtyFields:O.keepDefaultValues&&x?Vr(s,x):O.keepDirty?r.dirtyFields:{},touchedFields:O.keepTouched?r.touchedFields:{},errors:O.keepErrors?r.errors:{},isSubmitSuccessful:O.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oe=(x,O)=>re(yt(x)?x(i):x,{...t.resetOptions,...O}),We=(x,O={})=>{const N=H(n,x),U=N&&N._f;if(U){const z=U.refs?U.refs[0]:U.ref;z.focus&&setTimeout(()=>{z.focus(),O.shouldSelect&&yt(z.select)&&z.select()})}},cr=x=>{r={...r,...x}},fn={control:{register:De,unregister:ke,getFieldState:de,handleSubmit:Xe,setError:Me,_subscribe:ce,_runSchema:T,_updateIsValidating:v,_focusError:ee,_getWatch:Z,_getDirty:B,_setValid:y,_setFieldArray:S,_setDisabledField:Ue,_setErrors:C,_getFieldArray:se,_reset:re,_resetDefaultValues:()=>yt(t.defaultValues)&&t.defaultValues().then(x=>{oe(x,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:L,_disableForm:ze,_subjects:m,_proxyFormState:f,get _fields(){return n},get _formValues(){return i},get _state(){return o},set _state(x){o=x},get _defaultValues(){return s},get _names(){return a},set _names(x){a=x},get _formState(){return r},get _options(){return t},set _options(x){t={...t,...x}}},subscribe:pe,trigger:Y,register:De,handleSubmit:Xe,watch:me,setValue:W,setValues:J,getValues:Q,reset:oe,resetField:q,resetDefaultValues:(x,O={})=>{if(s=Qe(x),!O.keepDirty){const N=Vr(s,i);r.dirtyFields=N,r.isDirty=!nt(N)}O.keepIsValid||y(),m.state.next({...r,defaultValues:s})},clearErrors:Se,unregister:ke,setError:Me,setFocus:We,getFieldState:de};return{...fn,formControl:fn}}function PO(e={}){const t=p.useRef(void 0),r=p.useRef(void 0),n=p.useRef(e.formControl),[s,i]=p.useState(()=>({...Qe(qh),isLoading:yt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:yt(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&&!yt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...c}=AO(e);t.current={...c,formState:s}}const o=t.current.control;return o._options=e,wl(()=>{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]),p.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),p.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),p.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),p.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),p.useEffect(()=>{if(o._proxyFormState.isDirty){const a=o._getDirty();a!==s.isDirty&&o._subjects.state.next({isDirty:a})}},[o,s.isDirty]),p.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]),p.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=p.useMemo(()=>Mh(s,o),[o,s]),t.current}async function Fu(e){var r,n;return(n=(r=(await Re.get(`/api/framework/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.framework}async function MO(e){var r,n;return((n=(r=(await Re.post("/action/composite/v3/search",{request:{filters:{objectType:"Framework",status:["Live"],...e.type?{type:e.type}:{},...e.identifier?{identifier:e.identifier}:{},...e.channel?{channel:e.channel}:{},...e.systemDefault?{systemDefault:e.systemDefault}:{}}}})).data)==null?void 0:r.result)==null?void 0:n.Framework)??[]}function Hh(e,t){const r=Ss({queryKey:["framework",e],queryFn:()=>Fu(e),enabled:!!e,staleTime:3e5}),n=t==null?void 0:t[0],s=Ss({queryKey:["framework",n],queryFn:()=>Fu(n),enabled:!!n,staleTime:5*60*1e3}),i=s.data?[s.data]:[];return{organisationFramework:r.data,targetFrameworks:i,isLoading:r.isLoading||s.isLoading}}function LO(e,t,r){const n=e??[],s=new Set(n.map(u=>u.type).filter(Boolean)),i=(t??[]).filter(u=>!s.has(u)),{data:o}=Ss({queryKey:["framework-search",i.sort().join(","),r],queryFn:()=>MO({type:i,systemDefault:"Yes"}),enabled:i.length>0,staleTime:10*60*1e3}),a=t&&t.length?n.filter(u=>u.type&&t.includes(u.type)):n,c=[...(o??[]).map(u=>({label:u.name,value:u.identifier})),...a.map(u=>({label:u.name,value:u.identifier}))],d=new Set;return c.filter(u=>d.has(u.value)?!1:(d.add(u.value),!0))}async function FO(e){var r,n;return(n=(r=(await Re.get(`/api/channel/v1/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.channel}function $O(e){var r,n,s,i,o,a;const t=Ss({queryKey:["channel",e],queryFn:()=>FO(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 BO={"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."},"Third 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."},"Sixth Section":{title:"Licensing & Attribution",description:"Copyright and usage rights information."}},UO=new Set(["review","read","sourcingreview","orgreview"]),ni={"First Section":"details","Second Section":"details","Third Section":"details","Organisation Framework Terms":"details","Target Framework Terms":"audience","Fourth Section":"licensing","Sixth Section":"licensing"},zO={Categorisation:"Second Section","Basic Information":"First Section","Licensing & Attribution":"Fourth Section",Curriculum:"Organisation Framework Terms","Target Audience":"Target Framework Terms"},VO={name:"details",description:"details",keywords:"details",appIcon:"details",primaryCategory:"details",additionalCategories:"details",board:"details",boardIds:"details",subject:"details",subjectIds:"details",medium:"details",framework:"details",topicsIds:"details",topic:"details",dialcodeRequired:"details",dialcodes:"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"},El={board:"board",boardIds:"board",medium:"medium",gradeLevel:"gradeLevel",subject:"subject",subjectIds:"subject",topicsIds:"topic",topic:"topic",targetBoardIds:"board",targetMediumIds:"medium",targetGradeLevelIds:"gradeLevel",targetSubjectIds:"subject"},Wh=new Set(["targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds"]);function qO(e,t,r,n,s={}){if(!(e!=null&&e.length))return sD(t,n,r);const i=new Map;for(const a of e){const c=a.code;c&&!i.has(c)&&i.set(c,a)}const o=new Set;return e.filter(a=>{if(n&&(a.code==="dialCode"||a.code==="dialcode")||a.visible===!1)return!1;const c=a.code;return o.has(c)?!1:(o.add(c),!0)}).map(a=>{const c=a.code??"",d=XO(a),u=ZO(a,r,t,i,s),f=t[c],g=WO(c,Qh(f,d),d,t,s),m={code:c,label:a.label??c,inputType:d,required:!!(a.required===!0||Array.isArray(a.validations)&&a.validations.some(_=>_.type==="required")),editable:HO(c,a.editable!==!1,s),placeholder:a.placeholder,maxLength:a.maxLength,options:GO(u,g,d,r),depends:a.depends,tab:YO(a),section:a.section,defaultValue:a.defaultValue??a.default,currentValue:g};if(c==="dialcodes"){const _=t.dialcodeRequired==="Yes";return{...m,required:_,visible:_}}return m})}function HO(e,t,r){var i;const n=r.editorMode??"edit";if(!UO.has(n))return t!==!1;const s=(i=r.editableFields)==null?void 0:i[n];return!!(s&&s.includes(e))}function WO(e,t,r,n,s){const i=t==null||t===""||Array.isArray(t)&&t.length===0;switch(e){case"license":return i?s.defaultLicense??"":t;case"copyright":return i&&s.setDefaultCopyRight&&s.channelName?s.channelName:t;case"author":case"creator":return i&&s.userFullName?s.userFullName:t;case"instructions":{const o=n.instructions;return o&&typeof o=="object"&&!Array.isArray(o)?o.default??"":typeof t=="object"&&t!==null?"":t}case"maxTime":case"warningTime":{if(!i)return t;const o=n.timeLimits,a=o==null?void 0:o[e];return a!=null&&a!==""?QO(Number(a)):t}default:return t}}function QO(e){if(!Number.isFinite(e)||e<0)return"";const t=Math.floor(e%60),r=Math.floor(e/60%60),n=Math.floor(e/3600),s=i=>String(i).padStart(2,"0");return n>0?`${s(n)}:${s(r)}:${s(t)}`:`${s(r)}:${s(t)}`}function KO(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 GO(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=KO(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 YO(e){const t=e.section;if(t){if(ni[t])return ni[t];const n=zO[t];if(n&&ni[n])return ni[n]}const r=e.code??"";return VO[r]??"details"}function Qh(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 XO(e){const t=(e.inputType??e.dataType??"").toLowerCase(),n=(e.dataType??"").toLowerCase()==="list";return t==="select"?"select":t==="framework"||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 ZO(e,t,r,n,s){const i=e.code??"";if(i==="maxQuestions"){const d=s.childCount??0;if(d>0)return Array.from({length:d},(u,f)=>({label:String(f+1),value:String(f+1)}))}const o=e.range;if(Array.isArray(o)&&o.length)return typeof o[0]=="string"?o.map(d=>({label:d,value:d})):o.map(d=>({label:d.name,value:d.identifier}));const a=e.enum;if(a!=null&&a.length)return a.map(d=>({label:d,value:d}));if(i==="framework")return t.orgFrameworks;if(i==="additionalCategories"){const u=(s.objectType??"")==="QuestionSet"?s.contentAdditionalCategories??s.collectionAdditionalCategories:s.collectionAdditionalCategories??s.contentAdditionalCategories,f=(u&&u.length?u:s.contextAdditionalCategories)??t.channelAdditionalCategories;return f!=null&&f.length?rD(f).map(g=>({label:g,value:g})):void 0}const c=e.sourceCategory??El[i];if(c)return Kh(i,c,e,t,r,n)}function JO(e,t){return Wh.has(e)||t.output==="identifier"||typeof t.section=="string"&&t.section.includes("Target")}function eD(e,t){return Wh.has(e)||typeof t.section=="string"&&t.section.includes("Target")}function Vo(e,t,r){var i,o,a,c,d;const n=(o=(i=e.organisationFramework)==null?void 0:i.categories)==null?void 0:o.find(u=>u.code===t),s=(d=(c=(a=e.targetFrameworks)==null?void 0:a[0])==null?void 0:c.categories)==null?void 0:d.find(u=>u.code===t);return r?(s==null?void 0:s.terms)??(n==null?void 0:n.terms)??[]:(n==null?void 0:n.terms)??(s==null?void 0:s.terms)??[]}function tD(e){const t=new Set,r=[];for(const n of e){const s=n.identifier??n.name;s&&!t.has(s)&&(t.add(s),r.push(n))}return r}function rD(e){return Array.from(new Set(e))}function nD(e){return Array.isArray(e)?e:e!=null&&e!==""?[e]:[]}function Kh(e,t,r,n,s,i){const o=JO(e,r),a=eD(e,r),c=h=>({label:h.name,value:o?h.identifier:h.name}),d=r.depends;if(!(d!=null&&d.length))return Vo(n,t,a).map(c);const u=d.flatMap(h=>nD(s[h])).map(String);if(!u.length)return[];const f=[];for(const h of d){const y=i.get(h),v=(y==null?void 0:y.sourceCategory)??El[h]??h;f.push(...Vo(n,v,a))}const m=f.filter(h=>u.includes(String(h.name))||u.includes(String(h.identifier))||u.includes(String(h.code))).flatMap(h=>h.associations??[]).filter(h=>String(h.category??"").toLowerCase()===t.toLowerCase()),_=tD(m);return _.length?_.map(c):Vo(n,t,a).map(c)}function as(e,t){const r=El[e];if(r)return Kh(e,r,{},t,{},new Map)}function at(e,t,r){return Qh(e[t],r)}function sD(e,t,r){var s;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")},{code:"additionalCategories",label:"Additional Category",inputType:"multiselect",editable:!0,tab:"details",section:"Second Section",currentValue:at(e,"additionalCategories","multiselect"),options:(s=r.channelAdditionalCategories)==null?void 0:s.map(i=>({label:i,value:i}))},{code:"framework",label:"Course Type",inputType:"select",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:r.orgFrameworks,currentValue:at(e,"framework","select")},{code:"subjectIds",label:"Subjects covered",inputType:"multiselect",required:!0,editable:!0,tab:"details",section:"Organisation Framework Terms",options:as("subjectIds",r),currentValue:at(e,"subjectIds","multiselect")}),n.push({code:"audience",label:"Audience Type",inputType:"multiselect",editable:!0,tab:"audience",section:"Target Framework Terms",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:as("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:as("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:as("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:as("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",currentValue:at(e,"license","select")})),n}const iD=["allowECM","levels","setPeriod","instances"];function Gh(e){const t={};return e.forEach((r,n)=>{t[`L${n+1}`]={label:r}}),t}function oD(e,t={}){const r={...e};for(const i of iD)delete r[i];const n=e.levels;Array.isArray(n)&&n.length&&(r.outcomeDeclaration={levels:Gh(n)});const s=e.instances;return s!=null&&s!==""&&(r.instances={label:s}),t.isReview&&(r.name===void 0||r.name===null||r.name==="")&&t.nodeTitle&&(r.name=t.nodeTitle),r}function aD(e,t){return e==="allowECM"||e==="setPeriod"?null:e==="levels"?{outcomeDeclaration:{levels:Array.isArray(t)?Gh(t):{}}}:e==="instances"?{instances:t!=null&&t!==""?{label:t}:""}:{[e]:t}}function lD(e,t){const{watch:r,setValue:n}=e,s=p.useRef(!1);p.useEffect(()=>{const i=r((o,{name:a})=>{var c;if(!(!a||s.current)){s.current=!0;try{const d=new Set([a]);let u=!0;for(;u;){u=!1;for(const f of t)d.has(f.code)||(c=f.depends)!=null&&c.some(g=>d.has(g))&&(n(f.code,f.inputType==="multiselect"||f.inputType==="chips"?[]:"",{shouldDirty:!0}),d.add(f.code),u=!0)}}finally{s.current=!1}}});return()=>i.unsubscribe()},[r,n,t])}const cD="_section_ylgu8_1",uD="_header_ylgu8_11",dD="_title_ylgu8_17",fD="_description_ylgu8_24",hD="_divider_ylgu8_30",pD="_fields_ylgu8_36",Sn={section:cD,header:uD,title:dD,description:fD,divider:hD,fields:pD},gD=({title:e,description:t,children:r})=>l.jsxs("div",{className:Sn.section,children:[l.jsxs("div",{className:Sn.header,children:[l.jsx("h3",{className:Sn.title,children:e}),t&&l.jsx("p",{className:Sn.description,children:t})]}),l.jsx("hr",{className:Sn.divider}),l.jsx("div",{className:Sn.fields,children:r})]}),mD="_field_1s288_1",yD="_fullWidth_1s288_7",vD="_label_1s288_11",bD="_required_1s288_19",_D="_input_1s288_24",wD="_textarea_1s288_45",SD="_inputError_1s288_50",xD="_error_1s288_54",CD="_selectBtn_1s288_59",ED="_selectOpen_1s288_83",OD="_placeholder_1s288_87",DD="_selectedVal_1s288_91",ID="_chevronUp_1s288_95",TD="_dropdown_1s288_100",ND="_option_1s288_116",jD="_optionSelected_1s288_134",RD="_noOpts_1s288_139",kD="_chipGroup_1s288_146",AD="_chipInput_1s288_158",PD="_addChipBtn_1s288_167",MD="_radioGroup_1s288_184",LD="_radioLabel_1s288_191",FD="_iconWrap_1s288_199",$D="_iconPreview_1s288_214",BD="_iconPlaceholder_1s288_220",UD="_removeIconBtn_1s288_233",zD="_tagChip_1s288_252",VD="_tagChipRemove_1s288_264",qD="_nestedSelectRow_1s288_278",HD="_dialcodeRow_1s288_287",WD="_validateBtn_1s288_293",QD="_dialcodeValid_1s288_315",KD="_dialcodeSpinner_1s288_325",P={field:mD,fullWidth:yD,label:vD,required:bD,input:_D,textarea:wD,inputError:SD,error:xD,selectBtn:CD,selectOpen:ED,placeholder:OD,selectedVal:DD,chevronUp:ID,dropdown:TD,option:ND,optionSelected:jD,noOpts:RD,chipGroup:kD,chipInput:AD,addChipBtn:PD,radioGroup:MD,radioLabel:LD,iconWrap:FD,iconPreview:$D,iconPlaceholder:BD,removeIconBtn:UD,tagChip:zD,tagChipRemove:VD,nestedSelectRow:qD,dialcodeRow:HD,validateBtn:WD,dialcodeValid:QD,dialcodeSpinner:KD},$u=({name:e,label:t,required:r,disabled:n,multiline:s,maxLength:i,placeholder:o})=>{const{register:a,formState:{errors:c}}=Xt(),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:[P.field,s?P.fullWidth:""].join(" "),children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),s?l.jsx("textarea",{id:e,className:[P.input,P.textarea,d?P.inputError:""].join(" "),disabled:n,placeholder:o,rows:3,...a(e,u)}):l.jsx("input",{id:e,type:"text",className:[P.input,d?P.inputError:""].join(" "),disabled:n,placeholder:o,...a(e,u)}),d&&l.jsx("span",{className:P.error,children:String(d.message)})]})},GD=({name:e,label:t,options:r,required:n,disabled:s})=>{var h;const[i,o]=p.useState(!1),a=p.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Xt(),g=d(e),m=((h=r.find(y=>y.value===g))==null?void 0:h.label)??"Select…",_=f[e];return p.useEffect(()=>{if(!i)return;const y=v=>{var b;(b=a.current)!=null&&b.contains(v.target)||o(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[i]),l.jsxs("div",{className:P.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[P.selectBtn,_?P.inputError:"",i?P.selectOpen:""].join(" "),onClick:()=>o(y=>!y),children:[l.jsx("span",{className:g?P.selectedVal:P.placeholder,children:m}),l.jsx(Bs,{size:14,className:i?P.chevronUp:""})]}),i&&l.jsxs("div",{className:P.dropdown,children:[r.map(y=>l.jsxs("button",{type:"button",className:[P.option,g===y.value?P.optionSelected:""].join(" "),onClick:()=>{u(e,y.value,{shouldDirty:!0,shouldValidate:!0}),o(!1)},children:[l.jsx("span",{children:y.label}),g===y.value&&l.jsx(Wn,{size:13})]},y.value)),!r.length&&l.jsx("span",{className:P.noOpts,children:"No options"})]}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},YD=({name:e,label:t,options:r,required:n,disabled:s})=>{const[i,o]=p.useState(!1),a=p.useRef(null),{register:c,watch:d,setValue:u,formState:{errors:f}}=Xt(),g=d(e)??[],m=f[e],_=g.length?`${g.length} selected`:"Select…";p.useEffect(()=>{if(!i)return;const y=v=>{var b;(b=a.current)!=null&&b.contains(v.target)||o(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[i]);const h=y=>{const v=g.includes(y)?g.filter(b=>b!==y):[...g,y];u(e,v,{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:P.field,ref:a,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...c(e,{required:n?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:s,className:[P.selectBtn,m?P.inputError:"",i?P.selectOpen:""].join(" "),onClick:()=>o(y=>!y),children:[l.jsx("span",{className:g.length?P.selectedVal:P.placeholder,children:_}),l.jsx(Bs,{size:14,className:i?P.chevronUp:""})]}),i&&l.jsxs("div",{className:P.dropdown,children:[r.map(y=>l.jsxs("button",{type:"button",className:[P.option,g.includes(y.value)?P.optionSelected:""].join(" "),onClick:()=>h(y.value),children:[l.jsx(Wn,{size:13,style:{opacity:g.includes(y.value)?1:0}}),l.jsx("span",{children:y.label})]},y.value)),!r.length&&l.jsx("span",{className:P.noOpts,children:"No options"})]}),m&&l.jsx("span",{className:P.error,children:String(m.message)})]})},XD=({name:e,label:t,required:r,disabled:n,placeholder:s="Add…"})=>{const[i,o]=p.useState(""),[a,c]=p.useState(!1),d=p.useRef(null),{watch:u,setValue:f,formState:{errors:g}}=Xt(),m=u(e)??[],_=g[e],h=()=>{const v=i.trim();v&&!m.includes(v)&&f(e,[...m,v],{shouldDirty:!0}),o(""),c(!1)},y=v=>f(e,m.filter(b=>b!==v),{shouldDirty:!0});return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:P.chipGroup,children:[m.map(v=>l.jsxs("span",{className:"sbx-chip filled",children:[v,!n&&l.jsx("button",{type:"button",className:"sbx-chip-remove",onClick:()=>y(v),"aria-label":`Remove ${v}`,children:"×"})]},v)),!n&&(a?l.jsx("input",{ref:d,autoFocus:!0,className:P.chipInput,value:i,onChange:v=>o(v.target.value),onKeyDown:v=>{v.key==="Enter"&&(v.preventDefault(),h()),v.key==="Escape"&&(o(""),c(!1))},onBlur:h,placeholder:s}):l.jsxs("button",{type:"button",className:P.addChipBtn,onClick:()=>{c(!0),setTimeout(()=>{var v;return(v=d.current)==null?void 0:v.focus()},50)},children:[l.jsx(Us,{size:12})," Add"]}))]}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},ZD=({name:e,label:t,options:r,required:n,disabled:s})=>{const{register:i,formState:{errors:o}}=Xt(),a=o[e];return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("div",{className:P.radioGroup,children:r.map(c=>l.jsxs("label",{className:P.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:P.error,children:String(a.message)})]})};async function JD(e,t,r,n){var o,a;const i=(a=(o=(await Re.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 eI(e,t){var s,i;const n=(i=(s=(await Re.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 tI(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 rI(e,t,r){var o,a;const n=new FormData;n.append("fileUrl",t),n.append("mimeType",r);const i=(a=(o=(await Re.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 nI="_overlay_ga6eh_1",sI="_modal_ga6eh_12",iI="_header_ga6eh_24",oI="_title_ga6eh_33",aI="_closeBtn_ga6eh_39",lI="_tabs_ga6eh_57",cI="_tab_ga6eh_57",uI="_activeTab_ga6eh_83",dI="_body_ga6eh_88",fI="_searchWrap_ga6eh_99",hI="_searchIcon_ga6eh_104",pI="_searchInput_ga6eh_113",gI="_grid_ga6eh_132",mI="_imgCell_ga6eh_148",yI="_imgCellSelected_ga6eh_166",vI="_thumb_ga6eh_171",bI="_noThumb_ga6eh_177",_I="_checkBadge_ga6eh_183",wI="_loadMoreBtn_ga6eh_198",SI="_loadingRow_ga6eh_220",xI="_empty_ga6eh_230",CI="_spinner_ga6eh_237",EI="_uploadArea_ga6eh_247",OI="_dropZone_ga6eh_256",DI="_uploadIcon_ga6eh_277",II="_dropText_ga6eh_281",TI="_dropSubtext_ga6eh_288",NI="_uploadPreview_ga6eh_294",jI="_hiddenInput_ga6eh_301",RI="_fileName_ga6eh_305",kI="_errorText_ga6eh_311",AI="_footer_ga6eh_318",PI="_cancelBtn_ga6eh_328",MI="_confirmBtn_ga6eh_345",ge={overlay:nI,modal:sI,header:iI,title:oI,closeBtn:aI,tabs:lI,tab:cI,activeTab:uI,body:dI,searchWrap:fI,searchIcon:hI,searchInput:pI,grid:gI,imgCell:mI,imgCellSelected:yI,thumb:vI,noThumb:bI,checkBadge:_I,loadMoreBtn:wI,loadingRow:SI,empty:xI,spinner:CI,uploadArea:EI,dropZone:OI,uploadIcon:DI,dropText:II,dropSubtext:TI,uploadPreview:NI,hiddenInput:jI,fileName:RI,errorText:kI,footer:AI,cancelBtn:PI,confirmBtn:MI},Bu=18,Yh=({nodeId:e,currentValue:t,onSelect:r,onClose:n})=>{const[s,i]=p.useState("my"),[o,a]=p.useState(""),[c,d]=p.useState([]),[u,f]=p.useState(0),[g,m]=p.useState(!1),[_,h]=p.useState(null),[y,v]=p.useState(0),[b,S]=p.useState(null),[w,C]=p.useState(""),[I,j]=p.useState(!1),[k,M]=p.useState(""),T=p.useRef(null),A=ae($=>{var Y,Q;return((Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.channel)??""}),F=ae($=>{var Y,Q;return((Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.uid)??""}),R=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.context)==null?void 0:Q.cloudStorage)==null?void 0:de.presigned_headers)??{}}),L=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.config)==null?void 0:Q.assetConfig)==null?void 0:de.size)??1*1024*1024}),B=ae($=>{var Y,Q,de;return((de=(Q=(Y=$.editorConfig)==null?void 0:Y.config)==null?void 0:Q.assetConfig)==null?void 0:de.accepted)??"image/png,image/jpeg"}),Z=p.useCallback(async($,Y,Q=!1)=>{var de;m(!0);try{const Se={status:["Live"],mediaType:["image"],mimeType:["image/png","image/jpeg","image/jpg","image/gif","image/svg+xml"]};s==="my"&&F&&(Se.createdBy=F),A&&(Se.channel=A);const me=((de=(await Re.post("/action/composite/v3/search",{request:{filters:Se,query:$,limit:Bu,offset:Y,sort_by:{createdOn:"desc"},fields:["identifier","name","appIcon","artifactUrl","downloadUrl"]}},{headers:{"X-Source":"web"}})).data)==null?void 0:de.result)??{},ce=me.content??[];f(me.count??0),d(pe=>Q?[...pe,...ce]:ce)}catch{}finally{m(!1)}},[s,F,A]);p.useEffect(()=>{s!=="upload"&&(d([]),v(0),Z(o,0))},[s]);const se=p.useRef(),ve=$=>{a($),clearTimeout(se.current),se.current=setTimeout(()=>{d([]),v(0),Z($,0)},400)},we=()=>{const $=y+Bu;v($),Z(o,$,!0)},le=()=>{const $=(_==null?void 0:_.artifactUrl)??(_==null?void 0:_.appIcon)??(_==null?void 0:_.downloadUrl)??"";$&&r($)};p.useEffect(()=>()=>{w&&URL.revokeObjectURL(w)},[w]);const W=$=>{var de;const Y=(de=$.target.files)==null?void 0:de[0];if($.target.value="",!Y)return;const Q=B.split(",").map(Se=>Se.trim());if(!Q.includes(Y.type)){const Se=Q.map(Me=>Me.replace("image/","").toUpperCase()).join(", ");M(`Only ${Se} files are accepted.`);return}if(Y.size>L){const Se=(L/1048576).toFixed(0);M(`Image must be under ${Se} MB.`);return}w&&URL.revokeObjectURL(w),S(Y),C(URL.createObjectURL(Y)),M("")},J=async()=>{if(b){j(!0),M("");try{const $=await JD(b.name.split(".").slice(0,-1).join(".")||b.name,b.type,F,A),Y=await eI($,b.name);await tI(Y,b,R);const Q=Y.split("?")[0],de=await rI($,Q,b.type);r(de)}catch($){M($ instanceof Error?$.message:"Upload failed.")}finally{j(!1)}}},ie=c.length<u;return l.jsx("div",{className:ge.overlay,role:"dialog","aria-modal":"true","aria-label":"Select App Icon",children:l.jsxs("div",{className:ge.modal,children:[l.jsxs("div",{className:ge.header,children:[l.jsx("span",{className:ge.title,children:"Select App Icon"}),l.jsx("button",{className:ge.closeBtn,onClick:n,"aria-label":"Close",children:l.jsx(un,{size:18})})]}),l.jsxs("div",{className:ge.tabs,role:"tablist",children:[l.jsx("button",{role:"tab","aria-selected":s==="my",className:`${ge.tab} ${s==="my"?ge.activeTab:""}`,onClick:()=>i("my"),children:"My Images"}),l.jsx("button",{role:"tab","aria-selected":s==="all",className:`${ge.tab} ${s==="all"?ge.activeTab:""}`,onClick:()=>i("all"),children:"All Images"}),l.jsxs("button",{role:"tab","aria-selected":s==="upload",className:`${ge.tab} ${s==="upload"?ge.activeTab:""}`,onClick:()=>i("upload"),children:[l.jsx(Jl,{size:13,style:{marginRight:4}}),"Upload"]})]}),l.jsx("div",{className:ge.body,children:s!=="upload"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:ge.searchWrap,children:[l.jsx(pa,{size:14,className:ge.searchIcon}),l.jsx("input",{type:"search",className:ge.searchInput,placeholder:"Search images…",value:o,onChange:$=>ve($.target.value)})]}),g&&c.length===0?l.jsxs("div",{className:ge.loadingRow,children:[l.jsx(di,{size:20,className:ge.spinner}),l.jsx("span",{children:"Loading…"})]}):c.length===0?l.jsx("div",{className:ge.empty,children:"No images found"}):l.jsx("div",{className:ge.grid,children:c.map($=>{const Y=$.appIcon??$.artifactUrl??$.downloadUrl??"",Q=(_==null?void 0:_.identifier)===$.identifier;return l.jsxs("button",{type:"button",className:`${ge.imgCell} ${Q?ge.imgCellSelected:""}`,onClick:()=>h($),title:$.name,children:[Y?l.jsx("img",{src:Y,alt:$.name,className:ge.thumb}):l.jsx("div",{className:ge.noThumb,children:"IMG"}),Q&&l.jsx("div",{className:ge.checkBadge,children:l.jsx(Wn,{size:12})})]},$.identifier)})}),ie&&!g&&l.jsx("button",{className:ge.loadMoreBtn,onClick:we,children:"Load More"}),g&&c.length>0&&l.jsx("div",{className:ge.loadingRow,children:l.jsx(di,{size:16,className:ge.spinner})})]}):l.jsxs("div",{className:ge.uploadArea,children:[l.jsx("div",{className:ge.dropZone,onClick:()=>{var $;return($=T.current)==null?void 0:$.click()},onDragOver:$=>$.preventDefault(),onDrop:$=>{$.preventDefault();const Y=$.dataTransfer.files[0];Y&&W({target:{files:[Y],value:""}})},children:w?l.jsx("img",{src:w,alt:"Preview",className:ge.uploadPreview}):l.jsxs(l.Fragment,{children:[l.jsx(Jl,{size:32,className:ge.uploadIcon}),l.jsx("p",{className:ge.dropText,children:"Drag & drop or click to browse"}),l.jsxs("p",{className:ge.dropSubtext,children:[B.split(",").map($=>$.replace("image/","").toUpperCase()).join(", ")," · max ",(L/(1024*1024)).toFixed(0)," MB"]})]})}),l.jsx("input",{ref:T,type:"file",accept:B,className:ge.hiddenInput,onChange:W}),b&&l.jsx("p",{className:ge.fileName,children:b.name}),k&&l.jsx("p",{className:ge.errorText,children:k})]})}),l.jsxs("div",{className:ge.footer,children:[l.jsx("button",{className:ge.cancelBtn,onClick:n,children:"Cancel"}),s==="upload"?l.jsx("button",{className:ge.confirmBtn,disabled:!b||I,onClick:J,children:I?l.jsxs(l.Fragment,{children:[l.jsx(di,{size:14,className:ge.spinner})," Uploading…"]}):"Upload & Use"}):l.jsx("button",{className:ge.confirmBtn,disabled:!_,onClick:le,children:"Use Selected"})]})]})})},LI=({name:e,label:t,nodeId:r,required:n,disabled:s})=>{const[i,o]=p.useState(!1),{watch:a,setValue:c,register:d,formState:{errors:u}}=Xt(),f=a(e),g=u[e],m=h=>{c(e,h,{shouldDirty:!0,shouldValidate:!0}),o(!1)},_=()=>{c(e,"",{shouldDirty:!0,shouldValidate:!0})};return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...d(e,{required:n?`${t} is required`:!1})}),l.jsx("div",{className:P.iconWrap,role:"button",tabIndex:s?-1:0,"aria-label":"Select app icon",onClick:()=>!s&&o(!0),onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&!s&&o(!0)},children:f?l.jsx("img",{src:f,alt:"App icon",className:P.iconPreview}):l.jsxs("div",{className:P.iconPlaceholder,children:[l.jsx(rf,{size:20}),l.jsx("span",{children:"Select icon"})]})}),f&&!s&&l.jsxs("button",{type:"button",className:P.removeIconBtn,onClick:_,"aria-label":"Remove app icon",children:[l.jsx(Ja,{size:13}),l.jsx("span",{children:"Remove"})]}),g&&l.jsx("span",{className:P.error,children:String(g.message)}),i&&l.jsx(Yh,{nodeId:r,currentValue:f,onSelect:m,onClose:()=>o(!1)})]})},FI=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1}});return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{id:e,type:"datetime-local",className:[P.input,o?P.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:i.onChange,onBlur:i.onBlur,ref:i.ref}),o&&l.jsx("span",{className:P.error,children:String(o.message)})]})},$I=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:[]}),[a,c]=p.useState(""),d=p.useRef(null),u=i.value??[],f=h=>{const y=h.trim();!y||u.includes(y)||i.onChange([...u,y])},g=h=>{i.onChange(u.filter(y=>y!==h))},m=h=>{h.key==="Enter"||h.key===","?(h.preventDefault(),f(a),c("")):h.key==="Backspace"&&a===""&&u.length>0&&g(u[u.length-1])},_=()=>{a.trim()&&(f(a),c("")),i.onBlur()};return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:[P.chipGroup,o?P.inputError:""].join(" "),onClick:()=>{var h;return!n&&((h=d.current)==null?void 0:h.focus())},style:{cursor:n?"not-allowed":"text"},children:[u.map(h=>l.jsxs("span",{className:P.tagChip,children:[h,!n&&l.jsx("button",{type:"button",className:P.tagChipRemove,onClick:y=>{y.stopPropagation(),g(h)},"aria-label":`Remove ${h}`,children:l.jsx(un,{size:11})})]},h)),!n&&l.jsx("input",{ref:d,className:P.chipInput,value:a,onChange:h=>c(h.target.value),onKeyDown:m,onBlur:_,placeholder:u.length===0?"Type and press Enter or comma…":"",style:{flexGrow:1,minWidth:120}})]}),o&&l.jsx("span",{className:P.error,children:String(o.message)})]})},BI=({name:e,label:t,levels:r,required:n,disabled:s})=>{const{control:i}=Xt(),{field:o,fieldState:{error:a}}=uo({name:e,control:i,rules:{required:n?`${t} is required`:!1},defaultValue:{}}),c=o.value??{},d=(u,f,g)=>{const m={};for(let _=0;_<f;_++)m[r[_].code]=c[r[_].code]??"";m[u]=g;for(let _=f+1;_<r.length;_++)m[r[_].code]="";o.onChange(m)};return l.jsxs("div",{className:[P.field,P.fullWidth].join(" "),children:[l.jsxs("label",{className:P.label,children:[t,n&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("div",{className:P.nestedSelectRow,children:r.map((u,f)=>{const g=f>0&&!c[r[f-1].code];return l.jsxs("div",{className:P.field,style:{flex:1},children:[l.jsx("label",{className:P.label,htmlFor:`${e}_${u.code}`,children:u.label}),l.jsxs("select",{id:`${e}_${u.code}`,className:[P.input,a?P.inputError:""].join(" "),disabled:s||g,value:c[u.code]??"",onChange:m=>d(u.code,f,m.target.value),onBlur:o.onBlur,children:[l.jsx("option",{value:"",children:"Select…"}),u.options.map(m=>l.jsx("option",{value:m.value,children:m.label},m.value))]})]},u.code)})}),a&&l.jsx("span",{className:P.error,children:String(a.message)})]})},Uu=[{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"}],UI=({name:e,label:t,required:r,disabled:n})=>{const[s,i]=p.useState(!1),o=p.useRef(null),{register:a,watch:c,setValue:d,formState:{errors:u}}=Xt(),f=c(e),g=Uu.find(h=>h.value===f),m=(g==null?void 0:g.label)??"Select license…",_=u[e];return p.useEffect(()=>{if(!s)return;const h=y=>{var v;(v=o.current)!=null&&v.contains(y.target)||i(!1)};return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[s]),l.jsxs("div",{className:P.field,ref:o,style:{position:"relative"},children:[l.jsxs("label",{className:P.label,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsx("input",{type:"hidden",...a(e,{required:r?`${t} is required`:!1})}),l.jsxs("button",{type:"button",disabled:n,className:[P.selectBtn,_?P.inputError:"",s?P.selectOpen:""].join(" "),onClick:()=>i(h=>!h),"aria-haspopup":"listbox","aria-expanded":s,children:[l.jsx("span",{className:f?P.selectedVal:P.placeholder,children:m}),l.jsx(Bs,{size:14,className:s?P.chevronUp:""})]}),s&&l.jsx("div",{className:P.dropdown,role:"listbox",children:Uu.map(h=>l.jsxs("button",{type:"button",role:"option","aria-selected":f===h.value,className:[P.option,f===h.value?P.optionSelected:""].join(" "),onClick:()=>{d(e,h.value,{shouldDirty:!0,shouldValidate:!0}),i(!1)},children:[l.jsx("span",{children:h.label}),f===h.value&&l.jsx(Wn,{size:13})]},h.value))}),_&&l.jsx("span",{className:P.error,children:String(_.message)})]})},zI=({name:e,label:t,required:r,disabled:n})=>{const{control:s}=Xt(),{field:i,fieldState:{error:o}}=uo({name:e,control:s,rules:{required:r?`${t} is required`:!1},defaultValue:""}),[a,c]=p.useState("idle"),[d,u]=p.useState(""),f=async()=>{const m=(i.value??"").trim();if(!m){c("invalid"),u("Enter a dial code to validate.");return}c("loading"),u("");try{const _=await rw(m),h=_==null?void 0:_.result,y=h==null?void 0:h.dialcodes;Array.isArray(y)&&y.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.")}},g=()=>a==="loading"?l.jsx(di,{size:16,className:P.dialcodeSpinner}):a==="valid"?l.jsx(Zd,{size:16,color:"var(--sbx-success, #2e7d32)"}):a==="invalid"?l.jsx(ha,{size:16,color:"var(--sbx-error)"}):null;return l.jsxs("div",{className:P.field,children:[l.jsxs("label",{className:P.label,htmlFor:e,children:[t,r&&l.jsx("span",{className:P.required,children:"*"})]}),l.jsxs("div",{className:P.dialcodeRow,children:[l.jsx("input",{id:e,type:"text",className:[P.input,o?P.inputError:""].join(" "),disabled:n,value:i.value??"",onChange:m=>{i.onChange(m),c("idle"),u("")},onBlur:i.onBlur,ref:i.ref,placeholder:"e.g. A1B2C3",style:{flex:1}}),l.jsx("button",{type:"button",className:P.validateBtn,onClick:f,disabled:n||a==="loading","aria-label":"Validate dial code",children:a==="loading"?"Validating…":"Validate"}),g()]}),o&&l.jsx("span",{className:P.error,children:String(o.message)}),!o&&d&&l.jsx("span",{className:a==="valid"?P.dialcodeValid:P.error,children:d})]})},VI="_form_szqex_1",qI="_ungrouped_szqex_7",HI="_noFields_szqex_18",qo={form:VI,ungrouped:qI,noFields:HI},WI=({nodeMetadata:e,activeTab:t,isRoot:r,isFolder:n,editorMode:s,onFormValueChange:i,onFormStatusChange:o})=>{var pe,ke,Ue,De,ee,ze,Xe;const a=ae(q=>q.editorConfig),c=ae(q=>q.rootFormConfig),d=ae(q=>q.unitFormConfig),u=ae(q=>q.categoryMeta),f=ae(q=>q.contentFramework),g=ae(q=>q.contentTargetFWIds),{organisationFramework:m,targetFrameworks:_,isLoading:h}=Hh(f??((pe=a==null?void 0:a.context)==null?void 0:pe.framework),g??((ke=a==null?void 0:a.context)==null?void 0:ke.targetFWIds)),{frameworks:y,collectionAdditionalCategories:v,contentAdditionalCategories:b,defaultLicense:S,name:w}=$O((Ue=a==null?void 0:a.context)==null?void 0:Ue.channel),C=LO(y,(De=u==null?void 0:u.frameworkMetadata)==null?void 0:De.orgFWType,(ee=a==null?void 0:a.context)==null?void 0:ee.channel),I={organisationFramework:m,targetFrameworks:_,orgFrameworks:C,channelAdditionalCategories:v},j=je(q=>q.selectedNodeId),k=je(q=>q.treeData),M=je(q=>q.treeCache),T=j?M[j]??{}:{},A={...e,...T},F=p.useMemo(()=>{var re;if(!j)return 0;const q=[...k];for(;q.length;){const oe=q.shift();if(oe.id===j)return((re=oe.children)==null?void 0:re.length)??0;oe.children&&q.push(...oe.children)}return 0},[k,j]),R=(a==null?void 0:a.config)??{},L=(a==null?void 0:a.context)??{},B={editorMode:s,editableFields:R.editableFields,objectType:R.objectType,setDefaultCopyRight:R.setDefaultCopyRight===!0,defaultLicense:L.defaultLicense??S,contextAdditionalCategories:L.additionalCategories,userFullName:(ze=L.user)==null?void 0:ze.fullName,channelName:w,collectionAdditionalCategories:v,contentAdditionalCategories:b,childCount:F},Z=r?c:d,se=Z||(((Xe=a==null?void 0:a.config.hierarchy)==null?void 0:Xe.formConfig)??[]),ve=qO(se,A,I,r,B),we=ve.filter(q=>q.tab===t&&q.inputType!=="appIcon"&&q.visible!==!1),le=PO({mode:"onChange",defaultValues:Object.fromEntries(ve.map(q=>{const re=["multiselect","chips","keywords","tagsinput"],oe=["nestedselect"];return re.includes(q.inputType)?[q.code,q.currentValue??q.defaultValue??[]]:oe.includes(q.inputType)?[q.code,q.currentValue??q.defaultValue??{}]:[q.code,q.currentValue??q.defaultValue??""]}))});lD(le,ve);const{updateNode:W}=je(),J=p.useRef(ve);J.current=ve;const ie=p.useRef(j);ie.current=j;const $=p.useRef(i);$.current=i;const Y=p.useRef(o);Y.current=o;const Q=p.useRef(typeof A.shuffle=="boolean"?A.shuffle:void 0),de=p.useRef(A.name??"");de.current=A.name??"";const Se=p.useRef(s);Se.current=s;const Me=["review","read","sourcingreview","orgreview"];p.useEffect(()=>{const q=ie.current;if(q){const re=Object.fromEntries(J.current.filter(oe=>oe.currentValue!==void 0&&oe.currentValue!==null).map(oe=>[oe.code,oe.currentValue]));Object.keys(re).length>0&&W(q,re)}le.trigger().then(()=>{const re=le.formState.errors,oe=J.current,We=Array.from(new Set(Object.keys(re).map(cr=>{var ur;return(ur=oe.find($r=>$r.code===cr))==null?void 0:ur.tab}).filter(Boolean)));Y.current(Object.keys(re).length===0,We)})},[]),p.useEffect(()=>{const q=le.watch((re,{name:oe})=>{const We=ie.current;if(!We)return;const cr=J.current,ur=new Set(cr.map(x=>x.code));if(oe&&ur.has(oe)){let x=le.getValues(oe);oe==="dialcodes"&&(x=Array.isArray(x)?x:x?[x]:[]),oe==="shuffle"&&(x===!0&&Q.current===!1&&Oe("Shuffling is enabled for this question set.",{icon:"ℹ️"}),Q.current=x);const O=aD(oe,x);O&&(W(We,O),$.current(O))}else if(!oe){const x=le.getValues(),O=Object.fromEntries(Object.entries(x).filter(([U])=>ur.has(U))),N=oD(O,{isReview:Me.includes(Se.current),nodeTitle:de.current});Object.keys(N).length>0&&(W(We,N),$.current(N))}const $r=le.formState.errors,fn=Array.from(new Set(Object.keys($r).map(x=>{var O;return(O=cr.find(N=>N.code===x))==null?void 0:O.tab}).filter(Boolean)));Y.current(Object.keys($r).length===0,fn)});return()=>q.unsubscribe()},[le]);const me=we.reduce((q,re)=>{const oe=q[q.length-1];return oe&&oe.section===re.section?oe.fields.push(re):q.push({section:re.section,fields:[re]}),q},[]),ce=q=>{const re={key:q.code,name:q.code,label:q.label,required:q.required,disabled:q.editable===!1};switch(q.inputType){case"textarea":return l.jsx($u,{...re,multiline:!0,maxLength:q.maxLength});case"select":return l.jsx(GD,{...re,options:q.options??[]});case"multiselect":return l.jsx(YD,{...re,options:q.options??[]});case"chips":return l.jsx(XD,{...re});case"radio":return l.jsx(ZD,{...re,options:q.options??[]});case"appIcon":return l.jsx(LI,{...re,nodeId:j??""});case"datepicker":case"datetime":return l.jsx(FI,{...re});case"keywords":case"tagsinput":return l.jsx($I,{...re});case"nestedselect":return l.jsx(BI,{...re,levels:q.levels??[]});case"license":return l.jsx(UI,{...re});case"dialcode":return l.jsx(zI,{...re});default:return l.jsx($u,{...re,maxLength:q.maxLength})}};return l.jsx(_O,{...le,children:l.jsxs("div",{className:qo.form,children:[me.map((q,re)=>{const oe=q.section?BO[q.section]:void 0;return oe?l.jsx(gD,{title:oe.title,description:oe.description,children:q.fields.map(ce)},q.section??re):l.jsx("div",{className:qo.ungrouped,children:q.fields.map(ce)},re)}),we.length===0&&!h&&l.jsx("p",{className:qo.noFields,children:"No fields configured for this tab."})]})})};function Xh(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function QI(e,t){return e.reduce((r,n,s)=>{const i=t.get(n);return i&&(r[s]=i),r},Array(e.length))}function si(e){return e!==null&&e>=0}function KI(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 GI(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const Zh=e=>{let{rects:t,activeIndex:r,overIndex:n,index:s}=e;const i=Xh(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}},ii={scaleX:1,scaleY:1},YI=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,...ii}:null}const c=XI(i,s,r);return s>r&&s<=o?{x:0,y:-a.height-c,...ii}:s<r&&s>=o?{x:0,y:a.height+c,...ii}:{x:0,y:0,...ii}};function XI(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 Jh="Sortable",ep=p.createContext({activeIndex:-1,containerId:Jh,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Zh,disabled:{draggable:!1,droppable:!1}});function ZI(e){let{children:t,id:r,items:n,strategy:s=Zh,disabled:i=!1}=e;const{active:o,dragOverlay:a,droppableRects:c,over:d,measureDroppableContainers:u}=Gd(),f=Fs(Jh,r),g=a.rect!==null,m=p.useMemo(()=>n.map(I=>typeof I=="object"&&"id"in I?I.id:I),[n]),_=o!=null,h=o?m.indexOf(o.id):-1,y=d?m.indexOf(d.id):-1,v=p.useRef(m),b=!KI(m,v.current),S=y!==-1&&h===-1||b,w=GI(i);Kt(()=>{b&&_&&u(m)},[b,m,_,u]),p.useEffect(()=>{v.current=m},[m]);const C=p.useMemo(()=>({activeIndex:h,containerId:f,disabled:w,disableTransforms:S,items:m,overIndex:y,useDragOverlay:g,sortedRects:QI(m,c),strategy:s}),[h,f,w.draggable,w.droppable,S,m,y,c,g,s]);return p.createElement(ep.Provider,{value:C},t)}const JI=e=>{let{id:t,items:r,activeIndex:n,overIndex:s}=e;return Xh(r,n,s).indexOf(t)},eT=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},tT={duration:200,easing:"ease"},tp="transform",rT=Lr.Transition.toString({property:tp,duration:0,easing:"linear"}),nT={roleDescription:"sortable"};function sT(e){let{disabled:t,index:r,node:n,rect:s}=e;const[i,o]=p.useState(null),a=p.useRef(r);return Kt(()=>{if(!t&&r!==a.current&&n.current){const c=s.current;if(c){const d=Hn(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]),p.useEffect(()=>{i&&o(null)},[i]),i}function iT(e){let{animateLayoutChanges:t=eT,attributes:r,disabled:n,data:s,getNewIndex:i=JI,id:o,strategy:a,resizeObserverConfig:c,transition:d=tT}=e;const{items:u,containerId:f,activeIndex:g,disabled:m,disableTransforms:_,sortedRects:h,overIndex:y,useDragOverlay:v,strategy:b}=p.useContext(ep),S=oT(n,m),w=u.indexOf(o),C=p.useMemo(()=>({sortable:{containerId:f,index:w,items:u},...s}),[f,s,w,u]),I=p.useMemo(()=>u.slice(u.indexOf(o)),[u,o]),{rect:j,node:k,isOver:M,setNodeRef:T}=ry({id:o,data:C,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:I,...c}}),{active:A,activatorEvent:F,activeNodeRect:R,attributes:L,setNodeRef:B,listeners:Z,isDragging:se,over:ve,setActivatorNodeRef:we,transform:le}=Kd({id:o,data:C,attributes:{...nT,...r},disabled:S.draggable}),W=Ug(T,B),J=!!A,ie=J&&!_&&si(g)&&si(y),$=!v&&se,Y=$&&ie?le:null,de=ie?Y??(a??b)({rects:h,activeNodeRect:R,activeIndex:g,overIndex:y,index:w}):null,Se=si(g)&&si(y)?i({id:o,items:u,activeIndex:g,overIndex:y}):w,Me=A==null?void 0:A.id,me=p.useRef({activeId:Me,items:u,newIndex:Se,containerId:f}),ce=u!==me.current.items,pe=t({active:A,containerId:f,isDragging:se,isSorting:J,id:o,index:w,items:u,newIndex:me.current.newIndex,previousItems:me.current.items,previousContainerId:me.current.containerId,transition:d,wasDragging:me.current.activeId!=null}),ke=sT({disabled:!pe,index:w,node:k,rect:j});return p.useEffect(()=>{J&&me.current.newIndex!==Se&&(me.current.newIndex=Se),f!==me.current.containerId&&(me.current.containerId=f),u!==me.current.items&&(me.current.items=u)},[J,Se,f,u]),p.useEffect(()=>{if(Me===me.current.activeId)return;if(Me&&!me.current.activeId){me.current.activeId=Me;return}const De=setTimeout(()=>{me.current.activeId=Me},50);return()=>clearTimeout(De)},[Me]),{active:A,activeIndex:g,attributes:L,data:C,rect:j,index:w,newIndex:Se,items:u,isOver:M,isSorting:J,isDragging:se,listeners:Z,node:k,overIndex:y,over:ve,setNodeRef:W,setActivatorNodeRef:we,setDroppableNodeRef:T,setDraggableNodeRef:B,transform:ke??de,transition:Ue()};function Ue(){if(ke||ce&&me.current.newIndex===w)return rT;if(!($&&!Qi(F)||!d)&&(J||pe))return Lr.Transition.toString({...d,property:tp})}}function oT(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 Bi(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 aT=[Ce.Down,Ce.Right,Ce.Up,Ce.Left],lT=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:s,droppableContainers:i,over:o,scrollableAncestors:a}}=t;if(aT.includes(e.code)){if(e.preventDefault(),!r||!n)return;const c=[];i.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const g=s.get(f.id);if(g)switch(e.code){case Ce.Down:n.top<g.top&&c.push(f);break;case Ce.Up:n.top>g.top&&c.push(f);break;case Ce.Left:n.left>g.left&&c.push(f);break;case Ce.Right:n.left<g.left&&c.push(f);break}});const d=sm({collisionRect:n,droppableRects:s,droppableContainers:c});let u=jd(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),g=i.get(u),m=g?s.get(g.id):null,_=g==null?void 0:g.node.current;if(_&&m&&f&&g){const y=Ki(_).some((I,j)=>a[j]!==I),v=rp(f,g),b=cT(f,g),S=y||!v?{x:0,y:0}:{x:b?n.width-m.width:0,y:b?n.height-m.height:0},w={x:m.left,y:m.top};return S.x&&S.y?w:Cs(w,S)}}}};function rp(e,t){return!Bi(e)||!Bi(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function cT(e,t){return!Bi(e)||!Bi(t)||!rp(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}const uT="_row_11nth_1",dT="_removeBtn_11nth_14",fT="_grip_11nth_17",hT="_ctIcon_11nth_34",pT="_info_11nth_38",gT="_name_11nth_46",mT="_meta_11nth_55",Ur={row:uT,removeBtn:dT,grip:fT,ctIcon:hT,info:pT,name:gT,meta:mT},yT={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},vT=({item:e,onRemove:t,isEditable:r})=>{const n=ao(e),s=yT[n.key]??Qn,{attributes:i,listeners:o,setNodeRef:a,transform:c,transition:d,isDragging:u}=iT({id:e.id,disabled:!r}),f={transform:Lr.Transform.toString(c),transition:d,opacity:u?.5:1};return l.jsxs("div",{ref:a,style:f,className:Ur.row,role:"listitem",children:[r&&l.jsx("span",{className:Ur.grip,...i,...o,"aria-label":"Drag to reorder",children:l.jsx(tf,{size:15})}),l.jsx("span",{className:[`sbx-ct-sq--${n.key}`,Ur.ctIcon].join(" "),"aria-hidden":"true",children:l.jsx(s,{size:14})}),l.jsxs("div",{className:Ur.info,children:[l.jsx("span",{className:Ur.name,title:e.name,children:e.name}),l.jsx("span",{className:Ur.meta,children:n.label})]}),l.jsx("span",{className:`sbx-ct-badge--${n.key}`,children:n.label}),r&&l.jsx("button",{type:"button",className:Ur.removeBtn,onClick:()=>t(e.id),"aria-label":`Remove ${e.name}`,children:l.jsx(un,{size:14})})]})},bT="_container_lzvke_1",_T="_header_lzvke_7",wT="_heading_lzvke_13",ST="_count_lzvke_21",xT="_list_lzvke_30",CT="_emptyState_lzvke_36",ET="_addRow_lzvke_52",zr={container:bT,header:_T,heading:wT,count:ST,list:xT,emptyState:CT,addRow:ET},OT=({editorMode:e})=>{const{selectedNodeId:t,getChildrenOf:r,reorderChildren:n,deleteNode:s}=je(),i=t?r(t):[],o=e==="edit",a=Id(ca(Gi,{activationConstraint:{distance:5}}),ca(Ha,{coordinateGetter:lT})),c=p.useCallback(u=>{const{active:f,over:g}=u;if(!g||f.id===g.id||!t)return;const m=je.getState().getChildrenOf(t),_=m.findIndex(y=>y.id===f.id),h=m.findIndex(y=>y.id===g.id);_<0||h<0||n(t,_,h)},[t,n]),d=p.useCallback(u=>{window.confirm("Remove this content from the unit?")&&s(u)},[s]);return t?l.jsxs("div",{className:zr.container,children:[l.jsxs("div",{className:zr.header,children:[l.jsx("span",{className:zr.heading,children:"Content in this unit"}),l.jsx("span",{className:zr.count,children:i.length})]}),i.length>0?l.jsx(Qd,{sensors:a,collisionDetection:nm,onDragEnd:c,children:l.jsx(ZI,{items:i.map(u=>u.id),strategy:YI,children:l.jsx("div",{className:zr.list,role:"list",children:i.map(u=>l.jsx(vT,{item:u,onRemove:d,isEditable:o},u.id))})})}):l.jsxs("div",{className:zr.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:zr.addRow,type:"button","aria-label":"Add content to unit",children:[l.jsx(Us,{size:14})," Add content"]})]}):null},DT="_dropZone_ijo5w_1",IT="_active_ijo5w_14",zu={dropZone:DT,active:IT},TT=({isActive:e,label:t="Drop here",nodeId:r,className:n})=>l.jsx("div",{className:`${zu.dropZone} ${e?zu.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 NT(e){var o;const t={status:["Live"],...e.filters??{}};e.channel&&(t.channel=e.channel);const n=((o=(await Re.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 jT(e){var r,n;return(n=(r=(await Re.get(`/action/content/v3/read/${e}`)).data)==null?void 0:r.result)==null?void 0:n.content}const Vu="application/vnd.sunbird.question";function qu(e){return{cardinality:"single",type:"integer",defaultValue:e.maxScore??1}}function np(e,t,r){if(!e)return null;if(e.identifier===t)return{question:e,parent:r};for(const n of e.children??[]){const s=np(n,t,e);if(s)return s}return null}function RT(e,t){const r=np(e,t);if(!r)return null;const{question:n,parent:s}=r,i={...e,children:[n],childNodes:[t],shuffle:s==null?void 0:s.shuffle,showSolutions:(s==null?void 0:s.showSolutions)??"No",showFeedback:(s==null?void 0:s.showFeedback)??"No"};return(s==null?void 0:s.shuffle)===!0?i.maxScore=1:n.qType==="SA"?delete i.maxScore:n.maxScore!=null&&(i.maxScore=n.maxScore),i}function kT(e,t){const r=((t==null?void 0:t.enabled)??!0)&&!!e;return Ss({queryKey:["quml","questionset",e],enabled:r,queryFn:async()=>{const n=await Lf(e),s=u=>{if(!u)return[];const f=u.mimeType===Vu&&u.identifier?[u.identifier]:[],g=(u.children??[]).flatMap(s);return[...f,...g]},i=s(n),o=new Map;i.length&&(await __(i)).forEach(f=>{const g=f.identifier;g&&o.set(g,f)});const a=u=>{if(!u)return u;if(u.mimeType===Vu&&u.identifier){const f=o.get(u.identifier)??u,g=f.outcomeDeclaration;return g!=null&&g.maxScore||(f.outcomeDeclaration={...g??{},maxScore:qu(f)}),f}return Array.isArray(u.children)&&(u.children=u.children.map(f=>a(f))),u},c=a(n),d=c.outcomeDeclaration;return d!=null&&d.maxScore||(c.outcomeDeclaration={...d??{},maxScore:qu(c)}),c}})}const Hu="/assets/quml-player/sunbird-quml-player.js",AT="/assets/quml-player/styles.css",Wu="sunbird-quml-player";function PT(e){const t=e.children??[];return t.length?t.every(n=>n.objectType==="Question")?[e]:t:[]}const tt=class tt{constructor(){es(this,"eventHandlers",new WeakMap)}loadScript(){return tt.scriptLoaded||customElements.get(Wu)?(tt.scriptLoaded=!0,Promise.resolve()):(tt.scriptLoading||(tt.scriptLoading=new Promise((t,r)=>{const n=document.createElement("script");n.src=Hu,n.setAttribute("data-quml-player-script","true"),n.onload=()=>{tt.scriptLoaded=!0,tt.scriptLoading=void 0,t()},n.onerror=()=>{tt.scriptLoading=void 0,r(new Error(`Failed to load QuML player script: ${Hu}`))},document.body.appendChild(n)})),tt.scriptLoading)}loadStyles(){if(tt.stylesLoaded||document.querySelector('[data-quml-player-styles="true"]')){tt.stylesLoaded=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=AT,t.setAttribute("data-quml-player-styles","true"),document.head.appendChild(t),tt.stylesLoaded=!0}static unloadStyles(){var t;(t=document.querySelector('[data-quml-player-styles="true"]'))==null||t.remove(),tt.stylesLoaded=!1}async createConfig(t,r,n){var i,o,a;return await this.loadScript(),{context:{mode:(n==null?void 0:n.mode)??"play",host:"",pdata:{id:((i=r==null?void 0:r.pdata)==null?void 0:i.id)??"sunbird.portal",ver:((o=r==null?void 0:r.pdata)==null?void 0:o.ver)??"1.0",pid:((a=r==null?void 0:r.pdata)==null?void 0:a.pid)??"sunbird-portal"},contentId:t.identifier??"",sid:(r==null?void 0:r.sid)??"",uid:(r==null?void 0:r.uid)??(r==null?void 0:r.userId)??"",channel:(r==null?void 0:r.channel)??"",did:(r==null?void 0:r.did)??"",tags:(r==null?void 0:r.tags)??[],contextRollup:(n==null?void 0:n.contextRollup)??(r==null?void 0:r.rollup)??{},objectRollup:(n==null?void 0:n.objectRollup)??{},...n!=null&&n.cdata?{cdata:n.cdata}:{}},config:{language:"en"},data:{sections:PT(t),identifier:t.identifier??""},metadata:t}}createElement(t){this.loadStyles();const r=document.createElement(Wu);return r.setAttribute("player-config",JSON.stringify(t)),r.setAttribute("data-player-id",t.metadata.identifier??"quml"),r}attachEventListeners(t,r,n){this.removeEventListeners(t);const s=o=>r==null?void 0:r(o),i=o=>n==null?void 0:n(o.detail);t.addEventListener("playerEvent",s),t.addEventListener("telemetryEvent",i),this.eventHandlers.set(t,{player:s,telemetry:i})}removeEventListeners(t){const r=this.eventHandlers.get(t);r&&(t.removeEventListener("playerEvent",r.player),t.removeEventListener("telemetryEvent",r.telemetry),this.eventHandlers.delete(t))}};es(tt,"scriptLoaded",!1),es(tt,"scriptLoading"),es(tt,"stylesLoaded",!1);let Ui=tt;const oi=new Ui,MT="_contentPlayerRoot_ryh6z_1",LT="_stage_ryh6z_9",FT="_playerHeader_ryh6z_19",$T="_playerHeaderThumb_ryh6z_33",BT="_playerHeaderTitle_ryh6z_43",UT="_typeBadge_ryh6z_53",zT="_typeDot_ryh6z_92",VT="_aspectRatio_ryh6z_99",qT="_playerFrame_ryh6z_112",HT="_coverOverlay_ryh6z_120",WT="_coverHidden_ryh6z_132",QT="_coverThumb_ryh6z_137",KT="_coverPlayRing_ryh6z_146",GT="_coverPlayIcon_ryh6z_159",YT="_coverLabel_ryh6z_168",XT="_coverSkeleton_ryh6z_174",ZT="_playerWrapper_ryh6z_200",JT="_infoStrip_ryh6z_210",eN="_infoChip_ryh6z_226",tN="_infoChipLabel_ryh6z_245",rN="_infoChipIcon_ryh6z_254",nN="_playerError_ryh6z_260",sN="_playerErrorIcon_ryh6z_274",iN="_playerErrorMsg_ryh6z_279",oN="_qumlRoot_ryh6z_286",Be={contentPlayerRoot:MT,stage:LT,playerHeader:FT,playerHeaderThumb:$T,playerHeaderTitle:BT,typeBadge:UT,typeDot:zT,aspectRatio:VT,playerFrame:qT,coverOverlay:HT,coverHidden:WT,coverThumb:QT,coverPlayRing:KT,coverPlayIcon:GT,coverLabel:YT,coverSkeleton:XT,playerWrapper:ZT,infoStrip:JT,infoChip:eN,infoChipLabel:tN,infoChipIcon:rN,playerError:nN,playerErrorIcon:sN,playerErrorMsg:iN,qumlRoot:oN},aN="application/vnd.sunbird.questionset";function lN(e,t){const r=new Map,n=i=>{for(const o of i)r.set(o.id,o),o.children&&n(o.children)};n(e);let s=r.get(t);for(;s;){if(s.mimeType===aN)return s.identifier;s=s.parent?r.get(s.parent):void 0}return null}const cN=[{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 uN(e){return cN.find(t=>t.mimes.includes(e))??{key:"other",label:"Content",icon:"📱"}}const dN={"pdf-player":["application/pdf"],"video-player":["video/mp4","video/webm"],"epub-player":["application/epub"]},fN={"pdf-player":"/assets/sunbird-pdf-player.js","video-player":"/assets/sunbird-video-player.js","epub-player":"/assets/sunbird-epub-player.js"},hN={"pdf-player":"sunbird-pdf-player","video-player":"sunbird-video-player","epub-player":"sunbird-epub-player"},pN="/content/preview/preview.html?webview=true&build_number=2.8.0.e552fcd";function Ho(e){for(const[t,r]of Object.entries(dN))if(r.includes(e))return t;return"default-player"}function gN(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 mN(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 yN(e,t,r=100){await mN(fN[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 vN=[{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 bN({node:e}){const t=e.metadata??{},r=vN.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:Be.infoStrip,children:r.map(n=>l.jsxs("div",{className:Be.infoChip,children:[n.icon&&l.jsx("span",{className:Be.infoChipIcon,children:n.icon}),l.jsx("span",{className:Be.infoChipLabel,children:n.label}),n.val]},n.key))}):null}function sp({node:e,hidden:t}){var n;const r=e.appIcon??((n=e.metadata)==null?void 0:n.appIcon);return l.jsx("div",{className:`${Be.coverOverlay} ${t?Be.coverHidden:""}`,children:r?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:r,alt:e.name,className:Be.coverThumb}),l.jsx("div",{className:Be.coverPlayRing,children:l.jsx("div",{className:Be.coverPlayIcon})}),l.jsx("span",{className:Be.coverLabel,children:"Loading preview…"})]}):l.jsx("div",{className:Be.coverSkeleton})})}function ip({message:e}){return l.jsxs("div",{className:Be.playerError,children:[l.jsx("span",{className:Be.playerErrorIcon,children:"⚠"}),l.jsx("span",{className:Be.playerErrorMsg,children:e})]})}function _N({mimeType:e}){const t=uN(e);return l.jsxs("span",{className:Be.typeBadge,"data-type":t.key,children:[l.jsx("span",{className:Be.typeDot}),t.label]})}const La=({node:e,editorMode:t,type:r,singleQuestion:n})=>{var i;if(r==="quml")return l.jsx(SN,{node:e,editorMode:t,singleQuestion:!!n});const s=e.appIcon??((i=e.metadata)==null?void 0:i.appIcon);return l.jsxs("div",{className:Be.contentPlayerRoot,children:[l.jsxs("div",{className:Be.stage,children:[l.jsxs("div",{className:Be.playerHeader,children:[s&&l.jsx("img",{src:s,alt:"",className:Be.playerHeaderThumb}),l.jsx("span",{className:Be.playerHeaderTitle,children:e.name}),l.jsx(_N,{mimeType:e.mimeType??""})]}),l.jsx(wN,{node:e})]}),l.jsx(bN,{node:e})]})};function wN({node:e}){var y;const t=ae(v=>v.editorConfig),[r,n]=p.useState(()=>Ho(e.mimeType??"")),[s,i]=p.useState(!1),[o,a]=p.useState(null),[c,d]=p.useState(e.metadata??{}),[u,f]=p.useState(!1),g=p.useRef(null),m=p.useRef(null),_=((y=t==null?void 0:t.config)==null?void 0:y.previewCdnUrl)??pN;p.useEffect(()=>{let v=!1;return f(!1),i(!1),a(null),d(e.metadata??{}),n(Ho(e.mimeType??"")),jT(e.identifier).then(b=>{if(v)return;const S={...e.metadata??{},...b};d(S);const w=b.mimeType??e.mimeType??"";n(Ho(w)),f(!0)}).catch(()=>{v||f(!0)}),()=>{v=!0}},[e.identifier]);const h=gN(e,c,t);return p.useEffect(()=>{if(!u||r!=="default-player")return;const v=g.current;if(!v)return;v.src=_;const b=()=>{try{const w=v.contentWindow;if(typeof(w==null?void 0:w.initializePreview)!="function"){a("Preview player unavailable. Check that /content/preview is reachable.");return}w.initializePreview(h),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 v.addEventListener("load",b),v.addEventListener("error",S),()=>{v.removeEventListener("load",b),v.removeEventListener("error",S),v.src=""}},[e.identifier,r,_,u]),p.useEffect(()=>{if(!u||r==="default-player")return;const v=m.current;if(!v)return;const b=hN[r];if(!b)return;const S=h;yN(b,r).then(()=>{if(!m.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",()=>{}),v.innerHTML="",v.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:Be.aspectRatio,children:[o?l.jsx(ip,{message:o}):l.jsx(sp,{node:e,hidden:s}),r==="default-player"?l.jsx("iframe",{ref:g,id:"contentPlayer",title:e.name,className:Be.playerFrame,name:"contentPlayer",allowFullScreen:!0}):l.jsx("div",{ref:m,className:Be.playerFrame})]})}function SN({node:e,editorMode:t,singleQuestion:r}){const n=ae(g=>g.editorConfig),s=je(g=>g.treeData),i=p.useRef(null),o=r?lN(s,e.id):e.identifier,{data:a,isLoading:c,error:d}=kT(o??"",{enabled:!!o}),u=p.useMemo(()=>a?r?RT(a,e.identifier):a:null,[a,r,e.identifier]);p.useEffect(()=>{const g=i.current;if(!g||!u)return;let m=null,_=!1;return(async()=>{try{const h=await oi.createConfig(u,n==null?void 0:n.context,{mode:t==="edit"?"edit":"play"});if(_||!i.current)return;const y=oi.createElement(h);m=y,oi.attachEventListeners(y,v=>console.debug("[QumlPlayer] playerEvent",v.detail),v=>console.debug("[QumlPlayer] telemetryEvent",v)),g.innerHTML="",g.appendChild(y)}catch(h){console.error("[QumlPlayer] failed to initialize",h)}})(),()=>{_=!0,m&&(oi.removeEventListeners(m),m.remove()),Ui.unloadStyles()}},[u,n,t,r]);const f=d?`Unable to load questionset: ${d.message}`:r&&!o?"Could not resolve the parent questionset for this question.":r&&a&&!u?"Question not found in the questionset.":null;return l.jsxs("div",{className:Be.qumlRoot,children:[f?l.jsx(ip,{message:f}):c||!u?l.jsx(sp,{node:e,hidden:!1}):null,l.jsx("div",{ref:i,className:Be.playerWrapper})]})}const xN="_overlay_ifddx_1",CN="_modal_ifddx_11",EN="_header_ifddx_21",ON="_body_ifddx_37",DN="_hint_ifddx_43",IN="_list_ifddx_49",TN="_item_ifddx_55",NN="_selected_ifddx_68",jN="_empty_ifddx_73",RN="_footer_ifddx_79",kN="_cancelBtn_ifddx_87",AN="_moveBtn_ifddx_95",$t={overlay:xN,modal:CN,header:EN,body:ON,hint:DN,list:IN,item:TN,selected:NN,empty:jN,footer:RN,cancelBtn:kN,moveBtn:AN};function PN(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 MN=({resourceId:e,resourceName:t,currentUnitId:r,onClose:n})=>{var u;const{treeData:s,moveNode:i}=je(),o=PN(s,((u=s[0])==null?void 0:u.id)??"",r),[a,c]=p.useState(null),d=()=>{a&&(i(e,r,a),n())};return l.jsx("div",{className:$t.overlay,role:"dialog","aria-label":"Move resource",children:l.jsxs("div",{className:$t.modal,children:[l.jsxs("div",{className:$t.header,children:[l.jsxs("span",{children:['Move "',t,'"']}),l.jsx("button",{onClick:n,"aria-label":"Close",children:l.jsx(un,{size:16})})]}),l.jsxs("div",{className:$t.body,children:[l.jsx("p",{className:$t.hint,children:"Select a unit to move this content to:"}),l.jsxs("ul",{className:$t.list,children:[o.map(f=>l.jsxs("li",{className:`${$t.item} ${a===f.id?$t.selected:""}`,onClick:()=>c(f.id),children:[l.jsx(Ey,{size:14}),l.jsx("span",{children:f.name})]},f.id)),o.length===0&&l.jsx("li",{className:$t.empty,children:"No other units available"})]})]}),l.jsxs("div",{className:$t.footer,children:[l.jsx("button",{className:$t.cancelBtn,onClick:n,children:"Cancel"}),l.jsx("button",{className:$t.moveBtn,onClick:d,disabled:!a,children:"Move here"})]})]})})},LN="_overlay_16at9_1",FN="_modal_16at9_11",$N="_header_16at9_21",BN="_body_16at9_37",UN="_table_16at9_43",zN="_pageInput_16at9_61",VN="_empty_16at9_68",qN="_footer_16at9_74",HN="_cancelBtn_16at9_82",WN="_saveBtn_16at9_90",rr={overlay:LN,modal:FN,header:$N,body:BN,table:UN,pageInput:zN,empty:VN,footer:qN,cancelBtn:HN,saveBtn:WN};function QN(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 KN=({onClose:e})=>{const{treeData:t,updateNode:r}=je(),n=QN(t),[s,i]=p.useState(()=>Object.fromEntries(n.map(a=>{var c;return[a.id,String(((c=a.metadata)==null?void 0:c.pageNumber)??"")]}))),o=p.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(un,{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(Ay,{size:14})," Save"]})]})]})})},GN="_container_1a7t2_1",YN="_panelHeader_1a7t2_10",XN="_panelHeaderLeft_1a7t2_19",ZN="_panelCollapseBtn_1a7t2_27",JN="_titleRow_1a7t2_46",ej="_field_1a7t2_47",tj="_moveBtn_1a7t2_64",rj="_icon_1a7t2_84",nj="_nameInput_1a7t2_93",sj="_fieldHeader_1a7t2_118",ij="_label_1a7t2_124",oj="_fieldCount_1a7t2_133",aj="_chips_1a7t2_170",lj="_chip_1a7t2_170",cj="_chipRemove_1a7t2_188",uj="_keywordInput_1a7t2_202",dj="_input_1a7t2_207",fj="_addBtn_1a7t2_220",hj="_radioGroup_1a7t2_234",pj="_radioLabel_1a7t2_239",qe={container:GN,panelHeader:YN,panelHeaderLeft:XN,panelCollapseBtn:ZN,titleRow:JN,field:ej,moveBtn:tj,icon:rj,nameInput:nj,fieldHeader:sj,label:ij,fieldCount:oj,chips:aj,chip:lj,chipRemove:cj,keywordInput:uj,input:dj,addBtn:fj,radioGroup:hj,radioLabel:pj},gj=({node:e,editorMode:t,onMoveClick:r,reorderDialog:n})=>{var A,F;const{updateNode:s,markDirty:i}=je(),o=t==="edit",a=ao(e),c=ae(R=>R.relationalFormConfig),d=R=>c==null?void 0:c.find(L=>L.code===R),u=R=>!c||!!d(R),f=(R,L)=>{var B;return((B=d(R))==null?void 0:B.label)||L},[g,m]=p.useState(!0),_=((A=e.metadata)==null?void 0:A.relationalMetadata)??{},[h,y]=p.useState(_.name??e.name??""),[v,b]=p.useState(""),[S,w]=p.useState(Array.isArray(_.keywords)?_.keywords:Array.isArray((F=e.metadata)==null?void 0:F.keywords)?e.metadata.keywords:[]),[C,I]=p.useState(!!_.optional);p.useEffect(()=>{var L,B;const R=((L=e.metadata)==null?void 0:L.relationalMetadata)??{};y(R.name??e.name??""),w(Array.isArray(R.keywords)?R.keywords:Array.isArray((B=e.metadata)==null?void 0:B.keywords)?e.metadata.keywords:[]),I(!!R.optional)},[e.id]);const j=()=>{h.trim()&&h!==e.name&&(s(e.id,{name:h.trim()}),i())},k=()=>{const R=v.trim();if(R&&!S.includes(R)){const L=[...S,R];w(L),s(e.id,{keywords:L}),i()}b("")},M=R=>{const L=S.filter(B=>B!==R);w(L),s(e.id,{keywords:L}),i()},T=R=>{I(R),s(e.id,{optional:R}),i()};return l.jsxs("div",{className:qe.container,children:[l.jsxs("div",{className:qe.panelHeader,children:[l.jsxs("div",{className:qe.panelHeaderLeft,children:[l.jsx("span",{className:`sbx-ct-badge--${a.key}`,children:a.label}),o&&l.jsx("button",{type:"button",className:qe.moveBtn,onClick:r,children:"Move to another unit"})]}),l.jsx("button",{type:"button",className:qe.panelCollapseBtn,onClick:()=>m(R=>!R),"aria-expanded":g,"aria-label":g?"Collapse metadata panel":"Expand metadata panel",title:g?"Collapse":"Expand",children:g?l.jsx(Bs,{size:15}):l.jsx(Sy,{size:15})})]}),g&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:qe.titleRow,children:[e.appIcon&&l.jsx("img",{src:e.appIcon,alt:"icon",className:qe.icon}),l.jsx("input",{type:"text",className:qe.nameInput,value:h,disabled:!o,onChange:R=>y(R.target.value),onBlur:j,placeholder:"Content name"})]}),u("keywords")&&l.jsxs("div",{className:qe.field,children:[l.jsx("div",{className:qe.fieldHeader,children:l.jsxs("label",{className:qe.label,children:[f("keywords","Keywords"),S.length>0&&l.jsx("span",{className:qe.fieldCount,children:S.length})]})}),S.length>0&&l.jsx("div",{className:qe.chips,children:S.map(R=>l.jsxs("span",{className:qe.chip,children:[R,o&&l.jsx("button",{type:"button",className:qe.chipRemove,onClick:()=>M(R),children:"×"})]},R))}),o&&l.jsxs("div",{className:qe.keywordInput,children:[l.jsx("input",{type:"text",className:qe.input,value:v,placeholder:"Add keyword and press Enter",onChange:R=>b(R.target.value),onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),k())}}),l.jsx("button",{type:"button",className:qe.addBtn,onClick:k,children:"Add"})]})]}),u("optional")&&l.jsxs("div",{className:qe.field,children:[l.jsx("label",{className:qe.label,children:f("optional","Optional in Collection")}),l.jsxs("div",{className:qe.radioGroup,children:[l.jsxs("label",{className:qe.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:C===!0,onChange:()=>T(!0),disabled:!o}),"Yes"]}),l.jsxs("label",{className:qe.radioLabel,children:[l.jsx("input",{type:"radio",name:`optional-${e.id}`,checked:C===!1,onChange:()=>T(!1),disabled:!o}),"No"]})]})]})]}),n]})},mj="_iconBtn_vl14u_1",yj="_editable_vl14u_14",vj="_iconImg_vl14u_26",bj="_placeholder_vl14u_34",_j="_removeBtn_vl14u_41",ls={iconBtn:mj,editable:yj,iconImg:vj,placeholder:bj,removeBtn:_j},wj=({nodeId:e,value:t,editable:r})=>{const[n,s]=p.useState(!1),{updateNode:i,markDirty:o}=je(),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:[ls.iconBtn,r?ls.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:ls.iconImg}):l.jsx("div",{className:ls.placeholder,children:l.jsx(rf,{size:18})}),t&&r&&l.jsx("button",{type:"button",className:ls.removeBtn,onClick:c,"aria-label":"Remove icon",children:l.jsx(Ja,{size:11})})]}),n&&l.jsx(Yh,{nodeId:e,currentValue:t,onSelect:a,onClose:()=>s(!1)})]})},Sj="_leafContentLayout_1osey_1",xj="_container_1osey_17",Cj="_emptyState_1osey_26",Ej="_titleRow_1osey_36",Oj="_nodeTitle_1osey_52",Dj="_formArea_1osey_74",Ij="_contentListArea_1osey_78",Tj="_dropZone_1osey_83",Nj="_reviewComment_1osey_90",jj="_reviewCommentLabel_1osey_103",Rj="_reviewCommentText_1osey_109",qt={leafContentLayout:Sj,container:xj,emptyState:Cj,titleRow:Ej,nodeTitle:Oj,formArea:Dj,contentListArea:Ij,dropZone:Tj,reviewComment:Nj,reviewCommentLabel:jj,reviewCommentText:Rj},kj="application/vnd.sunbird.questionset",op="application/vnd.sunbird.question",Aj=[kj,op],Pj=({editorMode:e,onToolbarEvent:t})=>{var F,R,L,B;const[r,n]=p.useState("details"),[s,i]=p.useState([]),[o,a]=p.useState(null),[c,d]=p.useState(!1),u=p.useRef(null),f=p.useRef(),{selectedNodeId:g,breadcrumb:m,activeNodeMeta:_,updateNode:h,treeData:y}=je(),v=ae(Z=>{var se,ve,we,le;return((ve=(se=Z.editorConfig)==null?void 0:se.context)==null?void 0:ve.contentId)??((le=(we=Z.editorConfig)==null?void 0:we.context)==null?void 0:le.identifier)??""}),b=g?ap(y,g):null,S=!!b&&!b.parent,w=!!(b!=null&&b.isFolder),C=b&&Aj.includes(b.mimeType??""),I=(b==null?void 0:b.mimeType)===op,j=b&&!b.isFolder&&!C&&!S,k=((F=b==null?void 0:b.metadata)==null?void 0:F.rejectComment)??(S?(L=(R=y[0])==null?void 0:R.metadata)==null?void 0:L.rejectComment:void 0),M=p.useCallback(()=>{const Z=u.current;if(!Z||!g)return;const se=Z.innerText.trim();clearTimeout(f.current),f.current=setTimeout(()=>{h(g,{name:se})},600)},[g,h]),T=p.useCallback(Z=>{t({action:"onFormValueChange",data:Z})},[t]),A=p.useCallback((Z,se)=>{i(se),t({action:"onFormStatusChange",data:{isValid:Z,nodeId:g}})},[t,g]);return b?C?l.jsx(La,{node:b,editorMode:e,type:"quml",singleQuestion:I}):j?l.jsxs("div",{className:qt.leafContentLayout,children:[l.jsx(La,{node:b,editorMode:e,type:"content"}),l.jsx(gj,{node:b,editorMode:e,onMoveClick:()=>a(b.identifier),reorderDialog:o?l.jsx(MN,{resourceId:o,resourceName:b.name,currentUnitId:b.parent??"",onClose:()=>a(null)}):null})]}):l.jsxs("div",{className:qt.container,children:[l.jsx(dO,{crumbs:m}),k&&l.jsxs("div",{className:qt.reviewComment,role:"alert",children:[l.jsx("span",{className:qt.reviewCommentLabel,children:"Reviewer comment:"}),l.jsx("span",{className:qt.reviewCommentText,children:k})]}),l.jsxs("div",{className:qt.titleRow,children:[S&&g&&l.jsx(wj,{nodeId:g,value:String(b.appIcon??((B=b.metadata)==null?void 0:B.appIcon)??""),editable:e==="edit"}),l.jsx("div",{ref:u,className:qt.nodeTitle,contentEditable:e==="edit",suppressContentEditableWarning:!0,onInput:M,onBlur:M,"data-placeholder":"Untitled","aria-label":"Node title",children:b.name})]}),l.jsx(yO,{activeTab:r,onChange:Z=>n(Z),errorTabs:s,visibleTabs:S?void 0:["details"]}),l.jsx("div",{className:qt.formArea,children:l.jsx(WI,{nodeMetadata:_,activeTab:r,isRoot:S,isFolder:w,editorMode:e,onFormValueChange:T,onFormStatusChange:A},`${g??"none"}:${S?"root":"node"}`)}),(w||S)&&r==="details"&&l.jsx("div",{className:qt.contentListArea,children:l.jsx(OT,{editorMode:e})}),l.jsx(TT,{isActive:!1,label:"Drop to add content to this unit",nodeId:g??void 0,className:qt.dropZone}),c&&l.jsx(KN,{contentId:v,onClose:()=>d(!1)})]}):l.jsx("div",{className:qt.emptyState,children:l.jsx("p",{children:"Select a unit from the outline to edit its details"})})};function ap(e,t){for(const r of e){if(r.id===t)return r;if(r.children){const n=ap(r.children,t);if(n)return n}}}const lp=Zi((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})}})),Mj=20;function cp(){var d;const e=ae(u=>u.editorConfig),t=je(u=>u.selectedNodeId),r=je(u=>u.treeData),n=p.useCallback(()=>{if(!t||!r.length)return 0;function u(f,g,m=0){var _;for(const h of f){if(h.id===g)return m;if((_=h.children)!=null&&_.length){const y=u(h.children,g,m+1);if(y>=0)return y}}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[...Cu];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:[...Cu]}function Lj(){const e=lp(),t=ae(f=>{var g,m;return((m=(g=f.editorConfig)==null?void 0:g.context)==null?void 0:m.channel)??""}),r=cp(),n=p.useRef(),s=p.useCallback(async(f="",g="all",m={},_=!0,h=!1)=>{var y,v,b,S,w;e.setLoading(!0);try{const C={status:["Live"],primaryCategory:g&&g!=="all"?[g]:r};(y=m==null?void 0:m.board)!=null&&y.length&&(C.board=m.board),(v=m==null?void 0:m.medium)!=null&&v.length&&(C.medium=m.medium),(b=m==null?void 0:m.gradeLevel)!=null&&b.length&&(C.gradeLevel=m.gradeLevel),(S=m==null?void 0:m.subject)!=null&&S.length&&(C.subject=m.subject),(w=m==null?void 0:m.primaryCategory)!=null&&w.length&&(C.primaryCategory=m.primaryCategory);const I=_?0:e.offset,{content:j,count:k}=await NT({filters:C,query:f,limit:f?50:Mj,offset:I,channel:t||void 0,sortBy:h?{name:"asc"}:{lastUpdatedOn:"desc"}});_?e.setContent(j,k):e.appendContent(j,k)}catch(C){console.error("[useLibrary] load error:",C)}finally{e.setLoading(!1)}},[r,t]);p.useEffect(()=>{s()},[t]);const i=p.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=p.useCallback(f=>{e.setFilter(f),s(e.searchQuery,f,e.advancedFilters,!0,e.sortAZ)},[e.searchQuery,e.advancedFilters,e.sortAZ,s]),a=p.useCallback(f=>{e.setAdvancedFilters(f),s(e.searchQuery,e.activeFilter,f,!0,e.sortAZ)},[e.searchQuery,e.activeFilter,e.sortAZ,s]),c=p.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=p.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 Fj="_card_jzciw_1",$j="_addBtn_jzciw_17",Bj="_dragging_jzciw_24",Uj="_ctIcon_jzciw_29",zj="_info_jzciw_33",Vj="_name_jzciw_41",qj="_meta_jzciw_50",Hj="_addBtnMuted_jzciw_78",Wj="_added_jzciw_87",Qj="_addedBadge_jzciw_96",nr={card:Fj,addBtn:$j,dragging:Bj,ctIcon:Uj,info:zj,name:Vj,meta:qj,addBtnMuted:Hj,added:Wj,addedBadge:Qj},Kj={video:el,pdf:Ga,h5p:Ya,scorm:Za,audio:Xa,quiz:Ka,default:Qn},Gj=({item:e,onAdd:t,onPreview:r,isDraggable:n,isAdded:s})=>{var h,y;const i=ao(e),o=Kj[i.key]??Qn,a=vl(),c=Q1(),d=a&&!s&&c,{attributes:u,listeners:f,setNodeRef:g,isDragging:m}=Kd({id:e.identifier,disabled:!n||!a||!c,data:{type:"library-item",item:e}}),_=()=>{r&&r(e)};return l.jsxs("div",{ref:g,className:[nr.card,m?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:[((h=e.organisation)==null?void 0:h[0])??e.channel??"",(y=e.organisation)!=null&&y[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(Wn,{size:12})}),!s&&l.jsx("button",{type:"button",className:[nr.addBtn,!d&&a?nr.addBtnMuted:""].join(" "),onClick:v=>{v.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(Us,{size:14})})]})},Yj="_chips_xhhaq_1",Xj="_chip_xhhaq_1",Qu={chips:Yj,chip:Xj},Zj=({filters:e,active:t,onChange:r})=>l.jsx("div",{className:Qu.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",Qu.chip].join(" "),onClick:()=>r(n.value),children:n.label},n.value))}),Jj="_panel_1cl11_1",eR="_header_1cl11_10",tR="_headerTitle_1cl11_19",rR="_closeBtn_1cl11_25",nR="_body_1cl11_43",sR="_section_1cl11_59",iR="_sectionLabel_1cl11_65",oR="_chips_1cl11_73",aR="_chip_1cl11_73",lR="_active_1cl11_96",cR="_footer_1cl11_102",uR="_resetBtn_1cl11_112",dR="_applyBtn_1cl11_129",st={panel:Jj,header:eR,headerTitle:tR,closeBtn:rR,body:nR,section:sR,sectionLabel:iR,chips:oR,chip:aR,active:lR,footer:cR,resetBtn:uR,applyBtn:dR},fR=[{key:"board",label:"Board"},{key:"medium",label:"Medium"},{key:"gradeLevel",label:"Class"},{key:"subject",label:"Subject"}],hR=new Set(["board","medium","gradeLevel","subject","topic"]),pR=({local:e,toggle:t})=>{const r=cp();return r.length?l.jsxs("div",{className:st.section,children:[l.jsx("div",{className:st.sectionLabel,children:"Primary Category"}),l.jsx("div",{className:st.chips,children:r.map(n=>l.jsx("button",{type:"button",className:[st.chip,(e.primaryCategory??[]).includes(n)?st.active:""].join(" "),onClick:()=>t("primaryCategory",n),children:n},n))})]}):null},gR=({isOpen:e,filters:t,onApply:r,onClose:n})=>{var h,y;const s=ae(v=>v.editorConfig),i=ae(v=>v.searchFormConfig),o=ae(v=>v.contentFramework),a=ae(v=>v.contentTargetFWIds),{organisationFramework:c}=Hh(o??((h=s==null?void 0:s.context)==null?void 0:h.framework),a??((y=s==null?void 0:s.context)==null?void 0:y.targetFWIds)),[d,u]=p.useState(t),f=i!=null&&i.length?i.filter(v=>hR.has(v.code)).map(v=>({key:v.code,label:v.label||v.code})):fR;p.useEffect(()=>{u(t)},[t]);const g=(v,b)=>{u(S=>{const w=S[v]??[],C=w.includes(b)?w.filter(I=>I!==b):[...w,b];return{...S,[v]:C}})},m=(c==null?void 0:c.categories)??[],_=v=>{var b;return((b=m.find(S=>S.code===v))==null?void 0:b.terms)??[]};return e?l.jsxs("div",{className:st.panel,role:"dialog","aria-label":"Filter library","aria-modal":"true",children:[l.jsxs("div",{className:st.header,children:[l.jsx("span",{className:st.headerTitle,children:"Filters"}),l.jsx("button",{type:"button",className:st.closeBtn,onClick:n,"aria-label":"Close filters",children:l.jsx(un,{size:16})})]}),l.jsxs("div",{className:st.body,children:[f.map(({key:v,label:b})=>{const S=_(v);return S.length?l.jsxs("div",{className:st.section,children:[l.jsx("div",{className:st.sectionLabel,children:b}),l.jsx("div",{className:st.chips,children:S.slice(0,20).map(w=>l.jsx("button",{type:"button",className:[st.chip,(d[v]??[]).includes(w.name)?st.active:""].join(" "),onClick:()=>g(v,w.name),children:w.name},w.identifier))})]},v):null}),l.jsx(pR,{local:d,toggle:g})]}),l.jsxs("div",{className:st.footer,children:[l.jsx("button",{type:"button",className:st.resetBtn,onClick:()=>u({}),children:"Reset"}),l.jsx("button",{type:"button",className:st.applyBtn,onClick:()=>{r(d),n()},children:"Apply"})]})]}):null},mR="_header_6qdpu_10",yR="_title_6qdpu_20",vR="_headerActions_6qdpu_31",bR="_iconBtn_6qdpu_38",_R="_playerArea_6qdpu_56",wR="_footer_6qdpu_64",SR="_addBtn_6qdpu_73",xR="_modalOverlay_6qdpu_92",CR="_modalPanel_6qdpu_103",hr={header:mR,title:yR,headerActions:vR,iconBtn:bR,playerArea:_R,footer:wR,addBtn:SR,modalOverlay:xR,modalPanel:CR},ER=({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 Pr.createPortal(l.jsx("div",{className:hr.modalOverlay,role:"dialog","aria-modal":"true","aria-label":"Content preview",onClick:r,children:l.jsxs("div",{className:hr.modalPanel,onClick:s=>s.stopPropagation(),children:[l.jsxs("div",{className:hr.header,children:[l.jsx("span",{className:hr.title,title:e.name,children:e.name}),l.jsx("div",{className:hr.headerActions,children:l.jsx("button",{type:"button",className:hr.iconBtn,onClick:r,"aria-label":"Close preview",children:l.jsx(un,{size:16})})})]}),l.jsx("div",{className:hr.playerArea,children:l.jsx(La,{node:n,editorMode:"read",type:"content"})}),l.jsx("div",{className:hr.footer,children:l.jsx("button",{type:"button",className:hr.addBtn,onClick:()=>t(e),children:"+ Add to Unit"})})]})}),document.body)},OR="_dock_1lpg0_1",DR="_header_1lpg0_8",IR="_headerLeft_1lpg0_17",TR="_headerTitle_1lpg0_24",NR="_count_1lpg0_30",jR="_searchRow_1lpg0_39",RR="_searchWrap_1lpg0_47",kR="_searchIcon_1lpg0_53",AR="_searchInput_1lpg0_62",PR="_filterToggleBtn_1lpg0_80",MR="_filterToggleBtnActive_1lpg0_99",LR="_filterBadge_1lpg0_105",FR="_filters_1lpg0_124",$R="_mainArea_1lpg0_134",BR="_sidePanelOverlay_1lpg0_143",UR="_cardList_1lpg0_152",zR="_skeleton_1lpg0_168",VR="_skeletonIcon_1lpg0_178",qR="_skeletonText_1lpg0_186",HR="_skeletonLine_1lpg0_193",WR="_skeletonLineSm_1lpg0_200",QR="_loadMoreBtn_1lpg0_215",KR="_emptyState_1lpg0_240",GR="_collapseBtn_1lpg0_260",Fe={dock:OR,header:DR,headerLeft:IR,headerTitle:TR,count:NR,searchRow:jR,searchWrap:RR,searchIcon:kR,searchInput:AR,filterToggleBtn:PR,filterToggleBtnActive:MR,filterBadge:LR,filters:FR,mainArea:$R,sidePanelOverlay:BR,cardList:UR,skeleton:zR,skeletonIcon:VR,skeletonText:qR,skeletonLine:HR,skeletonLineSm:WR,loadMoreBtn:QR,emptyState:KR,collapseBtn:GR};function YR(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 XR=({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:g,toggleSort:m,loadMore:_}=Lj(),{addResource:h,selectedNodeId:y,treeData:v}=je(),b=e==="edit",[S,w]=p.useState(!1),[C,I]=p.useState({}),[j,k]=p.useState(null),M=p.useMemo(()=>YR(v),[v]),T=p.useCallback(B=>{var ve;if(!y){Oe.error("Select a unit first");return}const Z=(ve=v[0])==null?void 0:ve.id;if(y===Z){Oe("Select a unit from the outline to add content — resources cannot be added directly to the course.",{icon:"ℹ️",duration:4e3});return}if(h(B,y)===!1){Oe.error(`"${B.name}" is already in this collection`);return}Oe.success(`Added "${B.name}"`)},[y,h,v]),A=p.useCallback(B=>{I(B),g(B)},[g]),F=p.useCallback(B=>{k(B)},[]),R=p.useCallback(B=>{T(B),k(null)},[T]),L=p.useMemo(()=>Object.values(C).reduce((B,Z)=>B+((Z==null?void 0:Z.length)??0),0),[C]);return l.jsxs("div",{className:Fe.dock,children:[l.jsx("div",{className:Fe.header,children:l.jsxs("div",{className:Fe.headerLeft,children:[l.jsx("button",{type:"button",className:Fe.collapseBtn,onClick:r,"aria-label":"Collapse library panel",title:"Collapse library",children:l.jsx(jy,{size:15})}),l.jsx(Iy,{size:16}),l.jsx("span",{className:Fe.headerTitle,children:"Library"}),i>0&&l.jsx("span",{className:Fe.count,children:i})]})}),l.jsxs("div",{className:Fe.searchRow,children:[l.jsxs("div",{className:Fe.searchWrap,children:[l.jsx(pa,{size:14,className:Fe.searchIcon}),l.jsx("input",{type:"search",className:Fe.searchInput,placeholder:"Search content…",value:a,onChange:B=>u(B.target.value),"aria-label":"Search library"})]}),l.jsx("button",{type:"button",className:[Fe.filterToggleBtn,c?Fe.filterToggleBtnActive:""].join(" "),onClick:m,"aria-label":c?"Sort: A–Z (click for Recent)":"Sort: Recent (click for A–Z)",title:c?"A–Z":"Recent",children:c?l.jsx(_y,{size:15}):l.jsx(xy,{size:15})}),l.jsxs("button",{type:"button",className:[Fe.filterToggleBtn,S?Fe.filterToggleBtnActive:""].join(" "),onClick:()=>w(B=>!B),"aria-label":"Toggle advanced filters","aria-pressed":S,title:"Advanced filters",children:[l.jsx(Ly,{size:15}),L>0&&l.jsx("span",{className:Fe.filterBadge,children:L})]})]}),l.jsx("div",{className:Fe.filters,children:l.jsx(Zj,{filters:K1,active:o,onChange:f})}),l.jsxs("div",{className:Fe.mainArea,children:[l.jsx("div",{className:Fe.cardList,role:"list","aria-label":"Library content",children:s&&n.length===0?Array.from({length:4}).map((B,Z)=>l.jsxs("div",{className:Fe.skeleton,"aria-hidden":"true",children:[l.jsx("div",{className:Fe.skeletonIcon}),l.jsxs("div",{className:Fe.skeletonText,children:[l.jsx("div",{className:Fe.skeletonLine}),l.jsx("div",{className:Fe.skeletonLineSm})]})]},Z)):n.length>0?l.jsxs(l.Fragment,{children:[n.map(B=>l.jsx(Gj,{item:B,onAdd:T,onPreview:F,isDraggable:b,isAdded:M.has(B.identifier)},B.identifier)),d&&l.jsx("button",{type:"button",className:Fe.loadMoreBtn,onClick:_,disabled:s,"aria-label":"Load more content",children:s?"Loading…":"Load More"})]}):l.jsxs("div",{className:Fe.emptyState,children:[l.jsx(pa,{size:24}),l.jsx("p",{children:"No content found"}),l.jsx("span",{children:"Try a different search or filter"})]})}),S&&l.jsx("div",{className:Fe.sidePanelOverlay,children:l.jsx(gR,{isOpen:S,filters:C,onApply:A,onClose:()=>w(!1)})}),j&&l.jsx(ER,{content:j,onAdd:R,onClose:()=>k(null)})]})]})};function ZR(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","keywords","language","additionalCategories","medium","gradeLevel","subject","boardIds","mediumIds","gradeLevelIds","subjectIds","targetBoardIds","targetMediumIds","targetGradeLevelIds","targetSubjectIds","dialcodes"]),c=new Set(["copyrightYear","compatibilityLevel","version"]);function d(g,m=!1){const _={};for(const[h,y]of Object.entries(g))if(!i.has(h)&&!(m&&o.has(h)))if(a.has(h))Array.isArray(y)?_[h]=y:y!=null&&y!==""?_[h]=[y]:_[h]=[];else if(c.has(h)){const v=Number(y);isNaN(v)||(_[h]=v)}else _[h]=y;return _}function u(g){var _;const m={};for(const h of g.children??[]){if(h.isFolder)continue;const y=t[h.identifier];if(!y)continue;const{isNew:v,...b}=y;if(Object.keys(b).length===0)continue;const S=((_=h.metadata)==null?void 0:_.relationalMetadata)??{};m[h.identifier]={name:h.name,...S,...b}}return m}function f(g,m){var S,w;const _=g.identifier,h=t[_],y=_.startsWith("temp-")||!!(h!=null&&h.isNew),v=!g.isFolder&&!m;if(m||y||h&&!v){let C;if(y)C={mimeType:"application/vnd.ekstep.content-collection",code:_,contentType:((S=g.metadata)==null?void 0:S.contentType)??"CourseUnit",primaryCategory:((w=g.metadata)==null?void 0:w.primaryCategory)??"Course Unit",name:g.name,visibility:"Parent",channel:r,...d(g.metadata??{})};else if(m){const{isNew:I,...j}=h??{};C={...d(g.metadata??{},!0),...d(j,!1),name:g.name}}else{const{isNew:I,...j}=h??{};C={name:g.name,visibility:"Parent",...d(j,!0)}}n[_]={metadata:C,objectType:g.objectType||(g.isFolder?"Collection":"Content"),root:m,isNew:y}}const b=g.isFolder?u(g):{};s[_]={name:g.name,children:(g.children??[]).map(C=>C.identifier),...Object.keys(b).length>0?{relationalMetadata:b}:{},root:m},(g.children??[]).forEach(C=>f(C,!1))}return e.forEach((g,m)=>f(g,m===0)),{nodesModified:n,hierarchy:s}}function JR(){const[e,t]=p.useState(!1),r=je(u=>u.treeCache),n=je(u=>u.treeData),s=ae(u=>u.isDirty),i=ae(u=>u.lastSaved),{setIsDirty:o,setLastSaved:a}=ae(),c=ae(u=>u.editorConfig);return{save:p.useCallback(async()=>{if(!c||e)return;const u=c.context.contentId??c.context.identifier??"";if(!u)return;const f=c.context.channel??"",g=c.context.userId??c.context.uid??"";t(!0);try{const{nodesModified:m,hierarchy:_}=ZR(n,r,f),{identifiers:h}=await S_(u,m,_,g);h&&Object.keys(h).length>0&&je.getState().replaceNodeIds(h);const y=new Date().toISOString();a(y),o(!1)}catch(m){console.error("[useSaveHierarchy] save failed:",m),Oe.error("Failed to save. Please try again.")}finally{t(!1)}},[c,e,n,r,o,a]),isSaving:e,isDirty:s,lastSaved:i}}function ek(e){const t=ae(o=>o.editorConfig),r=ae(o=>o.setButtonLoader),n=ae(o=>o.validateAllForms),s=je(o=>o.treeData);return{runAction:p.useCallback(async(o,a)=>{var u,f,g,m;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 Oe.error("No content identifier found."),!1;const d=((g=t==null?void 0:t.context)==null?void 0:g.userId)??((m=t==null?void 0:t.context)==null?void 0:m.uid)??"";try{switch(o){case"sendForReview":return n(s)?(r("saveCollection",!0),await e(),await E_(c),Oe.success("Content sent for review"),!0):(Oe.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 O_(c,_),Oe.success("Content rejected and sent back to the author"),!0}case"publish":return n(s)?(r("publishCollection",!0),await e(),await x_(c,d),Oe.success("Content published successfully"),!0):(Oe.error("Some units have missing required fields. Please fill them before publishing."),!1);default:return!1}}catch(_){console.error(`[useToolbarActions] ${o} failed`,_);const h=o==="sendForReview"?"send for review":o==="reject"?"reject":"publish";return Oe.error(`Failed to ${h}. Please try again.`),!1}finally{r("saveCollection",!1),r("rejectCollection",!1),r("publishCollection",!1)}},[t,e,r])}}const tk="_shell_90fon_1",rk="_workspace_90fon_8",nk="_sidebarCollapsed_90fon_16",sk="_dockCollapsed_90fon_19",ik="_dock_90fon_19",ok="_outline_90fon_40",ak="_reopenTab_90fon_45",lk="_outlineHidden_90fon_79",ck="_editor_90fon_86",uk="_dockHidden_90fon_101",dk="_dockReopenTab_90fon_108",fk="_dragChip_90fon_133",hk="_dragChipLabel_90fon_148",jt={shell:tk,workspace:rk,sidebarCollapsed:nk,dockCollapsed:sk,dock:ik,outline:ok,reopenTab:ak,outlineHidden:lk,editor:ck,dockHidden:uk,dockReopenTab:dk,dragChip:fk,dragChipLabel:hk},pk=({editorMode:e,onToolbarEvent:t,onContentAdded:r,onHierarchySaved:n})=>{const[s,i]=p.useState(null),[o,a]=p.useState(!1),[c,d]=p.useState(!1),[u,f]=p.useState(!1),{addResource:g,treeData:m}=je(),_=ae(R=>R.setFormStatus),[h,y]=p.useState(!0),v=je(R=>R.selectedNodeId),{save:b,isSaving:S,isDirty:w,lastSaved:C}=JR(),{runAction:I}=ek(b);p.useEffect(()=>{if(!w)return;const R=L=>{L.preventDefault(),L.returnValue=""};return window.addEventListener("beforeunload",R),()=>window.removeEventListener("beforeunload",R)},[w]);const j=Id(ca(Gi,{activationConstraint:{distance:8}})),k=p.useCallback(R=>{var B;const L=(B=R.active.data.current)==null?void 0:B.item;L&&i(L)},[]),M=p.useCallback(R=>{var we,le;i(null);const L=(we=R.active.data.current)==null?void 0:we.item;if(!L)return;const B=R.over,Z=(B==null?void 0:B.id)??v??void 0;if(!Z){Oe.error("Drop onto a unit to add content");return}const se=(le=m[0])==null?void 0:le.id;if(Z===se){Oe.error("Drop content onto a unit, not directly on the course.");return}if(!g(L,Z)){Oe.error(`"${L.name}" is already in this collection`);return}r==null||r(L,Z),Oe.success(`Added "${L.name}" to unit`)},[v,g,r]),T=p.useCallback(async R=>{if(R.action==="onFormStatusChange"){const{isValid:L,nodeId:B}=R.data??{},Z=L!==!1;y(Z),B&&_(B,Z);return}if(R.action==="back"&&w){f(!0);return}if(R.action==="saveCollection"){if(!h){Oe.error("Please fill the required metadata");return}await b(),n==null||n(m),t==null||t(R);return}if(R.action==="sendForReview"||R.action==="reject"||R.action==="publish"){await I(R.action,R.data)&&(t==null||t(R));return}t==null||t(R)},[b,I,t,n,m,w,h]),A=p.useCallback(async()=>{await b(),f(!1),n==null||n(m),t==null||t({action:"back"})},[b,n,t,m]),F=p.useCallback(()=>{f(!1),t==null||t({action:"back"})},[t]);return l.jsxs(Qd,{sensors:j,onDragStart:k,onDragEnd:M,children:[l.jsxs("div",{className:jt.shell,children:[l.jsx(Aw,{editorMode:e,isSaving:S,isDirty:w,lastSaved:C,isFormValid:h,onToolbarEvent:T}),l.jsxs("div",{className:[jt.workspace,o?jt.sidebarCollapsed:"",c?jt.dockCollapsed:""].filter(Boolean).join(" "),children:[l.jsx("aside",{className:[jt.outline,o?jt.outlineHidden:""].join(" "),"aria-label":"Course outline","aria-hidden":o,children:l.jsx(oO,{editorMode:e,collapsed:o,onToggleCollapse:()=>a(R=>!R)})}),o&&l.jsx("button",{className:jt.reopenTab,onClick:()=>a(!1),title:"Show outline",type:"button",children:"›"}),l.jsx("main",{className:jt.editor,role:"main","aria-label":"Content editor",children:l.jsx(Pj,{editorMode:e,onToolbarEvent:T})}),l.jsx("aside",{className:[jt.dock,c?jt.dockHidden:""].filter(Boolean).join(" "),"aria-label":"Content library","aria-hidden":c,children:l.jsx(XR,{editorMode:e,collapsed:c,onToggleCollapse:()=>d(R=>!R)})}),c&&l.jsx("button",{className:jt.dockReopenTab,onClick:()=>d(!1),title:"Show library",type:"button",children:"‹"})]})]}),l.jsx(gy,{dropAnimation:null,children:s?l.jsx("div",{className:jt.dragChip,children:l.jsx("span",{className:jt.dragChipLabel,children:s.name})}):null}),u&&l.jsx(Pw,{onSave:A,onDiscard:F,onCancel:()=>f(!1),isSaving:S})]})},gk="v1";function mk(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 Ku(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:mk(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 Sr(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.name??void 0,i=n.fields.filter(o=>!!o.code).sort((o,a)=>(o.index??0)-(a.index??0));for(const o of i)r.push(Ku(o,s))}else n.code&&r.push(Ku(n));return r}function yk(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 vk(e,t,r="Collection",n=gk){var d,u;const i=(u=(d=(await Re.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:Sr(o.create),unitForm:Sr(o.unitMetadata),childForm:Sr(o.childMetadata),searchForm:Sr(o.search??o.searchConfig),relationalForm:Sr(o.relationalMetadata),publishChecklist:Sr(o.publishchecklist),reviewChecklist:Sr(o.review),rfcChecklist:Sr(o.requestforchangeschecklist),schemaDefaults:yk(a.schema),frameworkMetadata:c.frameworkMetadata??{},sourcingSettings:c.sourcingSettings??{}}}function bk({config:e,onError:t}){const[r,n]=p.useState(!0),[s,i]=p.useState(null),[o,a]=p.useState(!1),{setEditorConfig:c,setEditorMode:d,setCategoryDefinition:u,setContentFramework:f}=ae(),{setTreeData:g,selectNode:m}=je();return p.useEffect(()=>{let _=!1;async function h(){var y,v;try{n(!0),i(null),e.apiBaseUrl&&Pf(e.apiBaseUrl),c(e),d(e.config.mode);const b=e.context.contentId??e.context.identifier??"";if(b){const S=e.config.objectType==="QuestionSet",{rootNode:w}=S?await w_(b):await Ff(b);if(!_&&(g(w?[w]:[]),w)){m(w.id);const M=w.metadata??{},T=M.framework??e.context.framework??null,A=M.targetFWIds??e.context.targetFWIds??null;f(T,A)}const C=e.config.primaryCategory??"Course",I=e.context.channel??"",j=e.config.categoryDefinitionApiVersion??"v1";try{const k=await vk(C,I,e.config.objectType??"Collection",j);if(!_){u(k);const M=((y=k.sourcingSettings)==null?void 0:y.collection)??{},T={};M.maxDepth&&!e.config.maxDepth&&(T.maxDepth=M.maxDepth),M.children&&!e.config.children&&(T.children=M.children),M.hierarchy&&!((v=e.config.hierarchy)!=null&&v.level1)&&(T.hierarchy={...e.config.hierarchy??{},...M.hierarchy}),Object.keys(T).length>0&&c({...e,config:{...e.config,...T}})}}catch{}}_||a(!0)}catch(b){if(!_){const S=b instanceof Error?b:new Error(String(b));i(S),t==null||t(S)}}finally{_||n(!1)}}return h(),()=>{_=!0}},[e.context.contentId,e.context.identifier]),{isLoading:r,error:s,isReady:o}}const _k="_root_qcpw6_1",wk="_loadingState_qcpw6_10",Sk="_loadingSpinner_qcpw6_20",xk="_errorState_qcpw6_34",fs={root:_k,loadingState:wk,loadingSpinner:Sk,errorState:xk},Ck=new $p({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});class Ek extends p.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:fs.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 Ok(e){const{isLoading:t,error:r}=bk({config:e,onError:e.onError}),n=ae(s=>s.editorMode);return t?l.jsxs("div",{className:fs.loadingState,children:[l.jsx("div",{className:fs.loadingSpinner}),l.jsx("p",{children:"Loading editor..."})]}):r?l.jsxs("div",{className:fs.errorState,children:[l.jsx("h3",{children:"Failed to load editor"}),l.jsx("p",{children:r.message})]}):l.jsx("div",{className:`sb-split-builder ${fs.root}`,children:l.jsx(pk,{editorMode:n,onToolbarEvent:e.onToolbarEvent,onContentAdded:e.onContentAdded,onHierarchySaved:e.onHierarchySaved})})}const up=e=>l.jsx(Ek,{onError:e.onError,children:l.jsxs(Up,{client:Ck,children:[l.jsx(Ok,{...e}),l.jsx(Bg,{position:"top-right",toastOptions:{duration:3e3}})]})}),zi=Symbol.for("r2wc.reactRender"),Gu=Symbol.for("r2wc.shouldRender"),ai=Symbol.for("r2wc.root");function Dk(e=""){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Ik(e=""){return e.replace(/-([a-z0-9])/g,function(t){return t[1].toUpperCase()})}var Yu={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 Tk(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,g){return i&&(s[u]=!0),typeof u=="symbol"||s[u]||u in d?(e.propTypes&&u in e.propTypes&&Yu.expando(g,u,f),Reflect.set(d,u,f,g)):(Yu.expando(g,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[Gu]=!0,this[zi]()},a.disconnectedCallback=function(){typeof r.createRoot=="function"?this[ai].unmount():r.unmountComponentAtNode(this)},a[zi]=function(){if(this[Gu]===!0){var d={};Object.keys(this).forEach(function(g){s[g]!==!1&&(d[g]=this[g])},this),i=!0;const u=n.shadow?this.shadowRoot:this,f=t.createElement(e,d);typeof r.createRoot=="function"?(this[ai]||(this[ai]=r.createRoot(u)),this[ai].render(f)):r.render(f,u),i=!1}},e.propTypes&&(o.observedAttributes=n.dashStyleAttributes?Object.keys(e.propTypes).map(function(d){return Dk(d)}):Object.keys(e.propTypes),a.attributeChangedCallback=function(d,u,f){var g=n.dashStyleAttributes?Ik(d):d;this[g]=f}),o}var hs={},cs=Pr;if(process.env.NODE_ENV==="production")hs.createRoot=cs.createRoot,hs.hydrateRoot=cs.hydrateRoot;else{var li=cs.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;hs.createRoot=function(e,t){li.usingClientEntryPoint=!0;try{return cs.createRoot(e,t)}finally{li.usingClientEntryPoint=!1}},hs.hydrateRoot=function(e,t,r){li.usingClientEntryPoint=!0;try{return cs.hydrateRoot(e,t,r)}finally{li.usingClientEntryPoint=!1}}}function Nk(){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 jk(e="sb-collection-editor"){if(Nk(),typeof customElements>"u"||customElements.get(e))return;const t=Tk(up,p,hs,{});customElements.define(e,t)}exports.CollectionEditor=up;exports.registerCollectionEditor=jk;exports.setApiBaseUrl=Pf;exports.useEditorStore=ae;exports.useLibraryStore=lp;exports.useTreeStore=je;