@nice2dev/ui-tools 1.0.12 → 1.0.15

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/README.md CHANGED
@@ -16,6 +16,20 @@ npm install @nice2dev/ui-tools
16
16
  import {} from /* component(s) */ '@nice2dev/ui-tools';
17
17
  ```
18
18
 
19
+ ## Styling
20
+
21
+ This package ships unstyled component logic. Import the shared CSS bundle once at your app entrypoint:
22
+
23
+ ```tsx
24
+ import '@nice2dev/ui/style.css';
25
+ ```
26
+
27
+ Optional: opt into the legacy shorthand token aliases (`--bg-*`, `--text-*`, `--border-*`, ...) when migrating from a custom design-token system:
28
+
29
+ ```tsx
30
+ import '@nice2dev/ui/css/legacy-bg-text-aliases.css';
31
+ ```
32
+
19
33
  ## What's inside
20
34
 
21
35
  - **76** source files
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@nice2dev/ui"),u=require("react"),B=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),U=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),H=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Q=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),q=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),$=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),G=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),W=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),X=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),K=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),J=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Y=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Z=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ee=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),te=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),oe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ne=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ie=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),se=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),le=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),de=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ce=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ue=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),pe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ge=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),fe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),be=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),he=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ye=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),we=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Se=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ve={"operation-operationId":{name:"operation-operationId",description:"Operation must have an operationId",severity:"error",category:"structure",fixable:!1},"operation-description":{name:"operation-description",description:"Operation should have a description",severity:"warn",category:"documentation",fixable:!1},"info-contact":{name:"info-contact",description:"Info object should have contact information",severity:"warn",category:"documentation",fixable:!1},"no-$ref-siblings":{name:"no-$ref-siblings",description:"A $ref object must not have sibling properties",severity:"error",category:"structure",fixable:!1},"path-params":{name:"path-params",description:"Path parameters must be defined",severity:"error",category:"structure",fixable:!1}},Oe=Object.freeze(Object.defineProperty({__proto__:null,OPENAPI_LINT_RULES:ve},Symbol.toStringTag,{value:"Module"})),Pe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),je=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Me=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Te=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),De=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ce=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ae=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ke=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ze=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ne=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ie=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Fe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ve=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Re=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Be=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ue=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),He=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Qe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),qe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),$e=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ge=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),We=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ke=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Je=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ye=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ze=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),et=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),tt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),rt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function ot(a,e=2){if(a===0)return"0 B";const t=1024,r=e<0?0:e,o=["B","KB","MB","GB","TB","PB"],i=Math.floor(Math.log(a)/Math.log(t));return parseFloat((a/Math.pow(t,i)).toFixed(r))+" "+o[i]}function f(a){let t="B/s",r=a;return a>=1024*1024*1024?(t="GB/s",r=a/(1024*1024*1024)):a>=1024*1024?(t="MB/s",r=a/(1024*1024)):a>=1024&&(t="KB/s",r=a/1024),{bytesPerSecond:a,displayValue:r.toFixed(2),displayUnit:t}}function nt(a){if(!isFinite(a)||a<0)return"∞";const e=Math.floor(a/3600),t=Math.floor(a%3600/60),r=Math.floor(a%60);return e>0?`${e}h ${t}m`:t>0?`${t}m ${r}s`:`${r}s`}function _(a,e){if(!(e<=0))return Math.ceil(a/e)}function D(a){var e;if(a.startsWith("magnet:"))return C(a);try{const t=new URL(a),o=decodeURIComponent(t.pathname).split("/").pop()||"download",i=o.includes(".")?(e=o.split(".").pop())==null?void 0:e.toLowerCase():void 0;let s="https";return t.protocol==="http:"?s="http":t.protocol==="ftp:"?s="ftp":t.protocol==="sftp:"&&(s="sftp"),{url:a,protocol:s,host:t.host,filename:o,extension:i,fileType:i?A(i):void 0,resumable:s==="https"||s==="http",requiresAuth:!!t.username,isMagnet:!1,isMetalink:!1}}catch{return{url:a,protocol:"https",host:"unknown",filename:"download",resumable:!1,isMagnet:!1,isMetalink:!1}}}function C(a){var b;const e=new URLSearchParams(a.replace("magnet:?","")),r=(e.get("xt")||"").replace("urn:btih:",""),o=e.get("dn")||"Unknown Torrent",i=e.getAll("tr"),s=e.get("xl")?parseInt(e.get("xl"),10):void 0,c=((b=e.get("kt"))==null?void 0:b.split("+"))||[];return{url:a,protocol:"bittorrent",host:"bittorrent",filename:o,size:s,resumable:!0,isMagnet:!0,isMetalink:!1,magnetInfo:{infoHash:r,displayName:o,trackers:i,exactLength:s,keywords:c}}}function A(a){const e={video:["mp4","mkv","avi","mov","wmv","flv","webm","m4v","mpeg","mpg","3gp"],audio:["mp3","flac","wav","aac","ogg","wma","m4a","opus","aiff"],image:["jpg","jpeg","png","gif","bmp","svg","webp","ico","tiff","raw"],document:["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","rtf","odt"],archive:["zip","rar","7z","tar","gz","bz2","xz","iso"],executable:["exe","msi","dmg","app","deb","rpm","apk"],code:["js","ts","py","java","cpp","c","cs","go","rs","rb","php"]};for(const[t,r]of Object.entries(e))if(r.includes(a.toLowerCase()))return t;return"other"}function k(){return`dl_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,9)}`}async function z(a,e){if(typeof crypto>"u"||!crypto.subtle)return console.warn("Web Crypto API not available for checksum validation"),!0;const r={sha256:"SHA-256",sha512:"SHA-512",sha1:"SHA-1"}[e.algorithm];if(!r)return console.warn(`Unsupported checksum algorithm: ${e.algorithm}`),!0;const o=await crypto.subtle.digest(r,a);return Array.from(new Uint8Array(o)).map(c=>c.toString(16).padStart(2,"0")).join("").toLowerCase()===e.value.toLowerCase()}function at(a,e){if(a<=0||e<=0)return[];const t=Math.ceil(a/e),r=[];for(let o=0;o<e;o++){const i=o*t,s=Math.min(i+t-1,a-1);r.push({index:o,start:i,end:s,downloaded:0,status:"pending",retries:0})}return r}class N{constructor(e={}){this.downloads=new Map,this.activeDownloads=new Set,this.abortControllers=new Map,this.speedSamples=new Map,this.eventListeners=new Map,this.updateInterval=null,this.config={defaultDownloadPath:e.defaultDownloadPath??"/downloads",maxConcurrentDownloads:e.maxConcurrentDownloads??3,bandwidthLimit:e.bandwidthLimit,retryAttempts:e.retryAttempts??3,retryDelay:e.retryDelay??5e3,autoStart:e.autoStart??!0,resumeOnStartup:e.resumeOnStartup??!0,categories:e.categories??[],fileTypeFilters:e.fileTypeFilters??[]}}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>{var r;return(r=this.eventListeners.get(e))==null?void 0:r.delete(t)}}emit(e){const t=this.eventListeners.get(e.type);if(t)for(const r of t)try{r(e)}catch(o){console.error("Download event listener error:",o)}}addDownload(e,t={}){const r=D(e),o=k(),i={id:o,url:e,filename:t.filename??r.filename,path:t.path??this.config.defaultDownloadPath,status:"queued",priority:t.priority??"normal",size:r.size,downloadedBytes:0,progress:0,speed:f(0),addedDate:new Date,retryCount:0,category:t.category??this.detectCategory(r.extension),source:{type:r.isMagnet?"magnet":"direct",protocol:r.protocol,host:r.host},checksum:t.checksum};return this.downloads.set(o,i),this.emit({type:"added",download:i}),this.emitQueueChanged(),(t.autoStart??this.config.autoStart)&&this.activeDownloads.size<this.config.maxConcurrentDownloads&&this.startDownload(o),i}addDownloads(e,t={}){return e.map(r=>this.addDownload(r,t))}removeDownload(e,t=!1){return this.downloads.get(e)?(this.cancelDownload(e),this.downloads.delete(e),this.emitQueueChanged(),t&&console.warn("File deletion not implemented in browser environment"),!0):!1}getDownload(e){return this.downloads.get(e)}getAllDownloads(){return Array.from(this.downloads.values())}getQueue(){const e=this.getAllDownloads(),t=e.reduce((o,i)=>o+(i.size??0),0),r=e.reduce((o,i)=>o+i.downloadedBytes,0);return{items:e,totalSize:t,totalProgress:t>0?r/t*100:0,activeDownloads:this.activeDownloads.size,queuedDownloads:e.filter(o=>o.status==="queued").length,completedDownloads:e.filter(o=>o.status==="completed").length}}getDownloadsByStatus(e){return this.getAllDownloads().filter(t=>t.status===e)}getDownloadsByCategory(e){return this.getAllDownloads().filter(t=>t.category===e)}async startDownload(e){const t=this.downloads.get(e);if(!t||t.status==="downloading")return;if(this.activeDownloads.size>=this.config.maxConcurrentDownloads){t.status="queued";return}t.status="downloading",t.startedDate=new Date,this.activeDownloads.add(e);const r=new AbortController;this.abortControllers.set(e,r),this.speedSamples.set(e,[]),this.emit({type:"started",download:t});try{await this.executeDownload(t,r.signal),t.status="completed",t.completedDate=new Date,t.progress=100,this.emit({type:"completed",download:t})}catch(o){if(r.signal.aborted)return;t.errorMessage=o instanceof Error?o.message:"Download failed",t.retryCount<this.config.retryAttempts?(t.retryCount++,t.status="queued",setTimeout(()=>this.startDownload(e),this.config.retryDelay)):(t.status="failed",this.emit({type:"failed",download:t,error:o instanceof Error?o:new Error(String(o))}))}finally{this.activeDownloads.delete(e),this.abortControllers.delete(e),this.speedSamples.delete(e),this.emitQueueChanged(),this.processQueue()}}pauseDownload(e){const t=this.downloads.get(e);if(!t||t.status!=="downloading")return;const r=this.abortControllers.get(e);r&&r.abort(),t.status="paused",this.activeDownloads.delete(e),this.emit({type:"paused",download:t}),this.emitQueueChanged(),this.processQueue()}resumeDownload(e){const t=this.downloads.get(e);!t||t.status!=="paused"||(t.status="queued",this.emit({type:"resumed",download:t}),this.startDownload(e))}cancelDownload(e){const t=this.downloads.get(e);if(!t)return;const r=this.abortControllers.get(e);r&&r.abort(),t.status="cancelled",this.activeDownloads.delete(e),this.emit({type:"cancelled",download:t}),this.emitQueueChanged(),this.processQueue()}pauseAll(){for(const e of this.activeDownloads)this.pauseDownload(e)}resumeAll(){for(const e of this.downloads.values())e.status==="paused"&&this.resumeDownload(e.id)}cancelAll(){for(const e of this.downloads.keys())this.cancelDownload(e)}setPriority(e,t){const r=this.downloads.get(e);r&&(r.priority=t,this.emitQueueChanged())}moveInQueue(e,t){const r=this.getAllDownloads().filter(i=>i.status==="queued"),o=r.findIndex(i=>i.id===e);if(o!==-1){switch(t){case"top":r[o].priority="critical";break;case"up":r[o].priority==="normal"?r[o].priority="high":r[o].priority==="low"&&(r[o].priority="normal");break;case"down":r[o].priority==="normal"?r[o].priority="low":r[o].priority==="high"&&(r[o].priority="normal");break;case"bottom":r[o].priority="low";break}this.emitQueueChanged()}}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e}}setBandwidthLimit(e){this.config.bandwidthLimit=e}setMaxConcurrentDownloads(e){this.config.maxConcurrentDownloads=e,this.processQueue()}addCategory(e){this.config.categories=[...this.config.categories??[],e]}getStats(){const e=this.getAllDownloads(),t=e.reduce((i,s)=>i+s.downloadedBytes,0),r=e.reduce((i,s)=>i+(s.size??0),0);let o=0;for(const i of this.activeDownloads){const s=this.downloads.get(i);s&&(o+=s.speed.bytesPerSecond)}return{downloaded:t,uploaded:0,remaining:r-t,total:r,progress:r>0?t/r*100:0,downloadSpeed:f(o),uploadSpeed:f(0),eta:o>0?_(r-t,o):void 0}}async executeDownload(e,t){var g,d;const r=await fetch(e.url,{signal:t,headers:(g=e.source)!=null&&g.auth?this.buildAuthHeaders(e.source.auth):void 0});if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);const o=r.headers.get("content-length");o&&(e.size=parseInt(o,10));const i=(d=r.body)==null?void 0:d.getReader();if(!i)throw new Error("Response body is not readable");const s=[];let c=Date.now(),m=0;for(;;){const{done:p,value:h}=await i.read();if(p)break;s.push(h),e.downloadedBytes+=h.length,m+=h.length,e.size&&(e.progress=e.downloadedBytes/e.size*100);const S=Date.now(),T=S-c;if(T>=500){const O=m/T*1e3;this.updateSpeed(e.id,O),e.speed=f(O),e.eta=e.size?_(e.size-e.downloadedBytes,O):void 0,this.emit({type:"progress",download:e}),c=S,m=0}}const b=new Uint8Array(e.downloadedBytes);let l=0;for(const p of s)b.set(p,l),l+=p.length;if(e.checksum){if(!await z(b.buffer,e.checksum))throw new Error("Checksum validation failed");e.checksum.verified=!0}this.handleDownloadComplete(e,b)}handleDownloadComplete(e,t){if(typeof window<"u"&&typeof document<"u"){const r=new Blob([new Uint8Array(t)]),o=URL.createObjectURL(r),i=document.createElement("a");i.href=o,i.download=e.filename,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)}}buildAuthHeaders(e){if(!e)return{};switch(e.type){case"basic":return{Authorization:`Basic ${btoa(`${e.username}:${e.password}`)}`};case"bearer":return{Authorization:`Bearer ${e.token}`};case"api_key":return{"X-API-Key":e.apiKey??""};default:return{}}}updateSpeed(e,t){const r=this.speedSamples.get(e)||[];r.push(t),r.length>10&&r.shift(),this.speedSamples.set(e,r)}processQueue(){if(this.activeDownloads.size>=this.config.maxConcurrentDownloads)return;const e=this.getDownloadsByStatus("queued").sort((t,r)=>{const o={critical:0,high:1,normal:2,low:3};return o[t.priority]-o[r.priority]});for(const t of e){if(this.activeDownloads.size>=this.config.maxConcurrentDownloads)break;this.startDownload(t.id)}}detectCategory(e){var t;if(!(!e||!this.config.categories)){for(const r of this.config.categories)if((t=r.fileTypes)!=null&&t.includes(e.toLowerCase()))return r.id}}emitQueueChanged(){this.emit({type:"queue-changed",queue:this.getQueue()})}dispose(){this.cancelAll(),this.updateInterval&&clearInterval(this.updateInterval),this.eventListeners.clear(),this.downloads.clear()}}let y=null;function x(a){return y||(y=new N(a)),y}function it(){y==null||y.dispose(),y=null}function st(a={}){const{config:e,autoRefresh:t=!0,refreshInterval:r=1e3}=a,o=u.useMemo(()=>x(e),[e]),[i,s]=u.useState(o.getQueue()),[c,m]=u.useState(o.getStats());u.useEffect(()=>{const d=()=>{s(o.getQueue()),m(o.getStats())},p=[o.on("added",d),o.on("started",d),o.on("progress",d),o.on("paused",d),o.on("resumed",d),o.on("completed",d),o.on("failed",d),o.on("cancelled",d),o.on("queue-changed",d)];let h;return t&&(h=setInterval(()=>{o.getQueue().activeDownloads>0&&d()},r)),()=>{p.forEach(S=>S()),h&&clearInterval(h)}},[o,t,r]);const b=u.useMemo(()=>i.items.filter(d=>d.status==="downloading"),[i]),l=u.useCallback((d,p)=>o.addDownload(d,p),[o]),g=u.useCallback((d,p)=>o.addDownloads(d,p),[o]);return{queue:i,stats:c,activeDownloads:b,addDownload:l,addDownloads:g,startDownload:u.useCallback(d=>o.startDownload(d),[o]),pauseDownload:u.useCallback(d=>o.pauseDownload(d),[o]),resumeDownload:u.useCallback(d=>o.resumeDownload(d),[o]),cancelDownload:u.useCallback(d=>o.cancelDownload(d),[o]),removeDownload:u.useCallback((d,p)=>o.removeDownload(d,p),[o]),pauseAll:u.useCallback(()=>o.pauseAll(),[o]),resumeAll:u.useCallback(()=>o.resumeAll(),[o]),setBandwidthLimit:u.useCallback(d=>o.setBandwidthLimit(d),[o]),setPriority:u.useCallback((d,p)=>o.setPriority(d,p),[o])}}function j(){const a="0123456789abcdef";let e="";for(let t=0;t<40;t++)e+=a[Math.floor(Math.random()*a.length)];return e}function L(){const a="-NI0100-",e=Array.from({length:12},()=>Math.floor(Math.random()*256).toString(16).padStart(2,"0")).join("");return a+e}function I(a){var m;if(!a.startsWith("magnet:?"))return null;const e=new URLSearchParams(a.replace("magnet:?","")),t=e.get("xt");if(!t)return null;const r=t.replace("urn:btih:",""),o=e.get("dn")||void 0,i=e.getAll("tr"),s=e.get("xl")?parseInt(e.get("xl"),10):void 0,c=((m=e.get("kt"))==null?void 0:m.split("+"))||void 0;return{infoHash:r,displayName:o,trackers:i.length>0?i:void 0,exactLength:s,keywords:c}}function E(a){const e=new URLSearchParams;if(e.set("xt",`urn:btih:${a.infoHash}`),e.set("dn",a.name),a.size&&e.set("xl",a.size.toString()),a.trackers)for(const t of a.trackers)e.append("tr",t);return`magnet:?${e.toString()}`}function v(a,e=262144){return Math.ceil(a/e)}function P(a){return Array.from({length:a},()=>"missing")}function lt(a,e){return`${a}/${e}`}function dt(a,e){if(a===0)return"dead";const t=a/(e+1);return t>=2&&a>=10?"excellent":t>=1&&a>=5?"good":a>=1?"fair":"poor"}function ct(a){return new Map(a.map(e=>[e.index,e.wanted]))}function M(a,e){return a.filter(t=>{var o;const r=(o=t.name.split(".").pop())==null?void 0:o.toLowerCase();return r&&e.includes(r)})}function ut(a){return M(a,["mp4","mkv","avi","mov","wmv","flv","webm","m4v","mpeg","mpg"])}function pt(a){return M(a,["mp3","flac","wav","aac","ogg","wma","m4a","opus"])}function gt(a){return a.reduce((e,t)=>t.size>((e==null?void 0:e.size)??0)?t:e,void 0)}class F{constructor(e={}){this.torrents=new Map,this.eventListeners=new Map,this.updateIntervals=new Map,this.peerId=L(),this.config={downloadPath:e.downloadPath??"/downloads/torrents",tempPath:e.tempPath,maxActiveTorrents:e.maxActiveTorrents??5,maxActiveSeedsperTorrent:e.maxActiveSeedsperTorrent??50,maxConnectionsPerTorrent:e.maxConnectionsPerTorrent??50,maxGlobalConnections:e.maxGlobalConnections??200,bandwidthLimit:e.bandwidthLimit??{enabled:!1,unit:"MB/s"},dhtEnabled:e.dhtEnabled??!0,pexEnabled:e.pexEnabled??!0,lpdEnabled:e.lpdEnabled??!0,upnpEnabled:e.upnpEnabled??!0,natPmpEnabled:e.natPmpEnabled??!0,encryptionMode:e.encryptionMode??"enabled",ipv6Enabled:e.ipv6Enabled??!0,listeningPort:e.listeningPort??6881,proxySettings:e.proxySettings},this.config.dhtEnabled&&this.initDHT(),this.config.pexEnabled&&this.initPEX()}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>{var r;return(r=this.eventListeners.get(e))==null?void 0:r.delete(t)}}emit(e){const t=this.eventListeners.get(e.type);if(t)for(const r of t)try{r(e)}catch(o){console.error("Torrent event listener error:",o)}}addMagnet(e,t={}){const r=I(e);if(!r)return console.error("Invalid magnet URI"),null;if(this.torrents.has(r.infoHash))return this.torrents.get(r.infoHash);const o=this.createTorrent({infoHash:r.infoHash,name:r.displayName??"Unknown Torrent",size:r.exactLength,trackers:r.trackers,magnetUri:e,...t});return this.torrents.set(o.infoHash,o),this.emit({type:"added",torrent:o}),t.autoStart!==!1&&this.startTorrent(o.infoHash),o}addTorrentFile(e,t={}){const r=j(),o=this.createTorrent({infoHash:r,name:"Torrent from file",...t});return this.torrents.set(o.infoHash,o),this.emit({type:"added",torrent:o}),t.autoStart!==!1&&this.startTorrent(o.infoHash),o}createTorrent(e){const t=e.size?v(e.size):0,r=(e.trackers||this.getDefaultTrackers()).filter((o,i,s)=>s.indexOf(o)===i).map((o,i)=>({url:o,tier:Math.floor(i/3),status:"not_contacted",seeds:void 0,leechers:void 0}));return{id:`torrent_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,9)}`,infoHash:e.infoHash,name:e.name,status:"queued",priority:e.priority??"normal",size:e.size??0,downloadedBytes:0,uploadedBytes:0,progress:0,ratio:0,downloadSpeed:f(0),uploadSpeed:f(0),seeds:0,peers:0,trackers:r,files:[],pieces:P(t),savePath:e.path??this.config.downloadPath,isPrivate:!1,magnetUri:e.magnetUri,addedDate:new Date,sequentialDownload:e.sequentialDownload??!1,selectedFiles:e.selectedFiles??[]}}removeTorrent(e,t=!1){const r=this.torrents.get(e);return r?(this.stopTorrent(e),this.torrents.delete(e),this.emit({type:"removed",torrent:r}),t&&console.warn("Data deletion not implemented in browser environment"),!0):!1}getTorrent(e){return this.torrents.get(e)}getAllTorrents(){return Array.from(this.torrents.values())}getTorrentsByStatus(e){return this.getAllTorrents().filter(t=>t.status===e)}startTorrent(e){const t=this.torrents.get(e);t&&(t.status==="downloading"||t.status==="seeding"||(t.files.length===0&&t.magnetUri?(t.status="checking",this.fetchMetadata(t)):(t.status="downloading",t.startedDate=new Date),this.emit({type:"started",torrent:t}),this.simulateTorrentProgress(e)))}pauseTorrent(e){const t=this.torrents.get(e);if(!t)return;const r=this.updateIntervals.get(e);r&&(clearInterval(r),this.updateIntervals.delete(e)),t.status="paused",t.downloadSpeed=f(0),t.uploadSpeed=f(0),this.emit({type:"paused",torrent:t})}resumeTorrent(e){const t=this.torrents.get(e);!t||t.status!=="paused"||(t.status=t.progress>=100?"seeding":"downloading",this.emit({type:"resumed",torrent:t}),this.simulateTorrentProgress(e))}stopTorrent(e){const t=this.torrents.get(e);if(!t)return;const r=this.updateIntervals.get(e);r&&(clearInterval(r),this.updateIntervals.delete(e)),t.status="stopped",t.downloadSpeed=f(0),t.uploadSpeed=f(0)}recheckTorrent(e){const t=this.torrents.get(e);t&&(t.status="checking",setTimeout(()=>{t.status==="checking"&&(t.status=t.progress>=100?"seeding":"queued")},2e3))}announceToTrackers(e){const t=this.torrents.get(e);if(t)for(const r of t.trackers)r.status="updating",setTimeout(()=>{r.status="working",r.lastAnnounce=new Date,r.seeds=Math.floor(Math.random()*100),r.leechers=Math.floor(Math.random()*50),this.emit({type:"tracker-update",torrent:t,tracker:r})},1e3+Math.random()*2e3)}setFileSelection(e,t,r){const o=this.torrents.get(e);if(!o)return;const i=o.files.find(s=>s.index===t);i&&(i.wanted=r,i.priority=r?"normal":"skip",o.selectedFiles&&(r&&!o.selectedFiles.includes(t)?o.selectedFiles.push(t):r||(o.selectedFiles=o.selectedFiles.filter(s=>s!==t))))}setFilePriority(e,t,r){const o=this.torrents.get(e);if(!o)return;const i=o.files.find(s=>s.index===t);i&&(i.priority=r,i.wanted=r!=="skip")}selectAllFiles(e){const t=this.torrents.get(e);if(t){for(const r of t.files)r.wanted=!0,r.priority="normal";t.selectedFiles!==void 0&&(t.selectedFiles=t.files.map(r=>r.index))}}deselectAllFiles(e){const t=this.torrents.get(e);if(t){for(const r of t.files)r.wanted=!1,r.priority="skip";t.selectedFiles!==void 0&&(t.selectedFiles=[])}}setSequentialDownload(e,t){const r=this.torrents.get(e);r&&(r.sequentialDownload=t)}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e}}setDownloadLimit(e){e!==void 0?this.config.bandwidthLimit={...this.config.bandwidthLimit,download:e,enabled:!0}:this.config.bandwidthLimit={...this.config.bandwidthLimit,download:void 0}}setUploadLimit(e){e!==void 0?this.config.bandwidthLimit={...this.config.bandwidthLimit,upload:e,enabled:!0}:this.config.bandwidthLimit={...this.config.bandwidthLimit,upload:void 0}}setDHTEnabled(e){this.config.dhtEnabled=e,e&&this.initDHT()}setPEXEnabled(e){this.config.pexEnabled=e,e&&this.initPEX()}getStatistics(){const e=this.getAllTorrents();let t=0,r=0,o=0,i=0,s=0;for(const c of e)t+=c.downloadedBytes,r+=c.uploadedBytes,o+=c.downloadSpeed.bytesPerSecond,i+=c.uploadSpeed.bytesPerSecond,s+=c.peers;return{activeSeeders:e.filter(c=>c.status==="seeding").length,activeDownloads:e.filter(c=>c.status==="downloading").length,totalDownloaded:t,totalUploaded:r,downloadSpeed:f(o),uploadSpeed:f(i),globalRatio:t>0?r/t:0,dhtNodes:this.config.dhtEnabled?Math.floor(Math.random()*500+100):0,totalPeers:s,sessionDuration:0}}getDefaultTrackers(){return["udp://tracker.opentrackr.org:1337/announce","udp://tracker.openbittorrent.com:6969/announce","udp://open.stealth.si:80/announce","udp://tracker.torrent.eu.org:451/announce"]}initDHT(){console.log("DHT initialized")}initPEX(){console.log("PEX initialized")}fetchMetadata(e){setTimeout(()=>{e.status==="checking"&&(e.files=[{index:0,name:`${e.name}.mkv`,path:`${e.name}/${e.name}.mkv`,size:Math.floor(Math.random()*2e9)+5e8,progress:0,downloaded:0,priority:"normal",wanted:!0},{index:1,name:"sample.mp4",path:`${e.name}/sample.mp4`,size:Math.floor(Math.random()*5e7)+1e7,progress:0,downloaded:0,priority:"normal",wanted:!0},{index:2,name:"readme.txt",path:`${e.name}/readme.txt`,size:1024,progress:0,downloaded:0,priority:"low",wanted:!0}],e.size=e.files.reduce((t,r)=>t+r.size,0),e.selectedFiles=e.files.map(t=>t.index),e.pieces=P(v(e.size)),e.status="downloading",this.emit({type:"metadata",torrent:e}),this.emit({type:"started",torrent:e}))},2e3+Math.random()*3e3)}simulateTorrentProgress(e){this.updateIntervals.has(e)&&clearInterval(this.updateIntervals.get(e));const t=setInterval(()=>{const r=this.torrents.get(e);if(!r){clearInterval(t);return}if(!(r.status!=="downloading"&&r.status!=="seeding")){if(r.status==="downloading"&&r.size>0){const o=1e6+Math.random()*5e6,i=this.config.bandwidthLimit.download?Math.min(o,this.config.bandwidthLimit.download):o,s=i*(1+Math.random()*.5);r.downloadedBytes=Math.min(r.downloadedBytes+s,r.size),r.progress=r.downloadedBytes/r.size*100,r.downloadSpeed=f(i),r.uploadSpeed=f(i*.1*Math.random());for(const c of r.files)c.wanted&&(c.downloaded=Math.min(c.downloaded+s*(c.size/r.size),c.size),c.progress=c.downloaded/c.size*100);r.peers=Math.floor(Math.random()*30)+5,r.seeds=Math.floor(r.peers*.6),r.eta=_(r.size-r.downloadedBytes,i),this.emit({type:"progress",torrent:r}),r.progress>=100&&(r.status="seeding",r.completedDate=new Date,r.progress=100,r.downloadedBytes=r.size,this.emit({type:"completed",torrent:r}),this.emit({type:"seeding",torrent:r}))}if(r.status==="seeding"){const o=5e5+Math.random()*2e6;r.uploadedBytes+=o,r.uploadSpeed=f(o),r.downloadSpeed=f(0),r.ratio=r.size>0?r.uploadedBytes/r.size:0,r.peers=Math.floor(Math.random()*10)+1,r.seeds=0}}},1e3);this.updateIntervals.set(e,t)}dispose(){for(const e of this.updateIntervals.values())clearInterval(e);this.updateIntervals.clear(),this.torrents.clear(),this.eventListeners.clear()}}async function V(a){const{name:e,files:t,trackers:r=[],comment:o,isPrivate:i=!1,pieceSize:s=262144,webSeeds:c=[]}=a,m=t.reduce((h,S)=>h+S.size,0),b=j(),l=v(m,s),g=E({infoHash:b,name:e,trackers:r,size:m}),p=new TextEncoder().encode(JSON.stringify({announce:r[0]||"",info:{name:e,"piece length":s,length:m,private:i?1:0},comment:o,"url-list":c}));return{infoHash:b,magnetLink:g,torrentFile:p,size:m,pieceCount:l,pieceSize:s}}let w=null;function R(a){return w||(w=new F(a)),w}function ft(){w==null||w.dispose(),w=null}function mt(a={}){const{config:e,autoRefresh:t=!0,refreshInterval:r=1e3}=a,o=u.useMemo(()=>R(e),[e]),[i,s]=u.useState(o.getAllTorrents()),[c,m]=u.useState(o.getStatistics());u.useEffect(()=>{const l=()=>{s([...o.getAllTorrents()]),m(o.getStatistics())},g=[o.on("added",l),o.on("metadata",l),o.on("started",l),o.on("progress",l),o.on("paused",l),o.on("resumed",l),o.on("completed",l),o.on("seeding",l),o.on("failed",l),o.on("removed",l)];let d;return t&&(d=setInterval(()=>{(o.getStatistics().activeDownloads>0||o.getStatistics().activeSeeders>0)&&l()},r)),()=>{g.forEach(p=>p()),d&&clearInterval(d)}},[o,t,r]);const b=u.useMemo(()=>i.filter(l=>l.status==="downloading"||l.status==="seeding"),[i]);return{torrents:i,statistics:c,activeTorrents:b,addMagnet:u.useCallback((l,g)=>o.addMagnet(l,g),[o]),addTorrentFile:u.useCallback((l,g)=>o.addTorrentFile(l,g),[o]),removeTorrent:u.useCallback((l,g)=>o.removeTorrent(l,g),[o]),startTorrent:u.useCallback(l=>o.startTorrent(l),[o]),pauseTorrent:u.useCallback(l=>o.pauseTorrent(l),[o]),resumeTorrent:u.useCallback(l=>o.resumeTorrent(l),[o]),stopTorrent:u.useCallback(l=>o.stopTorrent(l),[o]),setFileSelection:u.useCallback((l,g,d)=>o.setFileSelection(l,g,d),[o]),setSequentialDownload:u.useCallback((l,g)=>o.setSequentialDownload(l,g),[o]),setDownloadLimit:u.useCallback(l=>o.setDownloadLimit(l),[o]),setUploadLimit:u.useCallback(l=>o.setUploadLimit(l),[o]),createTorrent:V}}const bt={cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1,effectiveMode:"traceless",consentRequired:!1,canPersist:!1,policySource:"instance",resolvedAt:new Date().toISOString()},ht={cookiesAllowed:!0,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!0,serviceWorkerCacheAllowed:!0,effectiveMode:"full",consentRequired:!0,canPersist:!0,policySource:"instance",resolvedAt:new Date().toISOString()},yt={traceless:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},ephemeral:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},private:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},balanced:{cookiesAllowed:!1,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!1,serviceWorkerCacheAllowed:!0},full:{cookiesAllowed:!0,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!0,serviceWorkerCacheAllowed:!0},custom:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1}},wt=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FULL_POLICY:ht,DEFAULT_TRACELESS_POLICY:bt,MODE_CAPABILITIES:yt},Symbol.toStringTag,{value:"Module"})),St={normalText:4.5,largeText:3,uiComponents:3,graphicalObjects:3,focusIndicators:3},_t={normalText:7,largeText:4.5,uiComponents:3,graphicalObjects:3,focusIndicators:4.5},vt={targetLevel:"AA",wcagVersion:"2.1",screenReaderOptimizations:!0,keyboardNavigation:!0,enforceColorContrast:!0,minContrastRatio:4.5,respectReducedMotion:!0,focusVisible:!0,highContrastSupport:!0,forcedColorsSupport:!0,automatedTesting:!0},Ot=["en","en-US","en-GB","es","es-ES","es-MX","fr","fr-FR","fr-CA","de","de-DE","it","it-IT","pt","pt-BR","pt-PT","ru","ru-RU","zh","zh-CN","zh-TW","ja","ja-JP","ko","ko-KR","ar","ar-SA","he","he-IL","hi","hi-IN","pl","pl-PL","nl","nl-NL","tr","tr-TR","sv","sv-SE","da","da-DK","no","nb-NO","fi","fi-FI","cs","cs-CZ","sk","sk-SK","hu","hu-HU","ro","ro-RO","bg","bg-BG","uk","uk-UA","el","el-GR","th","th-TH","vi","vi-VN","id","id-ID","ms","ms-MY"],Pt=["ar","ar-SA","ar-AE","ar-EG","ar-MA","he","he-IL","fa","fa-IR","ur","ur-PK","ps","sd","yi"],jt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_LOCALES:Ot,DEFAULT_ACCESSIBILITY_CONFIG:vt,RTL_LOCALES:Pt,WCAG_AAA_CONTRAST:_t,WCAG_AA_CONTRAST:St},Symbol.toStringTag,{value:"Module"})),Mt=[{width:16,height:16,purpose:"favicon",format:"ico"},{width:32,height:32,purpose:"favicon",format:"png"},{width:48,height:48,purpose:"favicon",format:"png"},{width:180,height:180,purpose:"apple-touch",format:"png"},{width:192,height:192,purpose:"any",format:"png"},{width:512,height:512,purpose:"any",format:"png"},{width:512,height:512,purpose:"maskable",format:"png"}],Tt=[{name:"Business Icons",npmName:"@nice2dev/icons-business",description:"All ERP-related icons for business applications",iconCount:500,categories:["accounting","hr","crm","production","warehouse","sales","purchasing"],domains:["business","finance","hr","logistics"],dependencies:[],version:"1.0.0"},{name:"Education Icons",npmName:"@nice2dev/icons-education",description:"Educational, scientific, and mathematical icons",iconCount:300,categories:["subjects","learning","school","science","math"],domains:["education","science"],dependencies:[],version:"1.0.0"},{name:"Tech Icons",npmName:"@nice2dev/icons-tech",description:"Development tools, infrastructure, cloud, and containers",iconCount:400,categories:["devtools","infrastructure","cloud","containers","networking"],domains:["technology"],dependencies:[],version:"1.0.0"},{name:"Media Icons",npmName:"@nice2dev/icons-media",description:"Audio, video, graphics, 3D, and streaming icons",iconCount:350,categories:["audio","video","graphics","3d","streaming"],domains:["creative"],dependencies:[],version:"1.0.0"},{name:"Social Icons",npmName:"@nice2dev/icons-social",description:"Social platforms, reactions, and messaging icons",iconCount:200,categories:["platforms","reactions","messaging"],domains:[],dependencies:[],version:"1.0.0"},{name:"Game Icons",npmName:"@nice2dev/icons-game",description:"Characters, items, UI elements, and game actions",iconCount:400,categories:["characters","items","ui","actions"],domains:["gaming"],dependencies:[],version:"1.0.0"},{name:"Life Management Icons",npmName:"@nice2dev/icons-life",description:"Personal finance, health, productivity, and home icons",iconCount:300,categories:["finance","health","productivity","home","family"],domains:["life-management"],dependencies:[],version:"1.0.0"},{name:"All Icons",npmName:"@nice2dev/icons-all",description:"Meta-package containing all icon packs",iconCount:2500,categories:[],domains:[],dependencies:["@nice2dev/icons-business","@nice2dev/icons-education","@nice2dev/icons-tech","@nice2dev/icons-media","@nice2dev/icons-social","@nice2dev/icons-game","@nice2dev/icons-life"],version:"1.0.0"}],Dt=Object.freeze(Object.defineProperty({__proto__:null,STANDARD_FAVICON_SIZES:Mt,THEMATIC_PACKAGES:Tt},Symbol.toStringTag,{value:"Module"})),Ct=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(exports,"CURRENT_SCHEMA_VERSION",{enumerable:!0,get:()=>n.CURRENT_SCHEMA_VERSION});Object.defineProperty(exports,"NiceAuditLog",{enumerable:!0,get:()=>n.NiceAuditLog});Object.defineProperty(exports,"NiceChat",{enumerable:!0,get:()=>n.NiceChat});Object.defineProperty(exports,"NiceColumnChooser",{enumerable:!0,get:()=>n.NiceColumnChooser});Object.defineProperty(exports,"NiceComponentTypeMapping",{enumerable:!0,get:()=>n.NiceComponentTypeMapping});Object.defineProperty(exports,"NiceDesignTokens",{enumerable:!0,get:()=>n.NiceDesignTokens});Object.defineProperty(exports,"NiceDiagramDesigner",{enumerable:!0,get:()=>n.NiceDiagramDesigner});Object.defineProperty(exports,"NiceDisplayStylePicker",{enumerable:!0,get:()=>n.NiceDisplayStylePicker});Object.defineProperty(exports,"NiceDocumentViewer",{enumerable:!0,get:()=>n.NiceDocumentViewer});Object.defineProperty(exports,"NiceDraggable",{enumerable:!0,get:()=>n.NiceDraggable});Object.defineProperty(exports,"NiceFeatureFlagsProvider",{enumerable:!0,get:()=>n.NiceFeatureFlagsProvider});Object.defineProperty(exports,"NiceFeatureGate",{enumerable:!0,get:()=>n.NiceFeatureGate});Object.defineProperty(exports,"NiceFileManager",{enumerable:!0,get:()=>n.NiceFileManager});Object.defineProperty(exports,"NiceFileUploader",{enumerable:!0,get:()=>n.NiceFileUploader});Object.defineProperty(exports,"NiceFilterBuilder",{enumerable:!0,get:()=>n.NiceFilterBuilder});Object.defineProperty(exports,"NiceGallery",{enumerable:!0,get:()=>n.NiceGallery});Object.defineProperty(exports,"NiceGitManager",{enumerable:!0,get:()=>n.NiceGitManager});Object.defineProperty(exports,"NiceMap",{enumerable:!0,get:()=>n.NiceMap});Object.defineProperty(exports,"NiceModuleHotSwap",{enumerable:!0,get:()=>n.NiceModuleHotSwap});Object.defineProperty(exports,"NiceModuleLoaderProvider",{enumerable:!0,get:()=>n.NiceModuleLoaderProvider});Object.defineProperty(exports,"NiceModuleRoute",{enumerable:!0,get:()=>n.NiceModuleRoute});Object.defineProperty(exports,"NicePermissionMatrix",{enumerable:!0,get:()=>n.NicePermissionMatrix});Object.defineProperty(exports,"NicePrintPreview",{enumerable:!0,get:()=>n.NicePrintPreview});Object.defineProperty(exports,"NiceShowcase",{enumerable:!0,get:()=>n.NiceShowcase});Object.defineProperty(exports,"NiceSortable",{enumerable:!0,get:()=>n.NiceSortable});Object.defineProperty(exports,"NiceSpeechToText",{enumerable:!0,get:()=>n.NiceSpeechToText});Object.defineProperty(exports,"NiceThemeBuilder",{enumerable:!0,get:()=>n.NiceThemeBuilder});Object.defineProperty(exports,"NiceThemeDesigner",{enumerable:!0,get:()=>n.NiceThemeDesigner});Object.defineProperty(exports,"NiceUndoManager",{enumerable:!0,get:()=>n.NiceUndoManager});Object.defineProperty(exports,"NiceUndoProvider",{enumerable:!0,get:()=>n.NiceUndoProvider});Object.defineProperty(exports,"NiceValidationGroup",{enumerable:!0,get:()=>n.NiceValidationGroup});Object.defineProperty(exports,"NiceValidationSummary",{enumerable:!0,get:()=>n.NiceValidationSummary});Object.defineProperty(exports,"NiceValidator",{enumerable:!0,get:()=>n.NiceValidator});Object.defineProperty(exports,"NiceViewCache",{enumerable:!0,get:()=>n.NiceViewCache});Object.defineProperty(exports,"NiceViewFetchError",{enumerable:!0,get:()=>n.NiceViewFetchError});Object.defineProperty(exports,"NiceViewFetcher",{enumerable:!0,get:()=>n.NiceViewFetcher});Object.defineProperty(exports,"NiceViewHotReload",{enumerable:!0,get:()=>n.NiceViewHotReload});Object.defineProperty(exports,"NiceViewRegistry",{enumerable:!0,get:()=>n.NiceViewRegistry});Object.defineProperty(exports,"NiceViewRenderer",{enumerable:!0,get:()=>n.NiceViewRenderer});Object.defineProperty(exports,"autoDetectColumns",{enumerable:!0,get:()=>n.autoDetectColumns});Object.defineProperty(exports,"checkModuleHealth",{enumerable:!0,get:()=>n.checkModuleHealth});Object.defineProperty(exports,"checkPermissions",{enumerable:!0,get:()=>n.checkPermissions});Object.defineProperty(exports,"checkSingleModule",{enumerable:!0,get:()=>n.checkSingleModule});Object.defineProperty(exports,"compareSemver",{enumerable:!0,get:()=>n.compareSemver});Object.defineProperty(exports,"createStandardErpContracts",{enumerable:!0,get:()=>n.createStandardErpContracts});Object.defineProperty(exports,"createUndoMiddleware",{enumerable:!0,get:()=>n.createUndoMiddleware});Object.defineProperty(exports,"defaultTypeMapping",{enumerable:!0,get:()=>n.defaultTypeMapping});Object.defineProperty(exports,"defaultViewRegistry",{enumerable:!0,get:()=>n.defaultViewRegistry});Object.defineProperty(exports,"deserializeManifest",{enumerable:!0,get:()=>n.deserializeManifest});Object.defineProperty(exports,"deserializeRbacPolicy",{enumerable:!0,get:()=>n.deserializeRbacPolicy});Object.defineProperty(exports,"deserializeViewV2",{enumerable:!0,get:()=>n.deserializeViewV2});Object.defineProperty(exports,"diffObjects",{enumerable:!0,get:()=>n.diffObjects});Object.defineProperty(exports,"diffViews",{enumerable:!0,get:()=>n.diffViews});Object.defineProperty(exports,"downloadCSV",{enumerable:!0,get:()=>n.downloadCSV});Object.defineProperty(exports,"downloadHTML",{enumerable:!0,get:()=>n.downloadHTML});Object.defineProperty(exports,"downloadJSON",{enumerable:!0,get:()=>n.downloadJSON});Object.defineProperty(exports,"downloadPDF",{enumerable:!0,get:()=>n.downloadPDF});Object.defineProperty(exports,"downloadXLSX",{enumerable:!0,get:()=>n.downloadXLSX});Object.defineProperty(exports,"exportToCSV",{enumerable:!0,get:()=>n.exportToCSV});Object.defineProperty(exports,"exportToHTML",{enumerable:!0,get:()=>n.exportToHTML});Object.defineProperty(exports,"exportToJSON",{enumerable:!0,get:()=>n.exportToJSON});Object.defineProperty(exports,"exportToPDF",{enumerable:!0,get:()=>n.exportToPDF});Object.defineProperty(exports,"exportToXLSX",{enumerable:!0,get:()=>n.exportToXLSX});Object.defineProperty(exports,"extractControlTypes",{enumerable:!0,get:()=>n.extractControlTypes});Object.defineProperty(exports,"extractTokensFromTheme",{enumerable:!0,get:()=>n.extractTokensFromTheme});Object.defineProperty(exports,"formatDiffAsText",{enumerable:!0,get:()=>n.formatDiffAsText});Object.defineProperty(exports,"generateAllForRbac",{enumerable:!0,get:()=>n.generateAllForRbac});Object.defineProperty(exports,"generateAllForView",{enumerable:!0,get:()=>n.generateAllForView});Object.defineProperty(exports,"generateDartModel",{enumerable:!0,get:()=>n.generateDartModel});Object.defineProperty(exports,"generateMermaidSyntax",{enumerable:!0,get:()=>n.generateMermaidSyntax});Object.defineProperty(exports,"generateRbacDart",{enumerable:!0,get:()=>n.generateRbacDart});Object.defineProperty(exports,"generateRbacTypescript",{enumerable:!0,get:()=>n.generateRbacTypescript});Object.defineProperty(exports,"generateScaffold",{enumerable:!0,get:()=>n.generateScaffold});Object.defineProperty(exports,"generateStoriesFromViews",{enumerable:!0,get:()=>n.generateStoriesFromViews});Object.defineProperty(exports,"generateStoryFromView",{enumerable:!0,get:()=>n.generateStoryFromView});Object.defineProperty(exports,"generateTokens",{enumerable:!0,get:()=>n.generateTokens});Object.defineProperty(exports,"generateTypescriptModel",{enumerable:!0,get:()=>n.generateTypescriptModel});Object.defineProperty(exports,"generateViewCatalog",{enumerable:!0,get:()=>n.generateViewCatalog});Object.defineProperty(exports,"isAllowed",{enumerable:!0,get:()=>n.isAllowed});Object.defineProperty(exports,"isVersionCompatible",{enumerable:!0,get:()=>n.isVersionCompatible});Object.defineProperty(exports,"isViewCompatibleWith",{enumerable:!0,get:()=>n.isViewCompatibleWith});Object.defineProperty(exports,"listScaffoldTemplates",{enumerable:!0,get:()=>n.listScaffoldTemplates});Object.defineProperty(exports,"niceExport",{enumerable:!0,get:()=>n.niceExport});Object.defineProperty(exports,"resolvePermissions",{enumerable:!0,get:()=>n.resolvePermissions});Object.defineProperty(exports,"runContractTests",{enumerable:!0,get:()=>n.runContractTests});Object.defineProperty(exports,"serializeManifest",{enumerable:!0,get:()=>n.serializeManifest});Object.defineProperty(exports,"serializeRbacPolicy",{enumerable:!0,get:()=>n.serializeRbacPolicy});Object.defineProperty(exports,"serializeViewV2",{enumerable:!0,get:()=>n.serializeViewV2});Object.defineProperty(exports,"useAuditLog",{enumerable:!0,get:()=>n.useAuditLog});Object.defineProperty(exports,"useColumnChooser",{enumerable:!0,get:()=>n.useColumnChooser});Object.defineProperty(exports,"useFeatureFlag",{enumerable:!0,get:()=>n.useFeatureFlag});Object.defineProperty(exports,"useFeatureFlags",{enumerable:!0,get:()=>n.useFeatureFlags});Object.defineProperty(exports,"useModuleLoader",{enumerable:!0,get:()=>n.useModuleLoader});Object.defineProperty(exports,"useNiceValidation",{enumerable:!0,get:()=>n.useNiceValidation});Object.defineProperty(exports,"usePrintPreview",{enumerable:!0,get:()=>n.usePrintPreview});Object.defineProperty(exports,"useUndoKeyboard",{enumerable:!0,get:()=>n.useUndoKeyboard});Object.defineProperty(exports,"useUndoManager",{enumerable:!0,get:()=>n.useUndoManager});Object.defineProperty(exports,"validateCrossPlatformView",{enumerable:!0,get:()=>n.validateCrossPlatformView});Object.defineProperty(exports,"validateDiagramSchema",{enumerable:!0,get:()=>n.validateDiagramSchema});Object.defineProperty(exports,"validateModuleManifest",{enumerable:!0,get:()=>n.validateModuleManifest});Object.defineProperty(exports,"validateRbacPolicy",{enumerable:!0,get:()=>n.validateRbacPolicy});Object.defineProperty(exports,"validateViewDefinitionV2",{enumerable:!0,get:()=>n.validateViewDefinitionV2});Object.defineProperty(exports,"validateViewForDeploy",{enumerable:!0,get:()=>n.validateViewForDeploy});Object.defineProperty(exports,"validateViewsBatch",{enumerable:!0,get:()=>n.validateViewsBatch});exports.AIAssistant=ae;exports.AIPlaygrounds=Ge;exports.APMProfiling=be;exports.AccessControl=Se;exports.AccessibilityI18n=jt;exports.AlertingIncidents=he;exports.ApiDesigner=Oe;exports.ApiTesting=Pe;exports.Artifacts=re;exports.AuditCompliance=_e;exports.Certificates=J;exports.ChartBuilder=xe;exports.CloudInstances=q;exports.ConfigManagement=ee;exports.Containers=U;exports.DashboardDesigner=Ne;exports.DataManagement=ce;exports.DataPipeline=Le;exports.DataWarehouse=Ie;exports.DatasetManagement=He;exports.DbAdapters=ue;exports.DbAdmin=pe;exports.DbDesigner=de;exports.Debugger=ie;exports.DeviceManagement=Fe;exports.DistributedTracing=me;exports.DnsManagement=K;exports.DownloadManager=N;exports.DownloadTorrent=rt;exports.EdgeComputing=Re;exports.Education=Je;exports.EmailTemplate=ze;exports.ErpEnterprise=Ye;exports.FormBuilder=Ae;exports.GameEngineAdvanced=Ct;exports.Git=te;exports.HardwareIntegration=Xe;exports.IDE=oe;exports.IaC=Z;exports.IconTools=Dt;exports.IntegrationPlatform=je;exports.Kubernetes=H;exports.LifeManagement=Ze;exports.LogManagement=fe;exports.Mathematics=tt;exports.MessageQueue=Me;exports.MetricsDashboard=ge;exports.MobileComponents=We;exports.ModelDeployment=$e;exports.ModelRegistry=qe;exports.ModelTraining=Qe;exports.NetworkConfig=G;exports.NetworkMonitoring=W;exports.PdfTools=Te;exports.Pipelines=Y;exports.RemoteDesktop=B;exports.ReportDesigner=ke;exports.ScadaIndustrial=Be;exports.ScientificResearch=et;exports.SecretManagement=we;exports.SecurityScanning=ye;exports.SelfServiceAnalytics=Ee;exports.SensorDashboard=Ve;exports.ServerManagement=X;exports.SmartHome=Ue;exports.Spreadsheet=De;exports.SqlEditor=le;exports.Terminal=$;exports.TestingQA=Ke;exports.TorrentClient=F;exports.Traceless=wt;exports.VirtualMachines=Q;exports.VisualScripting=ne;exports.WordProcessor=Ce;exports.Workspace=se;exports.calculateETA=_;exports.calculatePieces=v;exports.calculateTorrentHealth=dt;exports.createDownloadSegments=at;exports.createFileSelection=ct;exports.createMagnetUri=E;exports.createPieceStatus=P;exports.createTorrent=V;exports.disposeDownloadManager=it;exports.disposeTorrentClient=ft;exports.filterFilesByExtension=M;exports.formatBytes=ot;exports.formatDuration=nt;exports.formatPeerCount=lt;exports.formatSpeed=f;exports.generateDownloadId=k;exports.generateInfoHash=j;exports.generatePeerId=L;exports.getAudioFiles=pt;exports.getDownloadManager=x;exports.getFileType=A;exports.getLargestFile=gt;exports.getTorrentClient=R;exports.getVideoFiles=ut;exports.parseDownloadUrl=D;exports.parseMagnetLink=C;exports.parseMagnetUri=I;exports.useDownloadManager=st;exports.useTorrentClient=mt;exports.validateChecksum=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@nice2dev/ui"),u=require("react"),B=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),U=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),H=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Q=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),q=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),$=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),G=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),W=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),X=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),K=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),J=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Y=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Z=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ee=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),te=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),oe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ne=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ie=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),se=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),le=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),de=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ce=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ue=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),pe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ge=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),fe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),be=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),he=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ye=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),we=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Se=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ve={"operation-operationId":{name:"operation-operationId",description:"Operation must have an operationId",severity:"error",category:"structure",fixable:!1},"operation-description":{name:"operation-description",description:"Operation should have a description",severity:"warn",category:"documentation",fixable:!1},"info-contact":{name:"info-contact",description:"Info object should have contact information",severity:"warn",category:"documentation",fixable:!1},"no-$ref-siblings":{name:"no-$ref-siblings",description:"A $ref object must not have sibling properties",severity:"error",category:"structure",fixable:!1},"path-params":{name:"path-params",description:"Path parameters must be defined",severity:"error",category:"structure",fixable:!1}},Oe=Object.freeze(Object.defineProperty({__proto__:null,OPENAPI_LINT_RULES:ve},Symbol.toStringTag,{value:"Module"})),Pe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),je=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Me=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Te=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),De=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ce=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ae=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ke=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ze=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ne=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ie=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Fe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Re=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ve=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Be=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ue=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),He=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Qe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),qe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),$e=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ge=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),We=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ke=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Je=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ye=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Ze=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),et=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),tt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),rt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function ot(a,e=2){if(a===0)return"0 B";const t=1024,r=e<0?0:e,o=["B","KB","MB","GB","TB","PB"],i=Math.floor(Math.log(a)/Math.log(t));return parseFloat((a/Math.pow(t,i)).toFixed(r))+" "+o[i]}function f(a){let t="B/s",r=a;return a>=1024*1024*1024?(t="GB/s",r=a/(1024*1024*1024)):a>=1024*1024?(t="MB/s",r=a/(1024*1024)):a>=1024&&(t="KB/s",r=a/1024),{bytesPerSecond:a,displayValue:r.toFixed(2),displayUnit:t}}function nt(a){if(!isFinite(a)||a<0)return"∞";const e=Math.floor(a/3600),t=Math.floor(a%3600/60),r=Math.floor(a%60);return e>0?`${e}h ${t}m`:t>0?`${t}m ${r}s`:`${r}s`}function _(a,e){if(!(e<=0))return Math.ceil(a/e)}function D(a){var e;if(a.startsWith("magnet:"))return C(a);try{const t=new URL(a),o=decodeURIComponent(t.pathname).split("/").pop()||"download",i=o.includes(".")?(e=o.split(".").pop())==null?void 0:e.toLowerCase():void 0;let s="https";return t.protocol==="http:"?s="http":t.protocol==="ftp:"?s="ftp":t.protocol==="sftp:"&&(s="sftp"),{url:a,protocol:s,host:t.host,filename:o,extension:i,fileType:i?A(i):void 0,resumable:s==="https"||s==="http",requiresAuth:!!t.username,isMagnet:!1,isMetalink:!1}}catch{return{url:a,protocol:"https",host:"unknown",filename:"download",resumable:!1,isMagnet:!1,isMetalink:!1}}}function C(a){var b;const e=new URLSearchParams(a.replace("magnet:?","")),r=(e.get("xt")||"").replace("urn:btih:",""),o=e.get("dn")||"Unknown Torrent",i=e.getAll("tr"),s=e.get("xl")?parseInt(e.get("xl"),10):void 0,c=((b=e.get("kt"))==null?void 0:b.split("+"))||[];return{url:a,protocol:"bittorrent",host:"bittorrent",filename:o,size:s,resumable:!0,isMagnet:!0,isMetalink:!1,magnetInfo:{infoHash:r,displayName:o,trackers:i,exactLength:s,keywords:c}}}function A(a){const e={video:["mp4","mkv","avi","mov","wmv","flv","webm","m4v","mpeg","mpg","3gp"],audio:["mp3","flac","wav","aac","ogg","wma","m4a","opus","aiff"],image:["jpg","jpeg","png","gif","bmp","svg","webp","ico","tiff","raw"],document:["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","rtf","odt"],archive:["zip","rar","7z","tar","gz","bz2","xz","iso"],executable:["exe","msi","dmg","app","deb","rpm","apk"],code:["js","ts","py","java","cpp","c","cs","go","rs","rb","php"]};for(const[t,r]of Object.entries(e))if(r.includes(a.toLowerCase()))return t;return"other"}function k(){return`dl_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,9)}`}async function z(a,e){if(typeof crypto>"u"||!crypto.subtle)return console.warn("Web Crypto API not available for checksum validation"),!0;const r={sha256:"SHA-256",sha512:"SHA-512",sha1:"SHA-1"}[e.algorithm];if(!r)return console.warn(`Unsupported checksum algorithm: ${e.algorithm}`),!0;const o=await crypto.subtle.digest(r,a);return Array.from(new Uint8Array(o)).map(c=>c.toString(16).padStart(2,"0")).join("").toLowerCase()===e.value.toLowerCase()}function at(a,e){if(a<=0||e<=0)return[];const t=Math.ceil(a/e),r=[];for(let o=0;o<e;o++){const i=o*t,s=Math.min(i+t-1,a-1);r.push({index:o,start:i,end:s,downloaded:0,status:"pending",retries:0})}return r}class N{constructor(e={}){this.downloads=new Map,this.activeDownloads=new Set,this.abortControllers=new Map,this.speedSamples=new Map,this.eventListeners=new Map,this.updateInterval=null,this.config={defaultDownloadPath:e.defaultDownloadPath??"/downloads",maxConcurrentDownloads:e.maxConcurrentDownloads??3,bandwidthLimit:e.bandwidthLimit,retryAttempts:e.retryAttempts??3,retryDelay:e.retryDelay??5e3,autoStart:e.autoStart??!0,resumeOnStartup:e.resumeOnStartup??!0,categories:e.categories??[],fileTypeFilters:e.fileTypeFilters??[]}}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>{var r;return(r=this.eventListeners.get(e))==null?void 0:r.delete(t)}}emit(e){const t=this.eventListeners.get(e.type);if(t)for(const r of t)try{r(e)}catch(o){console.error("Download event listener error:",o)}}addDownload(e,t={}){const r=D(e),o=k(),i={id:o,url:e,filename:t.filename??r.filename,path:t.path??this.config.defaultDownloadPath,status:"queued",priority:t.priority??"normal",size:r.size,downloadedBytes:0,progress:0,speed:f(0),addedDate:new Date,retryCount:0,category:t.category??this.detectCategory(r.extension),source:{type:r.isMagnet?"magnet":"direct",protocol:r.protocol,host:r.host},checksum:t.checksum};return this.downloads.set(o,i),this.emit({type:"added",download:i}),this.emitQueueChanged(),(t.autoStart??this.config.autoStart)&&this.activeDownloads.size<this.config.maxConcurrentDownloads&&this.startDownload(o),i}addDownloads(e,t={}){return e.map(r=>this.addDownload(r,t))}removeDownload(e,t=!1){return this.downloads.get(e)?(this.cancelDownload(e),this.downloads.delete(e),this.emitQueueChanged(),t&&console.warn("File deletion not implemented in browser environment"),!0):!1}getDownload(e){return this.downloads.get(e)}getAllDownloads(){return Array.from(this.downloads.values())}getQueue(){const e=this.getAllDownloads(),t=e.reduce((o,i)=>o+(i.size??0),0),r=e.reduce((o,i)=>o+i.downloadedBytes,0);return{items:e,totalSize:t,totalProgress:t>0?r/t*100:0,activeDownloads:this.activeDownloads.size,queuedDownloads:e.filter(o=>o.status==="queued").length,completedDownloads:e.filter(o=>o.status==="completed").length}}getDownloadsByStatus(e){return this.getAllDownloads().filter(t=>t.status===e)}getDownloadsByCategory(e){return this.getAllDownloads().filter(t=>t.category===e)}async startDownload(e){const t=this.downloads.get(e);if(!t||t.status==="downloading")return;if(this.activeDownloads.size>=this.config.maxConcurrentDownloads){t.status="queued";return}t.status="downloading",t.startedDate=new Date,this.activeDownloads.add(e);const r=new AbortController;this.abortControllers.set(e,r),this.speedSamples.set(e,[]),this.emit({type:"started",download:t});try{await this.executeDownload(t,r.signal),t.status="completed",t.completedDate=new Date,t.progress=100,this.emit({type:"completed",download:t})}catch(o){if(r.signal.aborted)return;t.errorMessage=o instanceof Error?o.message:"Download failed",t.retryCount<this.config.retryAttempts?(t.retryCount++,t.status="queued",setTimeout(()=>this.startDownload(e),this.config.retryDelay)):(t.status="failed",this.emit({type:"failed",download:t,error:o instanceof Error?o:new Error(String(o))}))}finally{this.activeDownloads.delete(e),this.abortControllers.delete(e),this.speedSamples.delete(e),this.emitQueueChanged(),this.processQueue()}}pauseDownload(e){const t=this.downloads.get(e);if(!t||t.status!=="downloading")return;const r=this.abortControllers.get(e);r&&r.abort(),t.status="paused",this.activeDownloads.delete(e),this.emit({type:"paused",download:t}),this.emitQueueChanged(),this.processQueue()}resumeDownload(e){const t=this.downloads.get(e);!t||t.status!=="paused"||(t.status="queued",this.emit({type:"resumed",download:t}),this.startDownload(e))}cancelDownload(e){const t=this.downloads.get(e);if(!t)return;const r=this.abortControllers.get(e);r&&r.abort(),t.status="cancelled",this.activeDownloads.delete(e),this.emit({type:"cancelled",download:t}),this.emitQueueChanged(),this.processQueue()}pauseAll(){for(const e of this.activeDownloads)this.pauseDownload(e)}resumeAll(){for(const e of this.downloads.values())e.status==="paused"&&this.resumeDownload(e.id)}cancelAll(){for(const e of this.downloads.keys())this.cancelDownload(e)}setPriority(e,t){const r=this.downloads.get(e);r&&(r.priority=t,this.emitQueueChanged())}moveInQueue(e,t){const r=this.getAllDownloads().filter(i=>i.status==="queued"),o=r.findIndex(i=>i.id===e);if(o!==-1){switch(t){case"top":r[o].priority="critical";break;case"up":r[o].priority==="normal"?r[o].priority="high":r[o].priority==="low"&&(r[o].priority="normal");break;case"down":r[o].priority==="normal"?r[o].priority="low":r[o].priority==="high"&&(r[o].priority="normal");break;case"bottom":r[o].priority="low";break}this.emitQueueChanged()}}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e}}setBandwidthLimit(e){this.config.bandwidthLimit=e}setMaxConcurrentDownloads(e){this.config.maxConcurrentDownloads=e,this.processQueue()}addCategory(e){this.config.categories=[...this.config.categories??[],e]}getStats(){const e=this.getAllDownloads(),t=e.reduce((i,s)=>i+s.downloadedBytes,0),r=e.reduce((i,s)=>i+(s.size??0),0);let o=0;for(const i of this.activeDownloads){const s=this.downloads.get(i);s&&(o+=s.speed.bytesPerSecond)}return{downloaded:t,uploaded:0,remaining:r-t,total:r,progress:r>0?t/r*100:0,downloadSpeed:f(o),uploadSpeed:f(0),eta:o>0?_(r-t,o):void 0}}async executeDownload(e,t){var g,d;const r=await fetch(e.url,{signal:t,headers:(g=e.source)!=null&&g.auth?this.buildAuthHeaders(e.source.auth):void 0});if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);const o=r.headers.get("content-length");o&&(e.size=parseInt(o,10));const i=(d=r.body)==null?void 0:d.getReader();if(!i)throw new Error("Response body is not readable");const s=[];let c=Date.now(),m=0;for(;;){const{done:p,value:h}=await i.read();if(p)break;s.push(h),e.downloadedBytes+=h.length,m+=h.length,e.size&&(e.progress=e.downloadedBytes/e.size*100);const S=Date.now(),T=S-c;if(T>=500){const O=m/T*1e3;this.updateSpeed(e.id,O),e.speed=f(O),e.eta=e.size?_(e.size-e.downloadedBytes,O):void 0,this.emit({type:"progress",download:e}),c=S,m=0}}const b=new Uint8Array(e.downloadedBytes);let l=0;for(const p of s)b.set(p,l),l+=p.length;if(e.checksum){if(!await z(b.buffer,e.checksum))throw new Error("Checksum validation failed");e.checksum.verified=!0}this.handleDownloadComplete(e,b)}handleDownloadComplete(e,t){if(typeof window<"u"&&typeof document<"u"){const r=new Blob([new Uint8Array(t)]),o=URL.createObjectURL(r),i=document.createElement("a");i.href=o,i.download=e.filename,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)}}buildAuthHeaders(e){if(!e)return{};switch(e.type){case"basic":return{Authorization:`Basic ${btoa(`${e.username}:${e.password}`)}`};case"bearer":return{Authorization:`Bearer ${e.token}`};case"api_key":return{"X-API-Key":e.apiKey??""};default:return{}}}updateSpeed(e,t){const r=this.speedSamples.get(e)||[];r.push(t),r.length>10&&r.shift(),this.speedSamples.set(e,r)}processQueue(){if(this.activeDownloads.size>=this.config.maxConcurrentDownloads)return;const e=this.getDownloadsByStatus("queued").sort((t,r)=>{const o={critical:0,high:1,normal:2,low:3};return o[t.priority]-o[r.priority]});for(const t of e){if(this.activeDownloads.size>=this.config.maxConcurrentDownloads)break;this.startDownload(t.id)}}detectCategory(e){var t;if(!(!e||!this.config.categories)){for(const r of this.config.categories)if((t=r.fileTypes)!=null&&t.includes(e.toLowerCase()))return r.id}}emitQueueChanged(){this.emit({type:"queue-changed",queue:this.getQueue()})}dispose(){this.cancelAll(),this.updateInterval&&clearInterval(this.updateInterval),this.eventListeners.clear(),this.downloads.clear()}}let y=null;function x(a){return y||(y=new N(a)),y}function it(){y==null||y.dispose(),y=null}function st(a={}){const{config:e,autoRefresh:t=!0,refreshInterval:r=1e3}=a,o=u.useMemo(()=>x(e),[e]),[i,s]=u.useState(o.getQueue()),[c,m]=u.useState(o.getStats());u.useEffect(()=>{const d=()=>{s(o.getQueue()),m(o.getStats())},p=[o.on("added",d),o.on("started",d),o.on("progress",d),o.on("paused",d),o.on("resumed",d),o.on("completed",d),o.on("failed",d),o.on("cancelled",d),o.on("queue-changed",d)];let h;return t&&(h=setInterval(()=>{o.getQueue().activeDownloads>0&&d()},r)),()=>{p.forEach(S=>S()),h&&clearInterval(h)}},[o,t,r]);const b=u.useMemo(()=>i.items.filter(d=>d.status==="downloading"),[i]),l=u.useCallback((d,p)=>o.addDownload(d,p),[o]),g=u.useCallback((d,p)=>o.addDownloads(d,p),[o]);return{queue:i,stats:c,activeDownloads:b,addDownload:l,addDownloads:g,startDownload:u.useCallback(d=>o.startDownload(d),[o]),pauseDownload:u.useCallback(d=>o.pauseDownload(d),[o]),resumeDownload:u.useCallback(d=>o.resumeDownload(d),[o]),cancelDownload:u.useCallback(d=>o.cancelDownload(d),[o]),removeDownload:u.useCallback((d,p)=>o.removeDownload(d,p),[o]),pauseAll:u.useCallback(()=>o.pauseAll(),[o]),resumeAll:u.useCallback(()=>o.resumeAll(),[o]),setBandwidthLimit:u.useCallback(d=>o.setBandwidthLimit(d),[o]),setPriority:u.useCallback((d,p)=>o.setPriority(d,p),[o])}}function j(){const a="0123456789abcdef";let e="";for(let t=0;t<40;t++)e+=a[Math.floor(Math.random()*a.length)];return e}function L(){const a="-NI0100-",e=Array.from({length:12},()=>Math.floor(Math.random()*256).toString(16).padStart(2,"0")).join("");return a+e}function I(a){var m;if(!a.startsWith("magnet:?"))return null;const e=new URLSearchParams(a.replace("magnet:?","")),t=e.get("xt");if(!t)return null;const r=t.replace("urn:btih:",""),o=e.get("dn")||void 0,i=e.getAll("tr"),s=e.get("xl")?parseInt(e.get("xl"),10):void 0,c=((m=e.get("kt"))==null?void 0:m.split("+"))||void 0;return{infoHash:r,displayName:o,trackers:i.length>0?i:void 0,exactLength:s,keywords:c}}function E(a){const e=new URLSearchParams;if(e.set("xt",`urn:btih:${a.infoHash}`),e.set("dn",a.name),a.size&&e.set("xl",a.size.toString()),a.trackers)for(const t of a.trackers)e.append("tr",t);return`magnet:?${e.toString()}`}function v(a,e=262144){return Math.ceil(a/e)}function P(a){return Array.from({length:a},()=>"missing")}function lt(a,e){return`${a}/${e}`}function dt(a,e){if(a===0)return"dead";const t=a/(e+1);return t>=2&&a>=10?"excellent":t>=1&&a>=5?"good":a>=1?"fair":"poor"}function ct(a){return new Map(a.map(e=>[e.index,e.wanted]))}function M(a,e){return a.filter(t=>{var o;const r=(o=t.name.split(".").pop())==null?void 0:o.toLowerCase();return r&&e.includes(r)})}function ut(a){return M(a,["mp4","mkv","avi","mov","wmv","flv","webm","m4v","mpeg","mpg"])}function pt(a){return M(a,["mp3","flac","wav","aac","ogg","wma","m4a","opus"])}function gt(a){return a.reduce((e,t)=>t.size>((e==null?void 0:e.size)??0)?t:e,void 0)}class F{constructor(e={}){this.torrents=new Map,this.eventListeners=new Map,this.updateIntervals=new Map,this.peerId=L(),this.config={downloadPath:e.downloadPath??"/downloads/torrents",tempPath:e.tempPath,maxActiveTorrents:e.maxActiveTorrents??5,maxActiveSeedsperTorrent:e.maxActiveSeedsperTorrent??50,maxConnectionsPerTorrent:e.maxConnectionsPerTorrent??50,maxGlobalConnections:e.maxGlobalConnections??200,bandwidthLimit:e.bandwidthLimit??{enabled:!1,unit:"MB/s"},dhtEnabled:e.dhtEnabled??!0,pexEnabled:e.pexEnabled??!0,lpdEnabled:e.lpdEnabled??!0,upnpEnabled:e.upnpEnabled??!0,natPmpEnabled:e.natPmpEnabled??!0,encryptionMode:e.encryptionMode??"enabled",ipv6Enabled:e.ipv6Enabled??!0,listeningPort:e.listeningPort??6881,proxySettings:e.proxySettings},this.config.dhtEnabled&&this.initDHT(),this.config.pexEnabled&&this.initPEX()}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>{var r;return(r=this.eventListeners.get(e))==null?void 0:r.delete(t)}}emit(e){const t=this.eventListeners.get(e.type);if(t)for(const r of t)try{r(e)}catch(o){console.error("Torrent event listener error:",o)}}addMagnet(e,t={}){const r=I(e);if(!r)return console.error("Invalid magnet URI"),null;if(this.torrents.has(r.infoHash))return this.torrents.get(r.infoHash);const o=this.createTorrent({infoHash:r.infoHash,name:r.displayName??"Unknown Torrent",size:r.exactLength,trackers:r.trackers,magnetUri:e,...t});return this.torrents.set(o.infoHash,o),this.emit({type:"added",torrent:o}),t.autoStart!==!1&&this.startTorrent(o.infoHash),o}addTorrentFile(e,t={}){const r=j(),o=this.createTorrent({infoHash:r,name:"Torrent from file",...t});return this.torrents.set(o.infoHash,o),this.emit({type:"added",torrent:o}),t.autoStart!==!1&&this.startTorrent(o.infoHash),o}createTorrent(e){const t=e.size?v(e.size):0,r=(e.trackers||this.getDefaultTrackers()).filter((o,i,s)=>s.indexOf(o)===i).map((o,i)=>({url:o,tier:Math.floor(i/3),status:"not_contacted",seeds:void 0,leechers:void 0}));return{id:`torrent_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,9)}`,infoHash:e.infoHash,name:e.name,status:"queued",priority:e.priority??"normal",size:e.size??0,downloadedBytes:0,uploadedBytes:0,progress:0,ratio:0,downloadSpeed:f(0),uploadSpeed:f(0),seeds:0,peers:0,trackers:r,files:[],pieces:P(t),savePath:e.path??this.config.downloadPath,isPrivate:!1,magnetUri:e.magnetUri,addedDate:new Date,sequentialDownload:e.sequentialDownload??!1,selectedFiles:e.selectedFiles??[]}}removeTorrent(e,t=!1){const r=this.torrents.get(e);return r?(this.stopTorrent(e),this.torrents.delete(e),this.emit({type:"removed",torrent:r}),t&&console.warn("Data deletion not implemented in browser environment"),!0):!1}getTorrent(e){return this.torrents.get(e)}getAllTorrents(){return Array.from(this.torrents.values())}getTorrentsByStatus(e){return this.getAllTorrents().filter(t=>t.status===e)}startTorrent(e){const t=this.torrents.get(e);t&&(t.status==="downloading"||t.status==="seeding"||(t.files.length===0&&t.magnetUri?(t.status="checking",this.fetchMetadata(t)):(t.status="downloading",t.startedDate=new Date),this.emit({type:"started",torrent:t}),this.simulateTorrentProgress(e)))}pauseTorrent(e){const t=this.torrents.get(e);if(!t)return;const r=this.updateIntervals.get(e);r&&(clearInterval(r),this.updateIntervals.delete(e)),t.status="paused",t.downloadSpeed=f(0),t.uploadSpeed=f(0),this.emit({type:"paused",torrent:t})}resumeTorrent(e){const t=this.torrents.get(e);!t||t.status!=="paused"||(t.status=t.progress>=100?"seeding":"downloading",this.emit({type:"resumed",torrent:t}),this.simulateTorrentProgress(e))}stopTorrent(e){const t=this.torrents.get(e);if(!t)return;const r=this.updateIntervals.get(e);r&&(clearInterval(r),this.updateIntervals.delete(e)),t.status="stopped",t.downloadSpeed=f(0),t.uploadSpeed=f(0)}recheckTorrent(e){const t=this.torrents.get(e);t&&(t.status="checking",setTimeout(()=>{t.status==="checking"&&(t.status=t.progress>=100?"seeding":"queued")},2e3))}announceToTrackers(e){const t=this.torrents.get(e);if(t)for(const r of t.trackers)r.status="updating",setTimeout(()=>{r.status="working",r.lastAnnounce=new Date,r.seeds=Math.floor(Math.random()*100),r.leechers=Math.floor(Math.random()*50),this.emit({type:"tracker-update",torrent:t,tracker:r})},1e3+Math.random()*2e3)}setFileSelection(e,t,r){const o=this.torrents.get(e);if(!o)return;const i=o.files.find(s=>s.index===t);i&&(i.wanted=r,i.priority=r?"normal":"skip",o.selectedFiles&&(r&&!o.selectedFiles.includes(t)?o.selectedFiles.push(t):r||(o.selectedFiles=o.selectedFiles.filter(s=>s!==t))))}setFilePriority(e,t,r){const o=this.torrents.get(e);if(!o)return;const i=o.files.find(s=>s.index===t);i&&(i.priority=r,i.wanted=r!=="skip")}selectAllFiles(e){const t=this.torrents.get(e);if(t){for(const r of t.files)r.wanted=!0,r.priority="normal";t.selectedFiles!==void 0&&(t.selectedFiles=t.files.map(r=>r.index))}}deselectAllFiles(e){const t=this.torrents.get(e);if(t){for(const r of t.files)r.wanted=!1,r.priority="skip";t.selectedFiles!==void 0&&(t.selectedFiles=[])}}setSequentialDownload(e,t){const r=this.torrents.get(e);r&&(r.sequentialDownload=t)}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e}}setDownloadLimit(e){e!==void 0?this.config.bandwidthLimit={...this.config.bandwidthLimit,download:e,enabled:!0}:this.config.bandwidthLimit={...this.config.bandwidthLimit,download:void 0}}setUploadLimit(e){e!==void 0?this.config.bandwidthLimit={...this.config.bandwidthLimit,upload:e,enabled:!0}:this.config.bandwidthLimit={...this.config.bandwidthLimit,upload:void 0}}setDHTEnabled(e){this.config.dhtEnabled=e,e&&this.initDHT()}setPEXEnabled(e){this.config.pexEnabled=e,e&&this.initPEX()}getStatistics(){const e=this.getAllTorrents();let t=0,r=0,o=0,i=0,s=0;for(const c of e)t+=c.downloadedBytes,r+=c.uploadedBytes,o+=c.downloadSpeed.bytesPerSecond,i+=c.uploadSpeed.bytesPerSecond,s+=c.peers;return{activeSeeders:e.filter(c=>c.status==="seeding").length,activeDownloads:e.filter(c=>c.status==="downloading").length,totalDownloaded:t,totalUploaded:r,downloadSpeed:f(o),uploadSpeed:f(i),globalRatio:t>0?r/t:0,dhtNodes:this.config.dhtEnabled?Math.floor(Math.random()*500+100):0,totalPeers:s,sessionDuration:0}}getDefaultTrackers(){return["udp://tracker.opentrackr.org:1337/announce","udp://tracker.openbittorrent.com:6969/announce","udp://open.stealth.si:80/announce","udp://tracker.torrent.eu.org:451/announce"]}initDHT(){console.log("DHT initialized")}initPEX(){console.log("PEX initialized")}fetchMetadata(e){setTimeout(()=>{e.status==="checking"&&(e.files=[{index:0,name:`${e.name}.mkv`,path:`${e.name}/${e.name}.mkv`,size:Math.floor(Math.random()*2e9)+5e8,progress:0,downloaded:0,priority:"normal",wanted:!0},{index:1,name:"sample.mp4",path:`${e.name}/sample.mp4`,size:Math.floor(Math.random()*5e7)+1e7,progress:0,downloaded:0,priority:"normal",wanted:!0},{index:2,name:"readme.txt",path:`${e.name}/readme.txt`,size:1024,progress:0,downloaded:0,priority:"low",wanted:!0}],e.size=e.files.reduce((t,r)=>t+r.size,0),e.selectedFiles=e.files.map(t=>t.index),e.pieces=P(v(e.size)),e.status="downloading",this.emit({type:"metadata",torrent:e}),this.emit({type:"started",torrent:e}))},2e3+Math.random()*3e3)}simulateTorrentProgress(e){this.updateIntervals.has(e)&&clearInterval(this.updateIntervals.get(e));const t=setInterval(()=>{const r=this.torrents.get(e);if(!r){clearInterval(t);return}if(!(r.status!=="downloading"&&r.status!=="seeding")){if(r.status==="downloading"&&r.size>0){const o=1e6+Math.random()*5e6,i=this.config.bandwidthLimit.download?Math.min(o,this.config.bandwidthLimit.download):o,s=i*(1+Math.random()*.5);r.downloadedBytes=Math.min(r.downloadedBytes+s,r.size),r.progress=r.downloadedBytes/r.size*100,r.downloadSpeed=f(i),r.uploadSpeed=f(i*.1*Math.random());for(const c of r.files)c.wanted&&(c.downloaded=Math.min(c.downloaded+s*(c.size/r.size),c.size),c.progress=c.downloaded/c.size*100);r.peers=Math.floor(Math.random()*30)+5,r.seeds=Math.floor(r.peers*.6),r.eta=_(r.size-r.downloadedBytes,i),this.emit({type:"progress",torrent:r}),r.progress>=100&&(r.status="seeding",r.completedDate=new Date,r.progress=100,r.downloadedBytes=r.size,this.emit({type:"completed",torrent:r}),this.emit({type:"seeding",torrent:r}))}if(r.status==="seeding"){const o=5e5+Math.random()*2e6;r.uploadedBytes+=o,r.uploadSpeed=f(o),r.downloadSpeed=f(0),r.ratio=r.size>0?r.uploadedBytes/r.size:0,r.peers=Math.floor(Math.random()*10)+1,r.seeds=0}}},1e3);this.updateIntervals.set(e,t)}dispose(){for(const e of this.updateIntervals.values())clearInterval(e);this.updateIntervals.clear(),this.torrents.clear(),this.eventListeners.clear()}}async function R(a){const{name:e,files:t,trackers:r=[],comment:o,isPrivate:i=!1,pieceSize:s=262144,webSeeds:c=[]}=a,m=t.reduce((h,S)=>h+S.size,0),b=j(),l=v(m,s),g=E({infoHash:b,name:e,trackers:r,size:m}),p=new TextEncoder().encode(JSON.stringify({announce:r[0]||"",info:{name:e,"piece length":s,length:m,private:i?1:0},comment:o,"url-list":c}));return{infoHash:b,magnetLink:g,torrentFile:p,size:m,pieceCount:l,pieceSize:s}}let w=null;function V(a){return w||(w=new F(a)),w}function ft(){w==null||w.dispose(),w=null}function mt(a={}){const{config:e,autoRefresh:t=!0,refreshInterval:r=1e3}=a,o=u.useMemo(()=>V(e),[e]),[i,s]=u.useState(o.getAllTorrents()),[c,m]=u.useState(o.getStatistics());u.useEffect(()=>{const l=()=>{s([...o.getAllTorrents()]),m(o.getStatistics())},g=[o.on("added",l),o.on("metadata",l),o.on("started",l),o.on("progress",l),o.on("paused",l),o.on("resumed",l),o.on("completed",l),o.on("seeding",l),o.on("failed",l),o.on("removed",l)];let d;return t&&(d=setInterval(()=>{(o.getStatistics().activeDownloads>0||o.getStatistics().activeSeeders>0)&&l()},r)),()=>{g.forEach(p=>p()),d&&clearInterval(d)}},[o,t,r]);const b=u.useMemo(()=>i.filter(l=>l.status==="downloading"||l.status==="seeding"),[i]);return{torrents:i,statistics:c,activeTorrents:b,addMagnet:u.useCallback((l,g)=>o.addMagnet(l,g),[o]),addTorrentFile:u.useCallback((l,g)=>o.addTorrentFile(l,g),[o]),removeTorrent:u.useCallback((l,g)=>o.removeTorrent(l,g),[o]),startTorrent:u.useCallback(l=>o.startTorrent(l),[o]),pauseTorrent:u.useCallback(l=>o.pauseTorrent(l),[o]),resumeTorrent:u.useCallback(l=>o.resumeTorrent(l),[o]),stopTorrent:u.useCallback(l=>o.stopTorrent(l),[o]),setFileSelection:u.useCallback((l,g,d)=>o.setFileSelection(l,g,d),[o]),setSequentialDownload:u.useCallback((l,g)=>o.setSequentialDownload(l,g),[o]),setDownloadLimit:u.useCallback(l=>o.setDownloadLimit(l),[o]),setUploadLimit:u.useCallback(l=>o.setUploadLimit(l),[o]),createTorrent:R}}const bt={cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1,effectiveMode:"traceless",consentRequired:!1,canPersist:!1,policySource:"instance",resolvedAt:new Date().toISOString()},ht={cookiesAllowed:!0,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!0,serviceWorkerCacheAllowed:!0,effectiveMode:"full",consentRequired:!0,canPersist:!0,policySource:"instance",resolvedAt:new Date().toISOString()},yt={traceless:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},ephemeral:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},private:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1},balanced:{cookiesAllowed:!1,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!1,serviceWorkerCacheAllowed:!0},full:{cookiesAllowed:!0,localStorageAllowed:!0,sessionStorageAllowed:!0,indexedDBAllowed:!0,webSQLAllowed:!0,serviceWorkerCacheAllowed:!0},custom:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,indexedDBAllowed:!1,webSQLAllowed:!1,serviceWorkerCacheAllowed:!1}},wt=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FULL_POLICY:ht,DEFAULT_TRACELESS_POLICY:bt,MODE_CAPABILITIES:yt},Symbol.toStringTag,{value:"Module"})),St={normalText:4.5,largeText:3,uiComponents:3,graphicalObjects:3,focusIndicators:3},_t={normalText:7,largeText:4.5,uiComponents:3,graphicalObjects:3,focusIndicators:4.5},vt={targetLevel:"AA",wcagVersion:"2.1",screenReaderOptimizations:!0,keyboardNavigation:!0,enforceColorContrast:!0,minContrastRatio:4.5,respectReducedMotion:!0,focusVisible:!0,highContrastSupport:!0,forcedColorsSupport:!0,automatedTesting:!0},Ot=["en","en-US","en-GB","es","es-ES","es-MX","fr","fr-FR","fr-CA","de","de-DE","it","it-IT","pt","pt-BR","pt-PT","ru","ru-RU","zh","zh-CN","zh-TW","ja","ja-JP","ko","ko-KR","ar","ar-SA","he","he-IL","hi","hi-IN","pl","pl-PL","nl","nl-NL","tr","tr-TR","sv","sv-SE","da","da-DK","no","nb-NO","fi","fi-FI","cs","cs-CZ","sk","sk-SK","hu","hu-HU","ro","ro-RO","bg","bg-BG","uk","uk-UA","el","el-GR","th","th-TH","vi","vi-VN","id","id-ID","ms","ms-MY"],Pt=["ar","ar-SA","ar-AE","ar-EG","ar-MA","he","he-IL","fa","fa-IR","ur","ur-PK","ps","sd","yi"],jt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_LOCALES:Ot,DEFAULT_ACCESSIBILITY_CONFIG:vt,RTL_LOCALES:Pt,WCAG_AAA_CONTRAST:_t,WCAG_AA_CONTRAST:St},Symbol.toStringTag,{value:"Module"})),Mt=[{width:16,height:16,purpose:"favicon",format:"ico"},{width:32,height:32,purpose:"favicon",format:"png"},{width:48,height:48,purpose:"favicon",format:"png"},{width:180,height:180,purpose:"apple-touch",format:"png"},{width:192,height:192,purpose:"any",format:"png"},{width:512,height:512,purpose:"any",format:"png"},{width:512,height:512,purpose:"maskable",format:"png"}],Tt=[{name:"Business Icons",npmName:"@nice2dev/icons-business",description:"All ERP-related icons for business applications",iconCount:500,categories:["accounting","hr","crm","production","warehouse","sales","purchasing"],domains:["business","finance","hr","logistics"],dependencies:[],version:"1.0.0"},{name:"Education Icons",npmName:"@nice2dev/icons-education",description:"Educational, scientific, and mathematical icons",iconCount:300,categories:["subjects","learning","school","science","math"],domains:["education","science"],dependencies:[],version:"1.0.0"},{name:"Tech Icons",npmName:"@nice2dev/icons-tech",description:"Development tools, infrastructure, cloud, and containers",iconCount:400,categories:["devtools","infrastructure","cloud","containers","networking"],domains:["technology"],dependencies:[],version:"1.0.0"},{name:"Media Icons",npmName:"@nice2dev/icons-media",description:"Audio, video, graphics, 3D, and streaming icons",iconCount:350,categories:["audio","video","graphics","3d","streaming"],domains:["creative"],dependencies:[],version:"1.0.0"},{name:"Social Icons",npmName:"@nice2dev/icons-social",description:"Social platforms, reactions, and messaging icons",iconCount:200,categories:["platforms","reactions","messaging"],domains:[],dependencies:[],version:"1.0.0"},{name:"Game Icons",npmName:"@nice2dev/icons-game",description:"Characters, items, UI elements, and game actions",iconCount:400,categories:["characters","items","ui","actions"],domains:["gaming"],dependencies:[],version:"1.0.0"},{name:"Life Management Icons",npmName:"@nice2dev/icons-life",description:"Personal finance, health, productivity, and home icons",iconCount:300,categories:["finance","health","productivity","home","family"],domains:["life-management"],dependencies:[],version:"1.0.0"},{name:"All Icons",npmName:"@nice2dev/icons-all",description:"Meta-package containing all icon packs",iconCount:2500,categories:[],domains:[],dependencies:["@nice2dev/icons-business","@nice2dev/icons-education","@nice2dev/icons-tech","@nice2dev/icons-media","@nice2dev/icons-social","@nice2dev/icons-game","@nice2dev/icons-life"],version:"1.0.0"}],Dt=Object.freeze(Object.defineProperty({__proto__:null,STANDARD_FAVICON_SIZES:Mt,THEMATIC_PACKAGES:Tt},Symbol.toStringTag,{value:"Module"})),Ct=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(exports,"CURRENT_SCHEMA_VERSION",{enumerable:!0,get:()=>n.CURRENT_SCHEMA_VERSION});Object.defineProperty(exports,"NiceAuditLog",{enumerable:!0,get:()=>n.NiceAuditLog});Object.defineProperty(exports,"NiceChat",{enumerable:!0,get:()=>n.NiceChat});Object.defineProperty(exports,"NiceColumnChooser",{enumerable:!0,get:()=>n.NiceColumnChooser});Object.defineProperty(exports,"NiceComponentTypeMapping",{enumerable:!0,get:()=>n.NiceComponentTypeMapping});Object.defineProperty(exports,"NiceDesignTokens",{enumerable:!0,get:()=>n.NiceDesignTokens});Object.defineProperty(exports,"NiceDiagramDesigner",{enumerable:!0,get:()=>n.NiceDiagramDesigner});Object.defineProperty(exports,"NiceDisplayStylePicker",{enumerable:!0,get:()=>n.NiceDisplayStylePicker});Object.defineProperty(exports,"NiceDocumentViewer",{enumerable:!0,get:()=>n.NiceDocumentViewer});Object.defineProperty(exports,"NiceDraggable",{enumerable:!0,get:()=>n.NiceDraggable});Object.defineProperty(exports,"NiceFeatureFlagsProvider",{enumerable:!0,get:()=>n.NiceFeatureFlagsProvider});Object.defineProperty(exports,"NiceFeatureGate",{enumerable:!0,get:()=>n.NiceFeatureGate});Object.defineProperty(exports,"NiceFileManager",{enumerable:!0,get:()=>n.NiceFileManager});Object.defineProperty(exports,"NiceFileUploader",{enumerable:!0,get:()=>n.NiceFileUploader});Object.defineProperty(exports,"NiceFilterBuilder",{enumerable:!0,get:()=>n.NiceFilterBuilder});Object.defineProperty(exports,"NiceGallery",{enumerable:!0,get:()=>n.NiceGallery});Object.defineProperty(exports,"NiceGitManager",{enumerable:!0,get:()=>n.NiceGitManager});Object.defineProperty(exports,"NiceMap",{enumerable:!0,get:()=>n.NiceMap});Object.defineProperty(exports,"NiceModuleHotSwap",{enumerable:!0,get:()=>n.NiceModuleHotSwap});Object.defineProperty(exports,"NiceModuleLoaderProvider",{enumerable:!0,get:()=>n.NiceModuleLoaderProvider});Object.defineProperty(exports,"NiceModuleRoute",{enumerable:!0,get:()=>n.NiceModuleRoute});Object.defineProperty(exports,"NicePermissionMatrix",{enumerable:!0,get:()=>n.NicePermissionMatrix});Object.defineProperty(exports,"NicePrintPreview",{enumerable:!0,get:()=>n.NicePrintPreview});Object.defineProperty(exports,"NiceRecipeEditor",{enumerable:!0,get:()=>n.NiceRecipeEditor});Object.defineProperty(exports,"NiceShowcase",{enumerable:!0,get:()=>n.NiceShowcase});Object.defineProperty(exports,"NiceSortable",{enumerable:!0,get:()=>n.NiceSortable});Object.defineProperty(exports,"NiceSpeechToText",{enumerable:!0,get:()=>n.NiceSpeechToText});Object.defineProperty(exports,"NiceThemeBuilder",{enumerable:!0,get:()=>n.NiceThemeBuilder});Object.defineProperty(exports,"NiceThemeDesigner",{enumerable:!0,get:()=>n.NiceThemeDesigner});Object.defineProperty(exports,"NiceUndoManager",{enumerable:!0,get:()=>n.NiceUndoManager});Object.defineProperty(exports,"NiceUndoProvider",{enumerable:!0,get:()=>n.NiceUndoProvider});Object.defineProperty(exports,"NiceValidationGroup",{enumerable:!0,get:()=>n.NiceValidationGroup});Object.defineProperty(exports,"NiceValidationSummary",{enumerable:!0,get:()=>n.NiceValidationSummary});Object.defineProperty(exports,"NiceValidator",{enumerable:!0,get:()=>n.NiceValidator});Object.defineProperty(exports,"NiceViewCache",{enumerable:!0,get:()=>n.NiceViewCache});Object.defineProperty(exports,"NiceViewFetchError",{enumerable:!0,get:()=>n.NiceViewFetchError});Object.defineProperty(exports,"NiceViewFetcher",{enumerable:!0,get:()=>n.NiceViewFetcher});Object.defineProperty(exports,"NiceViewHotReload",{enumerable:!0,get:()=>n.NiceViewHotReload});Object.defineProperty(exports,"NiceViewRegistry",{enumerable:!0,get:()=>n.NiceViewRegistry});Object.defineProperty(exports,"NiceViewRenderer",{enumerable:!0,get:()=>n.NiceViewRenderer});Object.defineProperty(exports,"autoDetectColumns",{enumerable:!0,get:()=>n.autoDetectColumns});Object.defineProperty(exports,"checkModuleHealth",{enumerable:!0,get:()=>n.checkModuleHealth});Object.defineProperty(exports,"checkPermissions",{enumerable:!0,get:()=>n.checkPermissions});Object.defineProperty(exports,"checkSingleModule",{enumerable:!0,get:()=>n.checkSingleModule});Object.defineProperty(exports,"compareSemver",{enumerable:!0,get:()=>n.compareSemver});Object.defineProperty(exports,"createEmptyRecipe",{enumerable:!0,get:()=>n.createEmptyRecipe});Object.defineProperty(exports,"createStandardErpContracts",{enumerable:!0,get:()=>n.createStandardErpContracts});Object.defineProperty(exports,"createUndoMiddleware",{enumerable:!0,get:()=>n.createUndoMiddleware});Object.defineProperty(exports,"defaultTypeMapping",{enumerable:!0,get:()=>n.defaultTypeMapping});Object.defineProperty(exports,"defaultViewRegistry",{enumerable:!0,get:()=>n.defaultViewRegistry});Object.defineProperty(exports,"deserializeManifest",{enumerable:!0,get:()=>n.deserializeManifest});Object.defineProperty(exports,"deserializeRbacPolicy",{enumerable:!0,get:()=>n.deserializeRbacPolicy});Object.defineProperty(exports,"deserializeViewV2",{enumerable:!0,get:()=>n.deserializeViewV2});Object.defineProperty(exports,"diffObjects",{enumerable:!0,get:()=>n.diffObjects});Object.defineProperty(exports,"diffViews",{enumerable:!0,get:()=>n.diffViews});Object.defineProperty(exports,"downloadCSV",{enumerable:!0,get:()=>n.downloadCSV});Object.defineProperty(exports,"downloadHTML",{enumerable:!0,get:()=>n.downloadHTML});Object.defineProperty(exports,"downloadJSON",{enumerable:!0,get:()=>n.downloadJSON});Object.defineProperty(exports,"downloadPDF",{enumerable:!0,get:()=>n.downloadPDF});Object.defineProperty(exports,"downloadXLSX",{enumerable:!0,get:()=>n.downloadXLSX});Object.defineProperty(exports,"exportToCSV",{enumerable:!0,get:()=>n.exportToCSV});Object.defineProperty(exports,"exportToHTML",{enumerable:!0,get:()=>n.exportToHTML});Object.defineProperty(exports,"exportToJSON",{enumerable:!0,get:()=>n.exportToJSON});Object.defineProperty(exports,"exportToPDF",{enumerable:!0,get:()=>n.exportToPDF});Object.defineProperty(exports,"exportToXLSX",{enumerable:!0,get:()=>n.exportToXLSX});Object.defineProperty(exports,"extractControlTypes",{enumerable:!0,get:()=>n.extractControlTypes});Object.defineProperty(exports,"extractTokensFromTheme",{enumerable:!0,get:()=>n.extractTokensFromTheme});Object.defineProperty(exports,"formatDiffAsText",{enumerable:!0,get:()=>n.formatDiffAsText});Object.defineProperty(exports,"generateAllForRbac",{enumerable:!0,get:()=>n.generateAllForRbac});Object.defineProperty(exports,"generateAllForView",{enumerable:!0,get:()=>n.generateAllForView});Object.defineProperty(exports,"generateDartModel",{enumerable:!0,get:()=>n.generateDartModel});Object.defineProperty(exports,"generateMermaidSyntax",{enumerable:!0,get:()=>n.generateMermaidSyntax});Object.defineProperty(exports,"generateRbacDart",{enumerable:!0,get:()=>n.generateRbacDart});Object.defineProperty(exports,"generateRbacTypescript",{enumerable:!0,get:()=>n.generateRbacTypescript});Object.defineProperty(exports,"generateScaffold",{enumerable:!0,get:()=>n.generateScaffold});Object.defineProperty(exports,"generateStoriesFromViews",{enumerable:!0,get:()=>n.generateStoriesFromViews});Object.defineProperty(exports,"generateStoryFromView",{enumerable:!0,get:()=>n.generateStoryFromView});Object.defineProperty(exports,"generateTokens",{enumerable:!0,get:()=>n.generateTokens});Object.defineProperty(exports,"generateTypescriptModel",{enumerable:!0,get:()=>n.generateTypescriptModel});Object.defineProperty(exports,"generateViewCatalog",{enumerable:!0,get:()=>n.generateViewCatalog});Object.defineProperty(exports,"isAllowed",{enumerable:!0,get:()=>n.isAllowed});Object.defineProperty(exports,"isVersionCompatible",{enumerable:!0,get:()=>n.isVersionCompatible});Object.defineProperty(exports,"isViewCompatibleWith",{enumerable:!0,get:()=>n.isViewCompatibleWith});Object.defineProperty(exports,"listScaffoldTemplates",{enumerable:!0,get:()=>n.listScaffoldTemplates});Object.defineProperty(exports,"newRecipeId",{enumerable:!0,get:()=>n.newRecipeId});Object.defineProperty(exports,"niceExport",{enumerable:!0,get:()=>n.niceExport});Object.defineProperty(exports,"recipeTotalMinutes",{enumerable:!0,get:()=>n.recipeTotalMinutes});Object.defineProperty(exports,"resolvePermissions",{enumerable:!0,get:()=>n.resolvePermissions});Object.defineProperty(exports,"runContractTests",{enumerable:!0,get:()=>n.runContractTests});Object.defineProperty(exports,"serializeManifest",{enumerable:!0,get:()=>n.serializeManifest});Object.defineProperty(exports,"serializeRbacPolicy",{enumerable:!0,get:()=>n.serializeRbacPolicy});Object.defineProperty(exports,"serializeViewV2",{enumerable:!0,get:()=>n.serializeViewV2});Object.defineProperty(exports,"useAuditLog",{enumerable:!0,get:()=>n.useAuditLog});Object.defineProperty(exports,"useColumnChooser",{enumerable:!0,get:()=>n.useColumnChooser});Object.defineProperty(exports,"useFeatureFlag",{enumerable:!0,get:()=>n.useFeatureFlag});Object.defineProperty(exports,"useFeatureFlags",{enumerable:!0,get:()=>n.useFeatureFlags});Object.defineProperty(exports,"useModuleLoader",{enumerable:!0,get:()=>n.useModuleLoader});Object.defineProperty(exports,"useNiceValidation",{enumerable:!0,get:()=>n.useNiceValidation});Object.defineProperty(exports,"usePrintPreview",{enumerable:!0,get:()=>n.usePrintPreview});Object.defineProperty(exports,"useUndoKeyboard",{enumerable:!0,get:()=>n.useUndoKeyboard});Object.defineProperty(exports,"useUndoManager",{enumerable:!0,get:()=>n.useUndoManager});Object.defineProperty(exports,"validateCrossPlatformView",{enumerable:!0,get:()=>n.validateCrossPlatformView});Object.defineProperty(exports,"validateDiagramSchema",{enumerable:!0,get:()=>n.validateDiagramSchema});Object.defineProperty(exports,"validateModuleManifest",{enumerable:!0,get:()=>n.validateModuleManifest});Object.defineProperty(exports,"validateRbacPolicy",{enumerable:!0,get:()=>n.validateRbacPolicy});Object.defineProperty(exports,"validateViewDefinitionV2",{enumerable:!0,get:()=>n.validateViewDefinitionV2});Object.defineProperty(exports,"validateViewForDeploy",{enumerable:!0,get:()=>n.validateViewForDeploy});Object.defineProperty(exports,"validateViewsBatch",{enumerable:!0,get:()=>n.validateViewsBatch});exports.AIAssistant=ae;exports.AIPlaygrounds=Ge;exports.APMProfiling=be;exports.AccessControl=Se;exports.AccessibilityI18n=jt;exports.AlertingIncidents=he;exports.ApiDesigner=Oe;exports.ApiTesting=Pe;exports.Artifacts=re;exports.AuditCompliance=_e;exports.Certificates=J;exports.ChartBuilder=xe;exports.CloudInstances=q;exports.ConfigManagement=ee;exports.Containers=U;exports.DashboardDesigner=Ne;exports.DataManagement=ce;exports.DataPipeline=Le;exports.DataWarehouse=Ie;exports.DatasetManagement=He;exports.DbAdapters=ue;exports.DbAdmin=pe;exports.DbDesigner=de;exports.Debugger=ie;exports.DeviceManagement=Fe;exports.DistributedTracing=me;exports.DnsManagement=K;exports.DownloadManager=N;exports.DownloadTorrent=rt;exports.EdgeComputing=Ve;exports.Education=Je;exports.EmailTemplate=ze;exports.ErpEnterprise=Ye;exports.FormBuilder=Ae;exports.GameEngineAdvanced=Ct;exports.Git=te;exports.HardwareIntegration=Xe;exports.IDE=oe;exports.IaC=Z;exports.IconTools=Dt;exports.IntegrationPlatform=je;exports.Kubernetes=H;exports.LifeManagement=Ze;exports.LogManagement=fe;exports.Mathematics=tt;exports.MessageQueue=Me;exports.MetricsDashboard=ge;exports.MobileComponents=We;exports.ModelDeployment=$e;exports.ModelRegistry=qe;exports.ModelTraining=Qe;exports.NetworkConfig=G;exports.NetworkMonitoring=W;exports.PdfTools=Te;exports.Pipelines=Y;exports.RemoteDesktop=B;exports.ReportDesigner=ke;exports.ScadaIndustrial=Be;exports.ScientificResearch=et;exports.SecretManagement=we;exports.SecurityScanning=ye;exports.SelfServiceAnalytics=Ee;exports.SensorDashboard=Re;exports.ServerManagement=X;exports.SmartHome=Ue;exports.Spreadsheet=De;exports.SqlEditor=le;exports.Terminal=$;exports.TestingQA=Ke;exports.TorrentClient=F;exports.Traceless=wt;exports.VirtualMachines=Q;exports.VisualScripting=ne;exports.WordProcessor=Ce;exports.Workspace=se;exports.calculateETA=_;exports.calculatePieces=v;exports.calculateTorrentHealth=dt;exports.createDownloadSegments=at;exports.createFileSelection=ct;exports.createMagnetUri=E;exports.createPieceStatus=P;exports.createTorrent=R;exports.disposeDownloadManager=it;exports.disposeTorrentClient=ft;exports.filterFilesByExtension=M;exports.formatBytes=ot;exports.formatDuration=nt;exports.formatPeerCount=lt;exports.formatSpeed=f;exports.generateDownloadId=k;exports.generateInfoHash=j;exports.generatePeerId=L;exports.getAudioFiles=pt;exports.getDownloadManager=x;exports.getFileType=A;exports.getLargestFile=gt;exports.getTorrentClient=V;exports.getVideoFiles=ut;exports.parseDownloadUrl=D;exports.parseMagnetLink=C;exports.parseMagnetUri=I;exports.useDownloadManager=st;exports.useTorrentClient=mt;exports.validateChecksum=z;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -6,6 +6,10 @@
6
6
  */
7
7
  export { NiceChat } from '@nice2dev/ui';
8
8
  export type { NiceChatProps, NiceChatMessage } from '@nice2dev/ui';
9
+ export { NiceRecipeEditor } from '@nice2dev/ui';
10
+ export type { NiceRecipeEditorProps } from '@nice2dev/ui';
11
+ export { createEmptyRecipe, newRecipeId, recipeTotalMinutes } from '@nice2dev/ui';
12
+ export type { NiceRecipeModel, NiceIngredient, NiceRecipeStep, NiceRecipePhoto, NiceRecipeNutrition, NiceRecipeDifficulty, NiceMealKind, NiceMeal, } from '@nice2dev/ui';
9
13
  export { NiceDraggable } from '@nice2dev/ui';
10
14
  export type { NiceDraggableProps } from '@nice2dev/ui';
11
15
  export { NiceSortable } from '@nice2dev/ui';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { CURRENT_SCHEMA_VERSION as It, NiceAuditLog as Et, NiceChat as Nt, NiceColumnChooser as Ft, NiceComponentTypeMapping as Bt, NiceDesignTokens as Rt, NiceDiagramDesigner as Ut, NiceDisplayStylePicker as Vt, NiceDocumentViewer as Qt, NiceDraggable as Ht, NiceFeatureFlagsProvider as $t, NiceFeatureGate as qt, NiceFileManager as Gt, NiceFileUploader as Wt, NiceFilterBuilder as Kt, NiceGallery as Xt, NiceGitManager as Jt, NiceMap as Yt, NiceModuleHotSwap as Zt, NiceModuleLoaderProvider as eo, NiceModuleRoute as to, NicePermissionMatrix as oo, NicePrintPreview as no, NiceShowcase as ro, NiceSortable as so, NiceSpeechToText as ao, NiceThemeBuilder as io, NiceThemeDesigner as lo, NiceUndoManager as co, NiceUndoProvider as uo, NiceValidationGroup as po, NiceValidationSummary as fo, NiceValidator as go, NiceViewCache as mo, NiceViewFetchError as ho, NiceViewFetcher as bo, NiceViewHotReload as wo, NiceViewRegistry as yo, NiceViewRenderer as So, autoDetectColumns as _o, checkModuleHealth as vo, checkPermissions as Mo, checkSingleModule as To, compareSemver as Do, createStandardErpContracts as Oo, createUndoMiddleware as Ao, defaultTypeMapping as jo, defaultViewRegistry as Po, deserializeManifest as zo, deserializeRbacPolicy as Co, deserializeViewV2 as ko, diffObjects as xo, diffViews as Lo, downloadCSV as Io, downloadHTML as Eo, downloadJSON as No, downloadPDF as Fo, downloadXLSX as Bo, exportToCSV as Ro, exportToHTML as Uo, exportToJSON as Vo, exportToPDF as Qo, exportToXLSX as Ho, extractControlTypes as $o, extractTokensFromTheme as qo, formatDiffAsText as Go, generateAllForRbac as Wo, generateAllForView as Ko, generateDartModel as Xo, generateMermaidSyntax as Jo, generateRbacDart as Yo, generateRbacTypescript as Zo, generateScaffold as en, generateStoriesFromViews as tn, generateStoryFromView as on, generateTokens as nn, generateTypescriptModel as rn, generateViewCatalog as sn, isAllowed as an, isVersionCompatible as ln, isViewCompatibleWith as dn, listScaffoldTemplates as cn, niceExport as un, resolvePermissions as pn, runContractTests as fn, serializeManifest as gn, serializeRbacPolicy as mn, serializeViewV2 as hn, useAuditLog as bn, useColumnChooser as wn, useFeatureFlag as yn, useFeatureFlags as Sn, useModuleLoader as _n, useNiceValidation as vn, usePrintPreview as Mn, useUndoKeyboard as Tn, useUndoManager as Dn, validateCrossPlatformView as On, validateDiagramSchema as An, validateModuleManifest as jn, validateRbacPolicy as Pn, validateViewDefinitionV2 as zn, validateViewForDeploy as Cn, validateViewsBatch as kn } from "@nice2dev/ui";
1
+ import { CURRENT_SCHEMA_VERSION as It, NiceAuditLog as Et, NiceChat as Nt, NiceColumnChooser as Ft, NiceComponentTypeMapping as Bt, NiceDesignTokens as Rt, NiceDiagramDesigner as Ut, NiceDisplayStylePicker as Vt, NiceDocumentViewer as Qt, NiceDraggable as Ht, NiceFeatureFlagsProvider as $t, NiceFeatureGate as qt, NiceFileManager as Gt, NiceFileUploader as Wt, NiceFilterBuilder as Kt, NiceGallery as Xt, NiceGitManager as Jt, NiceMap as Yt, NiceModuleHotSwap as Zt, NiceModuleLoaderProvider as eo, NiceModuleRoute as to, NicePermissionMatrix as oo, NicePrintPreview as no, NiceRecipeEditor as ro, NiceShowcase as so, NiceSortable as ao, NiceSpeechToText as io, NiceThemeBuilder as lo, NiceThemeDesigner as co, NiceUndoManager as uo, NiceUndoProvider as po, NiceValidationGroup as fo, NiceValidationSummary as go, NiceValidator as mo, NiceViewCache as ho, NiceViewFetchError as bo, NiceViewFetcher as wo, NiceViewHotReload as yo, NiceViewRegistry as So, NiceViewRenderer as _o, autoDetectColumns as vo, checkModuleHealth as Mo, checkPermissions as To, checkSingleModule as Do, compareSemver as Oo, createEmptyRecipe as Ao, createStandardErpContracts as jo, createUndoMiddleware as Po, defaultTypeMapping as zo, defaultViewRegistry as Co, deserializeManifest as ko, deserializeRbacPolicy as xo, deserializeViewV2 as Lo, diffObjects as Io, diffViews as Eo, downloadCSV as No, downloadHTML as Fo, downloadJSON as Bo, downloadPDF as Ro, downloadXLSX as Uo, exportToCSV as Vo, exportToHTML as Qo, exportToJSON as Ho, exportToPDF as $o, exportToXLSX as qo, extractControlTypes as Go, extractTokensFromTheme as Wo, formatDiffAsText as Ko, generateAllForRbac as Xo, generateAllForView as Jo, generateDartModel as Yo, generateMermaidSyntax as Zo, generateRbacDart as en, generateRbacTypescript as tn, generateScaffold as on, generateStoriesFromViews as nn, generateStoryFromView as rn, generateTokens as sn, generateTypescriptModel as an, generateViewCatalog as ln, isAllowed as dn, isVersionCompatible as cn, isViewCompatibleWith as un, listScaffoldTemplates as pn, newRecipeId as fn, niceExport as gn, recipeTotalMinutes as mn, resolvePermissions as hn, runContractTests as bn, serializeManifest as wn, serializeRbacPolicy as yn, serializeViewV2 as Sn, useAuditLog as _n, useColumnChooser as vn, useFeatureFlag as Mn, useFeatureFlags as Tn, useModuleLoader as Dn, useNiceValidation as On, usePrintPreview as An, useUndoKeyboard as jn, useUndoManager as Pn, validateCrossPlatformView as zn, validateDiagramSchema as Cn, validateModuleManifest as kn, validateRbacPolicy as xn, validateViewDefinitionV2 as Ln, validateViewForDeploy as In, validateViewsBatch as En } from "@nice2dev/ui";
2
2
  import { useMemo as S, useState as _, useEffect as A, useCallback as c } from "react";
3
3
  const te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4
4
  __proto__: null
@@ -1750,22 +1750,23 @@ export {
1750
1750
  to as NiceModuleRoute,
1751
1751
  oo as NicePermissionMatrix,
1752
1752
  no as NicePrintPreview,
1753
- ro as NiceShowcase,
1754
- so as NiceSortable,
1755
- ao as NiceSpeechToText,
1756
- io as NiceThemeBuilder,
1757
- lo as NiceThemeDesigner,
1758
- co as NiceUndoManager,
1759
- uo as NiceUndoProvider,
1760
- po as NiceValidationGroup,
1761
- fo as NiceValidationSummary,
1762
- go as NiceValidator,
1763
- mo as NiceViewCache,
1764
- ho as NiceViewFetchError,
1765
- bo as NiceViewFetcher,
1766
- wo as NiceViewHotReload,
1767
- yo as NiceViewRegistry,
1768
- So as NiceViewRenderer,
1753
+ ro as NiceRecipeEditor,
1754
+ so as NiceShowcase,
1755
+ ao as NiceSortable,
1756
+ io as NiceSpeechToText,
1757
+ lo as NiceThemeBuilder,
1758
+ co as NiceThemeDesigner,
1759
+ uo as NiceUndoManager,
1760
+ po as NiceUndoProvider,
1761
+ fo as NiceValidationGroup,
1762
+ go as NiceValidationSummary,
1763
+ mo as NiceValidator,
1764
+ ho as NiceViewCache,
1765
+ bo as NiceViewFetchError,
1766
+ wo as NiceViewFetcher,
1767
+ yo as NiceViewHotReload,
1768
+ So as NiceViewRegistry,
1769
+ _o as NiceViewRenderer,
1769
1770
  Re as PdfTools,
1770
1771
  pe as Pipelines,
1771
1772
  te as RemoteDesktop,
@@ -1788,100 +1789,103 @@ export {
1788
1789
  we as VisualScripting,
1789
1790
  Ve as WordProcessor,
1790
1791
  _e as Workspace,
1791
- _o as autoDetectColumns,
1792
+ vo as autoDetectColumns,
1792
1793
  M as calculateETA,
1793
1794
  T as calculatePieces,
1794
1795
  vt as calculateTorrentHealth,
1795
- vo as checkModuleHealth,
1796
- Mo as checkPermissions,
1797
- To as checkSingleModule,
1798
- Do as compareSemver,
1796
+ Mo as checkModuleHealth,
1797
+ To as checkPermissions,
1798
+ Do as checkSingleModule,
1799
+ Oo as compareSemver,
1799
1800
  wt as createDownloadSegments,
1801
+ Ao as createEmptyRecipe,
1800
1802
  Mt as createFileSelection,
1801
1803
  R as createMagnetUri,
1802
1804
  O as createPieceStatus,
1803
- Oo as createStandardErpContracts,
1805
+ jo as createStandardErpContracts,
1804
1806
  V as createTorrent,
1805
- Ao as createUndoMiddleware,
1806
- jo as defaultTypeMapping,
1807
- Po as defaultViewRegistry,
1808
- zo as deserializeManifest,
1809
- Co as deserializeRbacPolicy,
1810
- ko as deserializeViewV2,
1811
- xo as diffObjects,
1812
- Lo as diffViews,
1807
+ Po as createUndoMiddleware,
1808
+ zo as defaultTypeMapping,
1809
+ Co as defaultViewRegistry,
1810
+ ko as deserializeManifest,
1811
+ xo as deserializeRbacPolicy,
1812
+ Lo as deserializeViewV2,
1813
+ Io as diffObjects,
1814
+ Eo as diffViews,
1813
1815
  yt as disposeDownloadManager,
1814
1816
  At as disposeTorrentClient,
1815
- Io as downloadCSV,
1816
- Eo as downloadHTML,
1817
- No as downloadJSON,
1818
- Fo as downloadPDF,
1819
- Bo as downloadXLSX,
1820
- Ro as exportToCSV,
1821
- Uo as exportToHTML,
1822
- Vo as exportToJSON,
1823
- Qo as exportToPDF,
1824
- Ho as exportToXLSX,
1825
- $o as extractControlTypes,
1826
- qo as extractTokensFromTheme,
1817
+ No as downloadCSV,
1818
+ Fo as downloadHTML,
1819
+ Bo as downloadJSON,
1820
+ Ro as downloadPDF,
1821
+ Uo as downloadXLSX,
1822
+ Vo as exportToCSV,
1823
+ Qo as exportToHTML,
1824
+ Ho as exportToJSON,
1825
+ $o as exportToPDF,
1826
+ qo as exportToXLSX,
1827
+ Go as extractControlTypes,
1828
+ Wo as extractTokensFromTheme,
1827
1829
  P as filterFilesByExtension,
1828
1830
  ht as formatBytes,
1829
- Go as formatDiffAsText,
1831
+ Ko as formatDiffAsText,
1830
1832
  bt as formatDuration,
1831
1833
  _t as formatPeerCount,
1832
1834
  g as formatSpeed,
1833
- Wo as generateAllForRbac,
1834
- Ko as generateAllForView,
1835
- Xo as generateDartModel,
1835
+ Xo as generateAllForRbac,
1836
+ Jo as generateAllForView,
1837
+ Yo as generateDartModel,
1836
1838
  L as generateDownloadId,
1837
1839
  j as generateInfoHash,
1838
- Jo as generateMermaidSyntax,
1840
+ Zo as generateMermaidSyntax,
1839
1841
  F as generatePeerId,
1840
- Yo as generateRbacDart,
1841
- Zo as generateRbacTypescript,
1842
- en as generateScaffold,
1843
- tn as generateStoriesFromViews,
1844
- on as generateStoryFromView,
1845
- nn as generateTokens,
1846
- rn as generateTypescriptModel,
1847
- sn as generateViewCatalog,
1842
+ en as generateRbacDart,
1843
+ tn as generateRbacTypescript,
1844
+ on as generateScaffold,
1845
+ nn as generateStoriesFromViews,
1846
+ rn as generateStoryFromView,
1847
+ sn as generateTokens,
1848
+ an as generateTypescriptModel,
1849
+ ln as generateViewCatalog,
1848
1850
  Dt as getAudioFiles,
1849
1851
  N as getDownloadManager,
1850
1852
  x as getFileType,
1851
1853
  Ot as getLargestFile,
1852
1854
  Q as getTorrentClient,
1853
1855
  Tt as getVideoFiles,
1854
- an as isAllowed,
1855
- ln as isVersionCompatible,
1856
- dn as isViewCompatibleWith,
1857
- cn as listScaffoldTemplates,
1858
- un as niceExport,
1856
+ dn as isAllowed,
1857
+ cn as isVersionCompatible,
1858
+ un as isViewCompatibleWith,
1859
+ pn as listScaffoldTemplates,
1860
+ fn as newRecipeId,
1861
+ gn as niceExport,
1859
1862
  C as parseDownloadUrl,
1860
1863
  k as parseMagnetLink,
1861
1864
  B as parseMagnetUri,
1862
- pn as resolvePermissions,
1863
- fn as runContractTests,
1864
- gn as serializeManifest,
1865
- mn as serializeRbacPolicy,
1866
- hn as serializeViewV2,
1867
- bn as useAuditLog,
1868
- wn as useColumnChooser,
1865
+ mn as recipeTotalMinutes,
1866
+ hn as resolvePermissions,
1867
+ bn as runContractTests,
1868
+ wn as serializeManifest,
1869
+ yn as serializeRbacPolicy,
1870
+ Sn as serializeViewV2,
1871
+ _n as useAuditLog,
1872
+ vn as useColumnChooser,
1869
1873
  St as useDownloadManager,
1870
- yn as useFeatureFlag,
1871
- Sn as useFeatureFlags,
1872
- _n as useModuleLoader,
1873
- vn as useNiceValidation,
1874
- Mn as usePrintPreview,
1874
+ Mn as useFeatureFlag,
1875
+ Tn as useFeatureFlags,
1876
+ Dn as useModuleLoader,
1877
+ On as useNiceValidation,
1878
+ An as usePrintPreview,
1875
1879
  jt as useTorrentClient,
1876
- Tn as useUndoKeyboard,
1877
- Dn as useUndoManager,
1880
+ jn as useUndoKeyboard,
1881
+ Pn as useUndoManager,
1878
1882
  I as validateChecksum,
1879
- On as validateCrossPlatformView,
1880
- An as validateDiagramSchema,
1881
- jn as validateModuleManifest,
1882
- Pn as validateRbacPolicy,
1883
- zn as validateViewDefinitionV2,
1884
- Cn as validateViewForDeploy,
1885
- kn as validateViewsBatch
1883
+ zn as validateCrossPlatformView,
1884
+ Cn as validateDiagramSchema,
1885
+ kn as validateModuleManifest,
1886
+ xn as validateRbacPolicy,
1887
+ Ln as validateViewDefinitionV2,
1888
+ In as validateViewForDeploy,
1889
+ En as validateViewsBatch
1886
1890
  };
1887
1891
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/ui-tools",
3
- "version": "1.0.12",
3
+ "version": "1.0.15",
4
4
  "description": "Nice2Dev UI Tools — FileManager, FilterBuilder, Gallery, Map, Git, Validation, Export, ColumnChooser, AuditLog, Designers",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -27,12 +27,12 @@
27
27
  "prepublishOnly": "npm run build"
28
28
  },
29
29
  "peerDependencies": {
30
- "@nice2dev/ui": "^1.0.12",
30
+ "@nice2dev/ui": "^1.0.15",
31
31
  "react": ">=17.0.0",
32
32
  "react-dom": ">=17.0.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@nice2dev/ui": "^1.0.12",
35
+ "@nice2dev/ui": "^1.0.15",
36
36
  "@types/react": "^18.2.0",
37
37
  "@types/react-dom": "^18.2.0",
38
38
  "@vitejs/plugin-react": "^4.3.0",