1import{j as e}from"./index-C_ektQUH.js";import{r as l}from"./react-vendor-xTTrI6pn.js";import{u as D,T as E}from"./ToolLayout-pC65h5R8.js";import{B as d}from"./Button-C8NIIl5W.js";import{I as m}from"./Input-CGtXCIbM.js";import{L as u}from"./Label-DAsFg_dD.js";import{t as B}from"./analytics-BwglxTVh.js";import{u as R}from"./i18n-vendor-DT53k9yW.js";import{R as L,ag as T,aE as W,aR as q}from"./ui-vendor-CVpBiFJX.js";import{v as z,a as g,b as G,c as M,d as P}from"./utils-vendor-BAoJ1OuU.js";function Y(){const{t}=R(),{copy:v,copiedId:f}=D(),[n,x]=l.useState([]),[i,j]=l.useState("v4"),[h,N]=l.useState(1),[r,k]=l.useState(""),[c,y]=l.useState(""),[p,w]=l.useState(!1),[b,C]=l.useState(!1),U=()=>{try{switch(i){case"v1":return P();case"v3":return!r||!c?"":g(r)?M(c,r):"Invalid Namespace UUID";case"v5":return!r||!c?"":g(r)?G(c,r):"Invalid Namespace UUID";default:return z()}}catch{return"Error generating UUID"}},I=()=>{const s=[];for(let o=0;o<h;o++){let a=U();a&&!a.startsWith("Error")&&!a.startsWith("Invalid")&&(p&&(a=a.toUpperCase()),b&&(a=`{${a}}`),s.push(a))}x([...s,...n].slice(0,50)),B()},S=()=>{x([])};return e.jsx(E,{toolId:"uuid",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 bg-slate-50 dark:bg-slate-900/50 p-4 rounded-xl border border-slate-200 dark:border-slate-700",children:[e.jsxs("div",{children:[e.jsx(u,{children:t("tools.uuid.version")}),e.jsx("div",{className:"flex gap-2",children:["v1","v3","v4","v5"].map(s=>e.jsx(d,{onClick:()=>j(s),className:`px-3 py-1.5 text-sm font-medium rounded-lg transition-all h-auto border-0 ${i===s?"bg-blue-600 text-white shadow-sm hover:bg-blue-700":"bg-white dark:bg-slate-800 text-slate-600 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-slate-700"}`,variant:i===s?"primary":"ghost",children:s.toUpperCase()},s))})]}),e.jsxs("div",{children:[e.jsx(u,{children:t("tools.uuid.quantity")}),e.jsx(m,{type:"number",min:"1",max:"50",value:h,onChange:s=>N(Math.min(50,Math.max(1,parseInt(s.target.value)||1)))})]}),(i==="v3"||i==="v5")&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"md:col-span-2",children:[e.jsxs(u,{children:[t("tools.uuid.namespace")," (UUID)"]}),e.jsx(m,{type:"text",value:r,onChange:s=>k(s.target.value),placeholder:"e.g. 6ba7b810-9dad-11d1-80b4-00c04fd430c8"})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsx(u,{children:t("tools.uuid.name")}),e.jsx(m,{type:"text",value:c,onChange:s=>y(s.target.value),placeholder:"e.g. example.com"})]})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 p-3 bg-slate-50 dark:bg-slate-900/50 rounded-lg border border-slate-200 dark:border-slate-700",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[e.jsx("input",{type:"checkbox",checked:p,onChange:s=>w(s.target.checked),className:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:t("tools.uuid.uppercase","UPPERCASE")})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[e.jsx("input",{type:"checkbox",checked:b,onChange:s=>C(s.target.checked),className:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:t("tools.uuid.braces","{Braces}")})]})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(d,{onClick:I,className:"flex-1 from-blue-600 to-cyan-600 hover:from-blue-700 hover:to-cyan-700",size:"lg",leftIcon:e.jsx(L,{className:"w-5 h-5"}),children:t("tools.uuid.generate")}),n.length>0&&e.jsx(d,{onClick:S,variant:"secondary",size:"lg",children:t("common.clear")})]}),n.length===0?e.jsxs("div",{className:"text-center py-16 px-4",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-gradient-to-br from-blue-500/20 to-cyan-500/20 rounded-full mb-6",children:e.jsx(T,{className:"w-10 h-10 text-blue-400"})}),e.jsx("p",{className:"text-slate-600 dark:text-slate-400 text-lg font-medium",children:t("tools.uuid.empty")}),e.jsx("p",{className:"text-slate-500 dark:text-slate-500 text-sm mt-2",children:t("tools.uuid.emptyDescription")})]}):e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"flex items-center justify-between mb-2",children:e.jsxs("label",{className:"block text-sm font-semibold text-slate-700 dark:text-slate-300",children:[t("tools.uuid.history")," (",n.length,")"]})}),e.jsx("div",{className:"space-y-2",children:n.map((s,o)=>e.jsxs("div",{className:"relative group bg-slate-50 dark:bg-slate-900/50 border border-slate-300 dark:border-slate-600/50 rounded-xl overflow-hidden hover:border-blue-500/50 transition-all",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-600/5 to-transparent opacity-0 group-hover:opacity-100 transition-opacity"}),e.jsxs("div",{className:"relative p-4 flex items-center justify-between gap-4",children:[e.jsx("div",{className:"flex-1 font-mono text-sm text-slate-900 dark:text-slate-200 break-all",children:s}),e.jsx(d,{onClick:()=>v(s,o),className:"flex-shrink-0 p-2.5 hover:bg-slate-200 dark:hover:bg-slate-800/50 rounded-lg transition-all hover:scale-110 active:scale-95 h-auto w-auto",variant:"ghost",children:f===o?e.jsx(W,{className:"w-5 h-5 text-green-600 dark:text-green-400"}):e.jsx(q,{className:"w-5 h-5 text-slate-400"})})]})]},o))})]}),e.jsx("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-700/50 rounded-xl p-4",children:e.jsxs("p",{className:"text-blue-800 dark:text-blue-300 text-sm",children:[e.jsx("span",{className:"font-semibold",children:t("tools.uuid.info")})," ",t("tools.uuid.infoDescription")]})})]})})}export{Y as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.