1import{c as o,u,h as b,ca as l,j as e,P as f,E as y,cb as n,f as c,A as r,e as d}from"./index-Dr-C1Rfi.js";import{C as j}from"./check-uO8KVdLs.js";import{C as N}from"./code-xml-R7DphUMM.js";/** 2 * @license lucide-react v0.475.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const w=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],v=o("Globe",w);/** 7 * @license lucide-react v0.475.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const k=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],C=o("Shield",k);/** 12 * @license lucide-react v0.475.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const _=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],m=o("Zap",_),A=[m,v,C];function T(){const t=u(),x=b("integration",l),p=l.map(s=>{const a=x.find(i=>i.slug===s.slug);return a?{...s,...a,installUrl:s.installUrl,installUrlAlt:s.installUrlAlt,supportEmail:s.supportEmail,supportPath:s.supportPath}:s}),g=[{title:t("integrations.point.instant.title","Instant quotes"),body:t("integrations.point.instant.body","Real-time shipping rates from multiple carriers")},{title:t("integrations.point.countries.title","200+ countries"),body:t("integrations.point.countries.body","Ship from Thailand to anywhere in the world")},{title:t("integrations.point.api.title","Secure API"),body:t("integrations.point.api.body","Token-based authentication for all requests")}],h=[{title:t("integrations.step.key.title","Get your API key"),body:t("integrations.step.key.body","Sign up for a Thai Nexus account and generate your API token from dashboard settings.")},{title:t("integrations.step.install.title","Install the plugin"),body:t("integrations.step.install.body","Follow the platform guide, then paste your API token into the integration settings.")},{title:t("integrations.step.live.title","Go live"),body:t("integrations.step.live.body","Customers see live Thai Nexus rates at checkout based on destination and package weight.")}];return e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[e.jsx(f,{uiPageId:"integrations",title:t("integrations.meta.title","E-commerce Integrations - WooCommerce, Shopify, BigCommerce & Wix | Thai Nexus"),description:t("integrations.meta.description","Add live Thai Nexus international shipping rates to your WooCommerce, Shopify, BigCommerce, or Wix store. Free integrations for Thailand-based sellers shipping worldwide.")}),e.jsx("header",{className:"border-b border-border bg-secondary/50",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-10 sm:py-14",children:[e.jsx(y,{items:[{label:t("integrations.crumb","Integrations")}]}),e.jsx("p",{className:"mt-4 font-mono text-xs uppercase tracking-widest text-accent",children:t("integrations.eyebrow","Platform integrations")}),e.jsx("h1",{className:"mt-3 text-3xl sm:text-4xl lg:text-5xl font-extrabold text-primary tracking-tight max-w-3xl",children:t("integrations.hub.title",n.title)}),e.jsx("p",{className:"mt-4 text-base sm:text-lg text-foreground/80 leading-relaxed max-w-2xl",children:t("integrations.hub.description",n.description)}),e.jsx("div",{className:"mt-8",children:e.jsxs("a",{href:`${c.appUrl}/register`,className:"inline-flex items-center justify-center gap-2 bg-accent text-accent-foreground font-semibold px-5 py-3 rounded-md hover:brightness-95 transition-all min-h-[44px]",children:[t("integrations.create_account","Create free account")," ",e.jsx(r,{className:"w-4 h-4"})]})})]})}),e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-10 sm:py-14",children:[e.jsx("div",{className:"grid sm:grid-cols-3 gap-4 sm:gap-6",children:g.map((s,a)=>{const i=A[a]||m;return e.jsxs("div",{className:"rounded-lg border border-border bg-white p-5",children:[e.jsx(i,{className:"w-5 h-5 text-accent","aria-hidden":!0}),e.jsx("h2",{className:"mt-3 font-bold text-primary",children:s.title}
16),e.jsx("p",{className:"mt-1 text-sm text-foreground/75 leading-relaxed",children:s.body})]},s.title)})}),e.jsxs("section",{className:"mt-14 sm:mt-16",children:[e.jsx("div",{className:"flex flex-col sm:flex-row sm:items-end sm:justify-between gap-3",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-primary",children:t("integrations.platforms_h2","Available platforms")}),e.jsx("p",{className:"mt-2 text-foreground/75 max-w-xl",children:t("integrations.platforms_intro","Choose your platform and follow the setup guide.")})]})}),e.jsxs("div",{className:"mt-8 grid md:grid-cols-2 gap-4 sm:gap-5",children:[p.map(s=>e.jsxs(d,{to:`/integrations/${s.slug}`,className:"group rounded-xl border border-border bg-white p-5 sm:p-6 hover:border-primary/40 hover:shadow-sm transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h3",{className:"text-xl font-bold text-primary group-hover:text-accent transition-colors",children:s.name}),e.jsx("span",{className:"text-[11px] font-mono uppercase tracking-wider text-emerald-700 bg-emerald-50 border border-emerald-200 px-2 py-0.5 rounded",children:s.status})]}),e.jsx("p",{className:"mt-3 text-sm sm:text-base text-foreground/80 leading-relaxed",children:s.blurb}),e.jsx("ul",{className:"mt-4 grid grid-cols-1 sm:grid-cols-2 gap-2 text-sm text-foreground/75",children:s.highlights.slice(0,4).map(a=>e.jsxs("li",{className:"flex gap-2",children:[e.jsx(j,{className:"w-4 h-4 text-accent shrink-0 mt-0.5","aria-hidden":!0}),e.jsx("span",{children:a})]},a))}),e.jsxs("span",{className:"mt-5 inline-flex items-center gap-2 font-semibold text-accent",children:[t("integrations.view_guide","View setup guide"),e.jsx(r,{className:"w-4 h-4 transition-transform group-hover:translate-x-0.5"})]})]},s.slug)),e.jsxs(d,{to:"/developers",className:"group rounded-xl border border-border bg-white p-5 sm:p-6 hover:border-primary/40 hover:shadow-sm transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent md:col-span-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(N,{className:"w-5 h-5 text-accent","aria-hidden":!0}),e.jsx("h3",{className:"text-xl font-bold text-primary group-hover:text-accent transition-colors",children:t("integrations.api_h2","Custom API")}),e.jsx("span",{className:"text-[11px] font-mono uppercase tracking-wider text-emerald-700 bg-emerald-50 border border-emerald-200 px-2 py-0.5 rounded",children:t("integrations.api_status","Available")})]}),e.jsx("p",{className:"mt-3 text-sm sm:text-base text-foreground/80 leading-relaxed max-w-3xl",children:t("integrations.api_body","Use REST endpoints for quotes, shipments, service lists, and Tracking API access after registration.")}),e.jsxs("span",{className:"mt-5 inline-flex items-center gap-2 font-semibold text-accent",children:[t("integrations.dev_docs","Developer docs"),e.jsx(r,{className:"w-4 h-4 transition-transform group-hover:translate-x-0.5"})]})]})]})]}),e.jsxs("section",{className:"mt-14 sm:mt-16",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-primary",children:t("integrations.how_h2","How integrations work")}),e.jsx("ol",{className:"mt-8 grid md:grid-cols-3 gap-6",children:h.map((s,a)=>e.jsxs("li",{className:"relative",children:[e.jsx("span",{className:"font-mono text-sm font-bold text-accent",children:String(a+1).padStart(2,"0")}),e.jsx("h3",{className:"mt-2 font-bold text-primary text-lg",children:s.title}),e.jsx("p",{className:"mt-2 text-sm text-foreground/75 leading-relaxed",children:s.body})]},s.title))})]})]}),e.jsx("section",{className:"mt-auto border-t border-border bg-primary text-primary-foreground",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-10 sm:py-12 flex flex-col md:flex-row md:items-center md:justify-between gap-6",children:[e.jsxs("div",{className:"max-w-xl",children:[e.jsx("h2",{className:"text-xl sm:text-2xl font-bold",children:t("integrations.ready_h2","Ready to integrate?")}
16),e.jsx("p",{className:"mt-2 text-sm text-primary-foreground/75",children:t("integrations.ready.body",n.readyBlurb)})]}),e.jsxs("a",{href:`${c.appUrl}/register`,className:"inline-flex items-center justify-center gap-2 bg-accent text-accent-foreground font-semibold px-5 py-3 rounded-md hover:brightness-95 shrink-0 min-h-[44px]",children:[t("integrations.create_account","Create free account")," ",e.jsx(r,{className:"w-4 h-4"})]})]})})]})}export{T 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.