PageSourceSearch

https://xenostudio.ai/assets/ProductsIndex-Cg9JITCj.js

js xenostudio.ai collected 2026-10-05 05:37:58 UTC 2,760 bytes, 1 lines download raw bytes

1import{K as c,j as e,Y as i,R as n,a1 as d,a7 as x,v as m,D as p,Q as g,L as h}from"./index-CvyoJVtZ.js";import{g as u}from"./index-1t9Iq77l.js";import{G as f}from"./globe-DQATfeS_.js";const b={shipping:{label:"Available",cls:"border-emerald-400/30 text-emerald-300/90"},beta:{label:"Beta",cls:"border-white/35 text-[#e8e3dc]"},"coming-soon":{label:"Soon",cls:"border-white/[0.12] text-[#948d83]"}},j={web:f,desktop:p,cli:m,soon:null};function v(t){const o=[],a=new Map;for(const s of t)a.has(s.category)||(a.set(s.category,[]),o.push(s.category)),a.get(s.category).push(s);return o.map(s=>[s,a.get(s)])}const N=({p:t})=>{const o=j[t.delivery],a=b[t.status],s=!!u(t.slug),r=t.status!=="coming-soon"||s,l=e.jsxs("div",{className:"group flex h-full flex-col rounded-[14px] border border-white/[0.07] bg-[#0d0d0d] p-5 transition-colors hover:border-white/[0.14] hover:bg-[#101010]",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[e.jsx("h3",{className:"text-[15px] font-semibold text-[#ece7df]",children:t.name}),o&&e.jsx(o,{className:"h-3.5 w-3.5 text-[#5d5850]"})]}),e.jsx("p",{className:"flex-1 text-[12.5px] leading-[1.55] text-[#948d83]",children:t.tagline}),e.jsxs("div",{className:"mt-3.5 flex items-center justify-between",children:[e.jsx("span",{className:`rounded-[4px] border px-1.5 py-0.5 text-[10.5px] font-medium ${a.cls}`,children:a.label}),r&&e.jsx(g,{className:"h-3.5 w-3.5 text-[#5d5850] transition-colors group-hover:text-white"})]})]});return r?e.jsx(h,{to:`/product/${t.slug}`,className:"block",children:l}):e.jsx("div",{className:"cursor-default opacity-70",children:l})},I=()=>{const t=c(),o=v(x);return e.jsxs("div",{className:"flex min-h-screen flex-col bg-[#060606] text-white font-['Inter',sans-serif] overflow-x-clip antialiased",children:[e.jsx(i,{onGetStarted:()=>t("/login"),visible:!0}),e.jsx("main",{className:"flex-1 page-gutter pt-[clamp(92px,12vh,140px)] pb-[clamp(56px,8vh,110px)]",children:e.jsxs("div",{className:"mx-auto max-w-[1080px]",children:[e.jsxs(n,{children:[e.jsx("h1",{className:"text-[clamp(2rem,3.5vw,3.2rem)] font-semibold tracking-[-0.02em] text-[#ece7df]",children:"Products"}),e.jsx("p",{className:"mt-3 max-w-[580px] text-[14px] leading-[1.6] text-[#948d83]",children:"The XENO ecosystem — creative, office, agent, and developer tools, all AI-native and built to work together."})]}),o.map(([a,s],r)=>e.jsx(n,{delay:60+r*25,children:e.jsxs("section",{className:"mt-12",children:[e.jsx("h2",{className:"mb-4 text-[12px] font-semibold uppercase tracking-[0.2em] text-[#756f66]",children:a}),e.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.map(l=>e.jsx(N,{p:l},l.slug))})]})},a))]})}),e.jsx(d,{})]})};export{I 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.