PageSourceSearch

https://turnozo.com/assets/header-VH8attz7.js

js turnozo.com collected 2026-09-28 10:34:21 UTC 53,760 bytes, 53 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0e6c3-591e-7d03-b375-b7e14db9b7e1")}catch(e){}}();import{c as S,ac as rt,ad as at,r as a,ae as fe,j as e,af as ct,ag as lt,a5 as ge,d as be,M as $,ah as J,ai as dt,aj as Ce,ak as A,al as F,am as ut,an as mt,ao as ft,ap as O,b as ht,A as xt,B as V,F as K,e as Z}from"./index-DKp-dPqd.js";import{e as pt,c as re,a as Ne,L as h,b as vt,C as gt,U as bt}from"./localized-link-C0fUAZzo.js";/**
2 * @license lucide-react v0.553.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 Ct=[["path",{d:"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18",key:"16swn3"}],["path",{d:"M21 15.5V6a2 2 0 0 0-2-2H9.5",key:"yhw86o"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h7",key:"1wap6i"}],["path",{d:"M21 10h-5.5",key:"quycpq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Nt=S("calendar-off",Ct);/**
7 * @license lucide-react v0.553.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 yt=[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]],jt=S("facebook",yt);/**
12 * @license lucide-react v0.553.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 wt=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],kt=S("file-text",wt);/**
17 * @license lucide-react v0.553.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */const Et=[["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"}]],Mt=S("globe",Et);/**
22 * @license lucide-react v0.553.0 - ISC
23 *
24 * This source code is licensed under the ISC license.
25 * See the LICENSE file in the root directory of this source tree.
26 */const Lt=[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]],_t=S("instagram",Lt);/**
27 * @license lucide-react v0.553.0 - ISC
28 *
29 * This source code is licensed under the ISC license.
30 * See the LICENSE file in the root directory of this source tree.
31 */const Rt=[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]],Tt=S("linkedin",Rt);/**
32 * @license lucide-react v0.553.0 - ISC
33 *
34 * This source code is licensed under the ISC license.
35 * See the LICENSE file in the root directory of this source tree.
36 */const It=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Pt=S("menu",It);/**
37 * @license lucide-react v0.553.0 - ISC
38 *
39 * This source code is licensed under the ISC license.
40 * See the LICENSE file in the root directory of this source tree.
41 */const At=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],St=S("smartphone",At);/**
42 * @license lucide-react v0.553.0 - ISC
43 *
44 * This source code is licensed under the ISC license.
45 * See the LICENSE file in the root directory of this source tree.
46 */const Ot=[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Ft=S("user-check",Ot);/**
47 * @license lucide-react v0.553.0 - ISC
48 *
49 * This source code is licensed under the ISC license.
50 * See the LICENSE file in the root directory of this source tree.
51 */const Bt=[["path",{d:"M18 6 6 18",key:"1bl5f8"}
51],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Dt=S("x",Bt),zt={en:"English",es:"Español"};function Ut(){const t=pt(),n=rt({select:s=>s.location.publicHref??s.location.href}),{rest:i}=at(n),o=/^\/blog\/[^/]+$/.test(i),r=a.useCallback(s=>o?fe("/blog",s):fe(i,s),[o,i]),c=s=>{const d=s.target.value,f=r(d);lt(d),f!==n&&window.location.assign(f)};return e.jsxs("label",{className:"relative inline-flex items-center text-zinc-600",children:[e.jsx("span",{className:"sr-only",children:t==="es"?"Cambiar idioma":"Switch language"}),e.jsx(Mt,{className:"pointer-events-none absolute left-3 size-4 text-zinc-500"}),e.jsx("select",{value:t,onChange:c,"aria-label":t==="es"?"Cambiar idioma":"Switch language",className:"h-11 appearance-none rounded-lg border bg-white py-2 pr-9 pl-9 text-base text-zinc-900 transition-colors hover:border-zinc-400 focus:border-zinc-500 focus:outline-hidden",children:ct.map(s=>e.jsx("option",{value:s,children:zt[s]},s))}),e.jsx(re,{className:"pointer-events-none absolute right-3 size-4 text-zinc-400"})]})}function $t({className:t}){return e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:t,children:e.jsx("path",{d:"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"})})}function Vt({className:t}){return e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:t,children:e.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"})})}function On({}){const{shellContent:t,locale:n}=ge.useRouteContext(),i=be();if(!t)return null;const o=t.footer,r=n==="es"?"es-ES":"en-US",c={maxWidthClassName:"max-w-[17rem]",height:58},s=d=>{i.captureFooterLink(d)};return e.jsx("footer",{className:"border-t border-[#F0EFEB] bg-[#FAFAF7] py-16 text-sm text-[#55555C]",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4",children:[e.jsxs("div",{className:"grid gap-8 sm:grid-cols-2 md:grid-cols-4",children:[e.jsxs("div",{className:"sm:col-span-2 md:col-span-1",children:[e.jsx(Ne,{className:"[&>span]:font-cal-sans [&>span]:font-bold"}),e.jsx("p",{className:"mt-3 text-pretty",children:o.tagline}),e.jsxs("p",{className:"mt-4 text-xs text-[#9C9CA3]",children:[o.madeInEurope," ","🇪🇺"]}),e.jsx("div",{className:"mt-3",children:e.jsx(Ut,{})}),e.jsxs("div",{className:"mt-4 -ml-3 flex items-center",children:[e.jsx("a",{href:"https://www.instagram.com/turnozo.es/",target:"_blank",rel:"noopener noreferrer","aria-label":"Instagram",className:"flex size-11 items-center justify-center text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("instagram"),children:e.jsx(_t,{className:"size-5","aria-hidden":"true"})}),e.jsx("a",{href:"https://www.facebook.com/turnozo.es",target:"_blank",rel:"noopener noreferrer","aria-label":"Facebook",className:"flex size-11 items-center justify-center text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("facebook"),children:e.jsx(jt,{className:"size-5","aria-hidden":"true"})}),e.jsx("a",{href:"https://www.linkedin.com/company/turnozo",target:"_blank",rel:"noopener noreferrer","aria-label":"LinkedIn",className:"flex size-11 items-center justify-center text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("linkedin"),children:e.jsx(Tt,{className:"size-5","aria-hidden":"true"})}
51),e.jsx("a",{href:"https://x.com/turnozocom",target:"_blank",rel:"noopener noreferrer","aria-label":"X",className:"flex size-11 items-center justify-center text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("x-twitter"),children:e.jsx($t,{className:"size-[1.1rem]"})}),e.jsx("a",{href:"https://wa.me/34641987253",target:"_blank",rel:"noopener noreferrer","aria-label":"WhatsApp",className:"flex size-11 items-center justify-center text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("whatsapp"),children:e.jsx(Vt,{className:"size-5"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:$,children:o.sections.product}),e.jsxs("ul",{className:"mt-4 space-y-2.5",children:[e.jsx("li",{children:e.jsx(h,{to:"/scheduling",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("scheduling"),children:o.productLinks.scheduling})}),e.jsx("li",{children:e.jsx(h,{to:"/time-tracking",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("time-tracking"),children:o.productLinks.timeTracking})}),e.jsx("li",{children:e.jsx(h,{to:"/mobile",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("mobile-app"),children:o.productLinks.mobileApp})}),e.jsx("li",{children:e.jsx(h,{to:"/team-management",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("team-management"),children:o.productLinks.teamManagement})}),e.jsx("li",{children:e.jsx(h,{to:"/availability",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("availability"),children:o.productLinks.availability})}),e.jsx("li",{children:e.jsx(h,{to:"/absence-management",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("absence-management"),children:o.productLinks.absenceManagement})}),e.jsx("li",{children:e.jsx(h,{to:"/carpeta-laboral",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("carpeta-laboral"),children:o.productLinks.carpetaLaboral})}),e.jsx("li",{children:e.jsx(h,{to:"/pricing",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("pricing"),children:o.productLinks.pricing})}),e.jsx("li",{children:e.jsx(h,{to:"/product-guide",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("product-guide"),children:o.productLinks.productGuide})})]}),e.jsx("h4",{className:`mt-8 ${$}`,children:o.sections.compare}),e.jsx("ul",{className:"mt-4 space-y-2.5",children:o.switchLinks.map(d=>e.jsx("li",{children:e.jsx(h,{to:d.to,className:"transition-colors hover:text-[#18181B]",onClick:()=>s(d.to.slice(1)),children:d.label})},d.to))})]}),e.jsxs("div",{children:[e.jsx("h4",{className:$,children:o.sections.industries}),e.jsxs("ul",{className:"mt-4 space-y-2.5",children:[e.jsx("li",{children:e.jsx(h,{to:"/for/restaurants",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("restaurants"),children:o.industryLinks.restaurants})}),e.jsx("li",{children:e.jsx(h,{to:"/for/retail",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("retail"),children:o.industryLinks.retail})}),e.jsx("li",{children:e.jsx(h,{to:"/for/healthcare",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("healthcare"),children:o.industryLinks.healthcare})}),e.jsx("li",{children:e.jsx(h,{to:"/for/cleaning",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("cleaning"),children:o.industryLinks.cleaning})}),e.jsx("li",{children:e.jsx(h,{to:"/for/security",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("security"),children:o.industryLinks.security})}),e.jsx("li",{children:e.jsx(h,{to:"/for/hotels",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("hotels"),children:o.industryLinks.hotels})}),e.jsx("li",{children:e.jsx(h,{to:"/for/gyms",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("gyms"),children:o.industryLinks.gyms})}),e.jsx("li",{children:e.jsx(h,{to:"/for/hair-salons",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("hair-salons"),children:o.industryLinks.hairSalons})}),e.jsx("li",{children:e.jsx(h,{to:"/for/warehouses",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("warehouses"),children:o.industryLinks.warehouses})}),e.jsx("li",{children:e.jsx(h,{to:"/for/care-homes",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("care-homes"),children:o.industryLinks.careHomes})}),e.jsx("li",{children:e.jsx(h,{to:"/industries",className:"font-medium text-[#18181B] transition-colors hover:text-[#55555C]",onClick:()=>s("all-industries"),children:o.industryLinks.allIndustries})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:$,children:o.sections.freeTools}),e.jsxs("ul",{className:"mt-4 space-y-2.5",children:[e.jsx("li",{children:e.jsx(h,{to:"/inspection-test",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("inspection-test"),children:o.freeToolLinks.inspectionTest})}),e.jsx("li",{children:e.jsx(h,{to:"/tools/schedule-template",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("schedule-template"),children:o.freeToolLinks.scheduleTemplate})}),e.jsx("li",{children:e.jsx(h,{to:"/tools/labor-cost-calculator",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("labor-cost-calculator"),children:o.freeToolLinks.laborCostCalculator})}),e.jsx("li",{children:e.jsx(h,{to:"/tools/shift-hours-calculator",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("shift-hours-calculator"),children:o.freeToolLinks.workHoursCalculator})}),e.jsx("li",{children:e.jsx(h,{to:"/tools/overtime-calculator",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("overtime-calculator"),children:o.freeToolLinks.overtimeCalculator})}),e.jsx("li",{children:e.jsx(h,{to:"/tools/time-card-calculator",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("time-card-calculator"),children:o.freeToolLinks.timeCardCalculator})})]}),e.jsx("h4",{className:`mt-8 ${$}`,children:o.sections.company}),e.jsxs("ul",{className:"mt-4 space-y-2.5",children:[e.jsx("li",{children:e.jsx(h,{to:"/asesorias",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("asesorias"),children:o.companyLinks.forAdvisors})}),e.jsx("li",{children:e.jsx(h,{to:"/partners",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("partners"),children:o.companyLinks.partnerProgram})}),e.jsx("li",{children:e.jsx("a",{href:"/reviewer-kit/",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("reviewer-kit"),children:o.companyLinks.reviewerKit})}),e.jsx("li",{children:e.jsx(h,{to:"/blog",search:{category:void 0,q:void 0},className:"transition-colors hover:text-[#18181B]",onClick:()=>s("blog"),children:o.companyLinks.blog})}),e.jsx("li",{children:e.jsx(h,{to:"/contact",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("contact"),children:o.companyLinks.contact})}),e.jsx("li",{children:e.jsx(h,{to:"/privacy",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("privacy"),children:o.companyLinks.privacyPolicy})}),e.jsx("li",{children:e.jsx(h,{to:"/privacy",hash:"cookies",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("cookies"),children:"Cookies"})}),e.jsx("li",{children:e.jsx(h,{to:"/terms",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("terms"),children:o.companyLinks.termsOfService})}),e.jsx("li",{children:e.jsx(h,{to:"/editorial-policy",className:"transition-colors hover:text-[#18181B]",onClick:()=>s("editorial-policy"),children:o.companyLinks.editorialPolicy})})]})]})]}),e.jsxs("div",{className:"mt-12 flex flex-col items-center justify-between gap-6 border-t border-[#
51E9E8E4] pt-8 sm:flex-row sm:items-end",children:[e.jsxs("div",{className:"flex flex-col items-center gap-3 sm:items-start",children:[e.jsxs("p",{className:"text-xs text-[#9C9CA3]",children:["© ",new Date().getFullYear()," Turnozo. ",o.allRightsReserved]}),e.jsx("a",{href:"https://startupfa.me/s/turnozo?utm_source=turnozo.com",target:"_blank",rel:"noreferrer",onClick:()=>s("startupfame-badge"),children:e.jsx("img",{src:"https://startupfa.me/badges/featured-badge-small.webp",alt:"Turnozo - Featured on Startup Fame",width:"224",height:"36"})}),e.jsx("a",{href:"https://climate.stripe.com/dWPoaR",target:"_blank",rel:"noopener noreferrer",className:`block w-full ${c.maxWidthClassName}`,children:e.jsx("iframe",{className:"block w-full",height:c.height,style:{border:0,pointerEvents:"none"},src:`https://climate.stripe.com/badge/tNr4ZF?theme=light&size=small&locale=${r}`,sandbox:"",title:o.stripeClimateLabel,tabIndex:-1})})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-2",children:[e.jsx("a",{href:"https://turnozo.com/llms.txt",className:"text-xs text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("llms"),children:"llms.txt"}),e.jsx("a",{href:"https://turnozo.com/llms-full.txt",className:"text-xs text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("llms-full"),children:"llms-full.txt"}),e.jsx("a",{href:"/rss.xml",className:"text-xs text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("rss-en"),children:o.rssEnLabel}),e.jsx("a",{href:"/es/rss.xml",className:"text-xs text-[#9C9CA3] transition-colors hover:text-[#18181B]",onClick:()=>s("rss-es"),children:o.rssEsLabel})]})]})]})})}function ye(t,n=[]){let i=[];function o(c,s){const d=a.createContext(s),f=i.length;i=[...i,s];const l=m=>{const{scope:p,children:b,...C}=m,v=p?.[t]?.[f]||d,N=a.useMemo(()=>C,Object.values(C));return e.jsx(v.Provider,{value:N,children:b})};l.displayName=c+"Provider";function u(m,p){const b=p?.[t]?.[f]||d,C=a.useContext(b);if(C)return C;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${c}\``)}return[l,u]}const r=()=>{const c=i.map(s=>a.createContext(s));return function(d){const f=d?.[t]||c;return a.useMemo(()=>({[`__scope${t}`]:{...d,[t]:f}}),[d,f])}};return r.scopeName=t,[o,Kt(r,...n)]}function Kt(...t){const n=t[0];if(t.length===1)return n;const i=()=>{const o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(c){const s=o.reduce((d,{useScope:f,scopeName:l})=>{const m=f(c)[`__scope${l}`];return{...d,...m}},{});return a.useMemo(()=>({[`__scope${n.scopeName}`]:s}),[s])}};return i.scopeName=n.scopeName,i}function L(t,n,{checkForDefaultPrevented:i=!0}={}){return function(r){if(t?.(r),i===!1||!r.defaultPrevented)return n?.(r)}}var Ht=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],_=Ht.reduce((t,n)=>{const i=J(`Primitive.${n}`),o=a.forwardRef((r,c)=>{const{asChild:s,...d}=r,f=s?i:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(f,{...d,ref:c})});return o.displayName=`Primitive.${n}`,{...t,[n]:o}},{});function Q(t,n){t&&dt.flushSync(()=>t.dispatchEvent(n))}var B=globalThis?.document?a.useLayoutEffect:()=>{},Wt=Ce[" useInsertionEffect ".trim().toString()]||B;function je({prop:t,defaultProp:n,onChange:i=()=>{},caller:o}){const[r,c,s]=Gt({defaultProp:n,onChange:i}),d=t!==void 0,f=d?t:r;{const u=a.useRef(t!==void 0);a.useEffect(()=>{const m=u.current;m!==d&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${d?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=d},[d,o])}const l=a.useCallback(u=>{if(d){const m=qt(u)?u(t):u;m!==t&&s.current?.(m)}else c(u)},[d,t,c,s]);return[f,l]}function Gt({defaultProp:t,onChange:n}){const[i,o]=a.useState(t),r=a.useRef(i),c=a.useRef(n);return Wt(()=>{c.current=n},[n]),a.useEffect(()=>{r.current!==i&&(c.current?.(i),r.current=i)},[i,r]),[i,o,c]}function qt(t){return typeof t=="function"}var Yt=a.createContext(void 0);function Xt(t){const n=a.useContext(Yt);return t||n||"ltr"}function Zt(t,n){return a.useReducer((i,o)=>n[i][o]??i,t)}var H=t=>{const{present:n,children:i}=t,o=Jt(n),r=typeof i=="function"?i({present:o.isPresent}):a.Children.only(i),c=A(o.ref,Qt(r));return typeof i=="function"||o.isPresent?a.cloneElement(r,{ref:c}):null};H.displayName="Presence";function Jt(t){const[n,i]=a.useState(),o=a.useRef(null),r=a.useRef(t),c=a.useRef("none"),s=t?"mounted":"unmounted",[d,f]=Zt(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=W(o.current);c.current=d==="mounted"?l:"none"},[d]),B(()=>{const l=o.current,u=r.current;if(u!==t){const p=c.current,b=W(l);t?f("MOUNT"):b==="none"||l?.display==="none"?f("UNMOUNT"):f(u&&p!==b?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,f]),B(()=>
vendor: 4,347 bytes, line 51
51{if(n){let l;const u=n.ownerDocument.defaultView??window,m=b=>{const v=W(o.current).includes(CSS.escape(b.animationName));if(b.target===n&&v&&(f("ANIMATION_END"),!r.current)){const N=n.style.animationFillMode;n.style.animationFillMode="forwards",l=u.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=N)})}},p=b=>{b.target===n&&(c.current=W(o.current))};return n.addEventListener("animationstart",p),n.addEventListener("animationcancel",m),n.addEventListener("animationend",m),()=>{u.clearTimeout(l),n.removeEventListener("animationstart",p),n.removeEventListener("animationcancel",m),n.removeEventListener("animationend",m)}}else f("ANIMATION_END")},[n,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:a.useCallback(l=>{o.current=l?getComputedStyle(l):null,i(l)},[])}}function W(t){return t?.animationName||"none"}function Qt(t){let n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,i=n&&"isReactWarning"in n&&n.isReactWarning;return i?t.ref:(n=Object.getOwnPropertyDescriptor(t,"ref")?.get,i=n&&"isReactWarning"in n&&n.isReactWarning,i?t.props.ref:t.props.ref||t.ref)}var en=Ce[" useId ".trim().toString()]||(()=>{}),tn=0;function we(t){const[n,i]=a.useState(en());return B(()=>{i(o=>o??String(tn++))},[t]),n?`radix-${n}`:""}function ke(t){const n=t+"CollectionProvider",[i,o]=ye(n),[r,c]=i(n,{collectionRef:{current:null},itemMap:new Map}),s=v=>{const{scope:N,children:k}=v,M=F.useRef(null),x=F.useRef(new Map).current;return e.jsx(r,{scope:N,itemMap:x,collectionRef:M,children:k})};s.displayName=n;const d=t+"CollectionSlot",f=J(d),l=F.forwardRef((v,N)=>{const{scope:k,children:M}=v,x=c(d,k),g=A(N,x.collectionRef);return e.jsx(f,{ref:g,children:M})});l.displayName=d;const u=t+"CollectionItemSlot",m="data-radix-collection-item",p=J(u),b=F.forwardRef((v,N)=>{const{scope:k,children:M,...x}=v,g=F.useRef(null),y=A(N,g),j=c(u,k);return F.useEffect(()=>(j.itemMap.set(g,{ref:g,...x}),()=>void j.itemMap.delete(g))),e.jsx(p,{[m]:"",ref:y,children:M})});b.displayName=u;function C(v){const N=c(t+"CollectionConsumer",v);return F.useCallback(()=>{const M=N.collectionRef.current;if(!M)return[];const x=Array.from(M.querySelectorAll(`[${m}]`));return Array.from(N.itemMap.values()).sort((j,w)=>x.indexOf(j.ref.current)-x.indexOf(w.ref.current))},[N.collectionRef,N.itemMap])}return[{Provider:s,Slot:l,ItemSlot:b},C,o]}function P(t){const n=a.useRef(t);return a.useEffect(()=>{n.current=t}),a.useMemo(()=>(...i)=>n.current?.(...i),[])}function nn(t,n=globalThis?.document){const i=P(t);a.useEffect(()=>{const o=r=>{r.key==="Escape"&&i(r)};return n.addEventListener("keydown",o,{capture:!0}),()=>n.removeEventListener("keydown",o,{capture:!0})},[i,n])}var on="DismissableLayer",ee="dismissableLayer.update",sn="dismissableLayer.pointerDownOutside",rn="dismissableLayer.focusOutside",he,Ee=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Me=a.forwardRef((t,n)=>{const{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:c,onInteractOutside:s,onDismiss:d,...f}=t,l=a.useContext(Ee),[u,m]=a.useState(null),p=u?.ownerDocument??globalThis?.document,[,b]=a.useState({}),C=A(n,w=>m(w)),v=Array.from(l.layers),[N]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),k=v.indexOf(N),M=u?v.indexOf(u):-1,x=l.layersWithOutsidePointerEventsDisabled.size>0,g=M>=k,y=ln(w=>{const R=w.target,E=[...l.branches].some(T=>T.contains(R));!g||E||(r?.(w),s?.(w),w.defaultPrevented||d?.())},p),j=dn(w=>{const R=w.target;[...l.branches].some(T=>T.contains(R))||(c?.(w),s?.(w),w.defaultPrevented||d?.())},p);return nn(w=>{M===l.layers.size-1&&(o?.(w),!w.defaultPrevented&&d&&(w.preventDefault(),d()))},p),a.useEffect(()=>{if(u)return i&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(he=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),xe(),()=>{i&&l.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=he)}},[u,p,i,l]),a.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),xe())},[u,l]),a.useEffect(()=>{const w=()=>b({});return document.addEventListener(ee,w),()=>document.removeEventListener(ee,w)},[]),e.jsx(_.div,{...f,ref:C,style:{pointerEvents:x?g?"auto":"none":void 0,...t.style}
vendor: 2,228 bytes, line 51
51,onFocusCapture:L(t.onFocusCapture,j.onFocusCapture),onBlurCapture:L(t.onBlurCapture,j.onBlurCapture),onPointerDownCapture:L(t.onPointerDownCapture,y.onPointerDownCapture)})});Me.displayName=on;var an="DismissableLayerBranch",cn=a.forwardRef((t,n)=>{const i=a.useContext(Ee),o=a.useRef(null),r=A(n,o);return a.useEffect(()=>{const c=o.current;if(c)return i.branches.add(c),()=>{i.branches.delete(c)}},[i.branches]),e.jsx(_.div,{...t,ref:r})});cn.displayName=an;function ln(t,n=globalThis?.document){const i=P(t),o=a.useRef(!1),r=a.useRef(()=>{});return a.useEffect(()=>{const c=d=>{if(d.target&&!o.current){let f=function(){Le(sn,i,l,{discrete:!0})};const l={originalEvent:d};d.pointerType==="touch"?(n.removeEventListener("click",r.current),r.current=f,n.addEventListener("click",r.current,{once:!0})):f()}else n.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{n.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(s),n.removeEventListener("pointerdown",c),n.removeEventListener("click",r.current)}},[n,i]),{onPointerDownCapture:()=>o.current=!0}}function dn(t,n=globalThis?.document){const i=P(t),o=a.useRef(!1);return a.useEffect(()=>{const r=c=>{c.target&&!o.current&&Le(rn,i,{originalEvent:c},{discrete:!1})};return n.addEventListener("focusin",r),()=>n.removeEventListener("focusin",r)},[n,i]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function xe(){const t=new CustomEvent(ee);document.dispatchEvent(t)}function Le(t,n,i,{discrete:o}){const r=i.originalEvent.target,c=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:i});n&&r.addEventListener(t,n,{once:!0}),o?Q(r,c):r.dispatchEvent(c)}function un(t){const n=a.useRef({value:t,previous:t});return a.useMemo(()=>(n.current.value!==t&&(n.current.previous=n.current.value,n.current.value=t),n.current.previous),[t])}var mn=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),fn="VisuallyHidden",_e=a.forwardRef((t,n)=>e.jsx(_.span,{...t,ref:n,style:{...mn,...t.style}}));_e.displayName=fn;var hn=_e,D="NavigationMenu",[ae,Re,xn]=ke(D),[te,pn,vn]=ke(D),[ce,Fn]=ye(D,[xn,vn]),[gn,I]=ce(D),[bn,
vendor: 9,346 bytes, line 51
51Cn]=ce(D),Te=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,value:o,onValueChange:r,defaultValue:c,delayDuration:s=200,skipDelayDuration:d=300,orientation:f="horizontal",dir:l,...u}=t,[m,p]=a.useState(null),b=A(n,E=>p(E)),C=Xt(l),v=a.useRef(0),N=a.useRef(0),k=a.useRef(0),[M,x]=a.useState(!0),[g,y]=je({prop:o,onChange:E=>{const T=E!=="",X=d>0;T?(window.clearTimeout(k.current),X&&x(!1)):(window.clearTimeout(k.current),k.current=window.setTimeout(()=>x(!0),d)),r?.(E)},defaultProp:c??"",caller:D}),j=a.useCallback(()=>{window.clearTimeout(N.current),N.current=window.setTimeout(()=>y(""),150)},[y]),w=a.useCallback(E=>{window.clearTimeout(N.current),y(E)},[y]),R=a.useCallback(E=>{g===E?window.clearTimeout(N.current):v.current=window.setTimeout(()=>{window.clearTimeout(N.current),y(E)},s)},[g,y,s]);return a.useEffect(()=>()=>{window.clearTimeout(v.current),window.clearTimeout(N.current),window.clearTimeout(k.current)},[]),e.jsx(Ie,{scope:i,isRootMenu:!0,value:g,dir:C,orientation:f,rootNavigationMenu:m,onTriggerEnter:E=>{window.clearTimeout(v.current),M?R(E):w(E)},onTriggerLeave:()=>{window.clearTimeout(v.current),j()},onContentEnter:()=>window.clearTimeout(N.current),onContentLeave:j,onItemSelect:E=>{y(T=>T===E?"":E)},onItemDismiss:()=>y(""),children:e.jsx(_.nav,{"aria-label":"Main","data-orientation":f,dir:C,...u,ref:b})})});Te.displayName=D;var ne="NavigationMenuSub",Nn=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,value:o,onValueChange:r,defaultValue:c,orientation:s="horizontal",...d}=t,f=I(ne,i),[l,u]=je({prop:o,onChange:r,defaultProp:c??"",caller:ne});return e.jsx(Ie,{scope:i,isRootMenu:!1,value:l,dir:f.dir,orientation:s,rootNavigationMenu:f.rootNavigationMenu,onTriggerEnter:m=>u(m),onItemSelect:m=>u(m),onItemDismiss:()=>u(""),children:e.jsx(_.div,{"data-orientation":s,...d,ref:n})})});Nn.displayName=ne;var Ie=t=>{const{scope:n,isRootMenu:i,rootNavigationMenu:o,dir:r,orientation:c,children:s,value:d,onItemSelect:f,onItemDismiss:l,onTriggerEnter:u,onTriggerLeave:m,onContentEnter:p,onContentLeave:b}=t,[C,v]=a.useState(null),[N,k]=a.useState(new Map),[M,x]=a.useState(null);return e.jsx(gn,{scope:n,isRootMenu:i,rootNavigationMenu:o,value:d,previousValue:un(d),baseId:we(),dir:r,orientation:c,viewport:C,onViewportChange:v,indicatorTrack:M,onIndicatorTrackChange:x,onTriggerEnter:P(u),onTriggerLeave:P(m),onContentEnter:P(p),onContentLeave:P(b),onItemSelect:P(f),onItemDismiss:P(l),onViewportContentChange:a.useCallback((g,y)=>{k(j=>(j.set(g,y),new Map(j)))},[]),onViewportContentRemove:a.useCallback(g=>{k(y=>y.has(g)?(y.delete(g),new Map(y)):y)},[]),children:e.jsx(ae.Provider,{scope:n,children:e.jsx(bn,{scope:n,items:N,children:s})})})},Pe="NavigationMenuList",Ae=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,...o}=t,r=I(Pe,i),c=e.jsx(_.ul,{"data-orientation":r.orientation,...o,ref:n});return e.jsx(_.div,{style:{position:"relative"},ref:r.onIndicatorTrackChange,children:e.jsx(ae.Slot,{scope:i,children:r.isRootMenu?e.jsx(Ke,{asChild:!0,children:c}):c})})});Ae.displayName=Pe;var Se="NavigationMenuItem",[yn,Oe]=ce(Se),Fe=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,value:o,...r}=t,c=we(),s=o||c||"LEGACY_REACT_AUTO_VALUE",d=a.useRef(null),f=a.useRef(null),l=a.useRef(null),u=a.useRef(()=>{}),m=a.useRef(!1),p=a.useCallback((C="start")=>{if(d.current){u.current();const v=se(d.current);v.length&&ue(C==="start"?v:v.reverse())}},[]),b=a.useCallback(()=>{if(d.current){const C=se(d.current);C.length&&(u.current=_n(C))}},[]);return e.jsx(yn,{scope:i,value:s,triggerRef:f,contentRef:d,focusProxyRef:l,wasEscapeCloseRef:m,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:b,onContentFocusOutside:b,children:e.jsx(_.li,{...r,ref:n})})});Fe.displayName=Se;var oe="NavigationMenuTrigger",Be=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,disabled:o,...r}=t,c=I(oe,t.__scopeNavigationMenu),s=Oe(oe,t.__scopeNavigationMenu),d=a.useRef(null),f=A(d,s.triggerRef,n),l=We(c.baseId,s.value),u=Ge(c.baseId,s.value),m=a.useRef(!1),p=a.useRef(!1),b=s.value===c.value;return e.jsxs(e.Fragment,{children:[e.jsx(ae.ItemSlot,{scope:i,value:s.value,children:e.jsx(He,{asChild:!0,children:e.jsx(_.button,{id:l,disabled:o,"data-disabled":o?"":void 0,"data-state":me(b),"aria-expanded":b,"aria-controls":u,...r,ref:f,onPointerEnter:L(t.onPointerEnter,()=>{p.current=!1,s.wasEscapeCloseRef.current=!1}),onPointerMove:L(t.onPointerMove,Y(()=>{o||p.current||s.wasEscapeCloseRef.current||m.current||(c.onTriggerEnter(s.value),m.current=!0)})),onPointerLeave:L(t.onPointerLeave,Y(()=>{o||(c.onTriggerLeave(),m.current=!1)})),onClick:L(t.onClick,()=>{c.onItemSelect(s.value),p.current=b}),onKeyDown:L(t.onKeyDown,C=>{const N={horizontal:"ArrowDown",vertical:c.dir==="rtl"?"ArrowLeft":"ArrowRight"}[c.orientation];b&&C.key===N&&(s.onEntryKeyDown(),C.preventDefault())})})})}),b&&e.jsxs(e.Fragment,{children:[e.jsx(hn,{"aria-hidden":!0,tabIndex:0,ref:s.focusProxyRef,onFocus:C=>{const v=s.contentRef.current,N=C.relatedTarget,k=N===d.current,M=v?.contains(N);(k||!M)&&s.onFocusProxyEnter(k?"start":"end")}}),c.viewport&&e.jsx("span",{"aria-owns":u})]})]})});Be.displayName=oe;var jn="NavigationMenuLink",pe="navigationMenu.linkSelect",De=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,active:o,onSelect:r,...c}=t;return e.jsx(He,{asChild:!0,children:e.jsx(_.a,{"data-active":o?"":void 0,"aria-current":o?"page":void 0,...c,ref:n,onClick:L(t.onClick,s=>{const d=s.target,f=new CustomEvent(pe,{bubbles:!0,cancelable:!0});if(d.addEventListener(pe,l=>r?.(l),{once:!0}),Q(d,f),!f.defaultPrevented&&!s.metaKey){const l=new CustomEvent(q,{bubbles:!0,cancelable:!0});Q(d,l)}},{checkForDefaultPrevented:!1})})})});De.displayName=jn;var le="NavigationMenuIndicator",ze=a.forwardRef((t,n)=>{const{forceMount:i,...o}=t,r=I(le,t.__scopeNavigationMenu),c=!!r.value;return r.indicatorTrack?mt.createPortal(e.jsx(H,{present:i||c,children:e.jsx(wn,{...o,ref:n})}),r.indicatorTrack):null});ze.displayName=le;var wn=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,...o}=t,r=I(le,i),c=Re(i),[s,d]=a.useState(null),[f,l]=a.useState(null),u=r.orientation==="horizontal",m=!!r.value;a.useEffect(()=>{const C=c().find(v=>v.value===r.value)?.ref.current;C&&d(C)},[c,r.value]);const p=()=>{s&&l({size:u?s.offsetWidth:s.offsetHeight,offset:u?s.offsetLeft:s.offsetTop})};return ie(s,p),ie(r.indicatorTrack,p),f?e.jsx(_.div,{"aria-hidden":!0,"data-state":m?"visible":"hidden","data-orientation":r.orientation,...o,ref:n,style:{position:"absolute",...u?{left:0,width:f.size+"px",transform:`translateX(${f.offset}px)`}:{top:0,height:f.size+"px",transform:`translateY(${f.offset}px)`},...o.style}}):null}),U="NavigationMenuContent",Ue=a.forwardRef((t,n)=>{const{forceMount:i,...o}=t,r=I(U,t.__scopeNavigationMenu),c=Oe(U,t.__scopeNavigationMenu),s=A(c.contentRef,n),d=c.value===r.value,f={value:c.value,triggerRef:c.triggerRef,focusProxyRef:c.focusProxyRef,wasEscapeCloseRef:c.wasEscapeCloseRef,onContentFocusOutside:c.onContentFocusOutside,onRootContentClose:c.onRootContentClose,...o};return r.viewport?e.jsx(kn,{forceMount:i,...f,ref:s}):e.jsx(H,{present:i||d,children:e.jsx($e,{"data-state":me(d),...f,ref:s,onPointerEnter:L(t.onPointerEnter,r.onContentEnter),onPointerLeave:L(t.onPointerLeave,Y(r.onContentLeave)),style:{pointerEvents:!d&&r.isRootMenu?"none":void 0,...f.style}})})});Ue.displayName=U;var kn=a.forwardRef((t,n)=>{const i=I(U,t.__scopeNavigationMenu),{onViewportContentChange:o,onViewportContentRemove:r}=i;return B(()=>{o(t.value,{ref:n,...t})},[t,n,o]),B(()=>()=>r(t.value),[t.value,r]),null}),q="navigationMenu.rootContentDismiss",$e=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,value:o,triggerRef:r,focusProxyRef:c,wasEscapeCloseRef:s,onRootContentClose:d,onContentFocusOutside:f,...l}=t,u=I(U,i),m=a.useRef(null),p=A(m,n),b=We(u.baseId,o),C=Ge(u.baseId,o),v=Re(i),N=a.useRef(null),{onItemDismiss:k}=u;a.useEffect(()=>{const x=m.current;if(u.isRootMenu&&x){const g=()=>{k(),d(),x.contains(document.activeElement)&&r.current?.focus()};return x.addEventListener(q,g),()=>x.removeEventListener(q,g)}},[u.isRootMenu,t.value,r,k,d]);const M=a.useMemo(()=>{const g=v().map(T=>T.value);u.dir==="rtl"&&g.reverse();const y=g.indexOf(u.value),j=g.indexOf(u.previousValue),w=o===u.value,R=j===g.indexOf(o);if(!w&&!R)return N.current;const E=(()=>{if(y!==j){if(w&&j!==-1)return y>j?"from-end":"from-start";if(R&&y!==-1)return y>j?"to-start":"to-end"}return null})();return N.current=E,E},[u.previousValue,u.value,u.dir,v,o]);return e.jsx(Ke,{asChild:!0,children:e.jsx(Me,{id:C,"aria-labelledby":b,"data-motion":M,"data-orientation":u.orientation,...l,ref:p,disableOutsidePointerEvents:!1,onDismiss:()=>{const x=new Event(q,{bubbles:!0,cancelable:!0});m.current?.dispatchEvent(x)},onFocusOutside:L(t.onFocusOutside,x=>{f();const g=x.target;u.rootNavigationMenu?.contains(g)&&x.preventDefault()}),onPointerDownOutside:L(t.onPointerDownOutside,x=>{const g=x.target,y=v().some(w=>w.ref.current?.contains(g)),j=u.isRootMenu&&u.viewport?.contains(g);(y||j||!u.isRootMenu)&&x.preventDefault()}),onKeyDown:L(t.onKeyDown,x=>{const g=x.altKey||x.ctrlKey||x.metaKey;if(x.key==="Tab"&&!g){const j=se(x.currentTarget),w=document.activeElement,R=j.findIndex(X=>X===w),T=x.shiftKey?j.slice(0,R).reverse():j.slice(R+1,j.length);ue(T)?x.preventDefault():c.current?.focus()}}),onEscapeKeyDown:L(t.onEscapeKeyDown,x=>{s.current=!0})})})}
51),de="NavigationMenuViewport",Ve=a.forwardRef((t,n)=>{const{forceMount:i,...o}=t,c=!!I(de,t.__scopeNavigationMenu).value;return e.jsx(H,{present:i||c,children:e.jsx(En,{...o,ref:n})})});Ve.displayName=de;var En=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,children:o,...r}=t,c=I(de,i),s=A(n,c.onViewportChange),d=Cn(U,t.__scopeNavigationMenu),[f,l]=a.useState(null),[u,m]=a.useState(null),p=f?f?.width+"px":void 0,b=f?f?.height+"px":void 0,C=!!c.value,v=C?c.value:c.previousValue;return ie(u,()=>{u&&l({width:u.offsetWidth,height:u.offsetHeight})}),e.jsx(_.div,{"data-state":me(C),"data-orientation":c.orientation,...r,ref:s,style:{pointerEvents:!C&&c.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":p,"--radix-navigation-menu-viewport-height":b,...r.style},onPointerEnter:L(t.onPointerEnter,c.onContentEnter),onPointerLeave:L(t.onPointerLeave,Y(c.onContentLeave)),children:Array.from(d.items).map(([k,{ref:M,forceMount:x,...g}])=>{const y=v===k;return e.jsx(H,{present:x||y,children:e.jsx($e,{...g,ref:ut(M,j=>{y&&j&&m(j)})})},k)})})}),Mn="FocusGroup",Ke=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,...o}=t,r=I(Mn,i);return e.jsx(te.Provider,{scope:i,children:e.jsx(te.Slot,{scope:i,children:e.jsx(_.div,{dir:r.dir,...o,ref:n})})})}),ve=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],Ln="FocusGroupItem",He=a.forwardRef((t,n)=>{const{__scopeNavigationMenu:i,...o}=t,r=pn(i),c=I(Ln,i);return e.jsx(te.ItemSlot,{scope:i,children:e.jsx(_.button,{...o,ref:n,onKeyDown:L(t.onKeyDown,s=>{if(["Home","End",...ve].includes(s.key)){let f=r().map(m=>m.ref.current);if([c.dir==="rtl"?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(s.key)&&f.reverse(),ve.includes(s.key)){const m=f.indexOf(s.currentTarget);f=f.slice(m+1)}setTimeout(()=>ue(f)),s.preventDefault()}})})})});function se(t){const n=[],i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;i.nextNode();)n.push(i.currentNode);return n}function ue(t){const n=document.activeElement;return t.some(i=>i===n?!0:(i.focus(),document.activeElement!==n))}function _n(t){return t.forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")}),()=>{t.forEach(n=>{const i=n.dataset.tabindex;n.setAttribute("tabindex",i)})}}function ie(t,n){const i=P(n);B(()=>{let o=0;if(t){const r=new ResizeObserver(()=>{cancelAnimationFrame(o),o=window.requestAnimationFrame(i)});return r.observe(t),()=>{window.cancelAnimationFrame(o),r.unobserve(t)}}},[t,i])}function me(t){return t?"open":"closed"}function We(t,n){return`${t}-trigger-${n}`}function Ge(t,n){return`${t}-content-${n}`}function Y(t){return n=>n.pointerType==="mouse"?t(n):void 0}var qe=Te,Ye=Ae,Rn=Fe,Xe=Be,Tn=De,Ze=ze,Je=Ue,Qe=Ve;const In=ft("group inline-flex h-9 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:text-black focus:text-black focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-black"),et=a.forwardRef(({className:t,children:n,...i},o)=>e.jsxs(qe,{ref:o,className:O("relative z-10 flex max-w-max items-center justify-center",t),...i,children:[n,e.jsx(st,{})]}));et.displayName=qe.displayName;const tt=a.forwardRef(({className:t,...n},i)=>e.jsx(Ye,{ref:i,className:O("group flex list-none items-center justify-center gap-1",t),...n}));tt.displayName=Ye.displayName;const G=Rn,nt=a.forwardRef(({className:t,children:n,...i},o)=>e.jsxs(Xe,{ref:o,className:O(In(),"group",t),...i,children:[n,e.jsx(re,{className:"relative top-px ml-1 size-3 transition-transform duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));nt.displayName=Xe.displayName;const ot=a.forwardRef(({className:t,...n},i)=>e.jsx(Je,{ref:i,className:O("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full md:absolute md:w-auto",t),...n}));ot.displayName=Je.displayName;const z=Tn,st=a.forwardRef(({className:t,...n},i)=>e.jsx("div",{className:O("absolute top-full left-0 flex justify-center"),children:e.jsx(Qe,{className:O("origin-top-center data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-xl border bg-white shadow-lg md:w-(--radix-navigation-menu-viewport-width)",t),ref:i,...n})}));st.displayName=Qe.displayName;const Pn=a.forwardRef(({className:t,...n},i)=>e.jsx(Ze,{ref:i,className:O("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden",t),...n,children:e.jsx("div",{className:"bg-border relative top-[60%] size-2 rotate-45 rounded-tl-sm shadow-md"})}));Pn.displayName=Ze.displayName;function Bn({}){const{i18n:t}=ht(),{locale:n,shellContent:i}
51=ge.useRouteContext(),o=be(),[r,c]=a.useState(!1),[s,d]=a.useState(!1),f=n!=="es",l=i?.header,u=a.useMemo(()=>l?[{title:l.productLinks.scheduling.title,description:l.productLinks.scheduling.description,href:"/scheduling",icon:vt},{title:l.productLinks.availability.title,description:l.productLinks.availability.description,href:"/availability",icon:Ft},{title:l.productLinks.timeTracking.title,description:l.productLinks.timeTracking.description,href:"/time-tracking",icon:gt},{title:l.productLinks.absenceManagement.title,description:l.productLinks.absenceManagement.description,href:"/absence-management",icon:Nt},{title:l.productLinks.carpetaLaboral.title,description:l.productLinks.carpetaLaboral.description,href:"/carpeta-laboral",icon:kt},{title:l.productLinks.teamManagement.title,description:l.productLinks.teamManagement.description,href:"/team-management",icon:bt},{title:l.productLinks.mobileApp.title,description:l.productLinks.mobileApp.description,href:"/mobile",icon:St}]:[],[l]);return l?e.jsxs("header",{className:"sticky top-0 z-50 border-b border-[#E9E8E4] bg-white/80 backdrop-blur supports-backdrop-filter:bg-white/60",children:[e.jsxs("div",{className:"mx-auto flex max-w-6xl items-center justify-between px-4 py-3",children:[e.jsx(h,{to:"/",onClick:()=>c(!1),className:"rounded-md focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:e.jsx(Ne,{className:"[&>span]:font-cal-sans [&>span]:font-bold"})}),e.jsx(et,{className:"hidden md:flex [&>div:last-child>div]:rounded-[14px] [&>div:last-child>div]:border-[#E9E8E4] [&>div:last-child>div]:shadow-[0_2px_4px_rgba(24,24,27,0.04),0_16px_40px_-20px_rgba(24,24,27,0.16)]",children:e.jsxs(tt,{className:"gap-1",children:[e.jsxs(G,{children:[e.jsx(nt,{className:"text-[#55555C] hover:text-[#18181B] focus:text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none data-[state=open]:text-[#18181B]",children:l.productLabel}),e.jsx(ot,{children:e.jsxs("div",{className:"w-[760px] p-2",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("ul",{className:"grid flex-1 grid-cols-2 gap-0.5",children:u.map(m=>e.jsx(it,{title:m.title,to:m.href,icon:m.icon,children:m.description},m.href))}),e.jsx(z,{asChild:!0,children:e.jsxs(h,{to:"/product-guide",className:"group relative flex w-[236px] shrink-0 flex-col justify-between overflow-hidden rounded-xl border border-[#E9E8E4] bg-[#FAFAF7] p-4 focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:[e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(24,24,27,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(24,24,27,0.04) 1px, transparent 1px)",backgroundSize:"28px 28px",maskImage:"radial-gradient(ellipse 90% 60% at 50% 0%, black 20%, transparent 85%)",WebkitMaskImage:"radial-gradient(ellipse 90% 60% at 50% 0%, black 20%, transparent 85%)"}}),e.jsxs("div",{className:"relative",children:[e.jsx("span",{className:"font-mono text-[11px] tracking-[0.12em] text-[#9C9CA3] uppercase",children:t.locale==="es"?"Guía de producto":"Product guide"}),e.jsx("p",{className:"font-cal-sans mt-2 text-[17px] leading-[1.15] font-bold tracking-tight text-balance text-[#18181B]",children:t.locale==="es"?"Todo lo que hace Turnozo, en una página":"Everything Turnozo does, on one page"}),e.jsx("p",{className:"mt-2 text-[13px] leading-snug text-[#55555C]",children:t.locale==="es"?"Cuadrantes, fichaje, ausencias y nóminas, explicados.":"Scheduling, time tracking, absences and payslips, explained."})]}),e.jsxs("span",{className:"relative mt-5 inline-flex items-center gap-1 text-[13px] font-medium text-[#18181B]",children:[t.locale==="es"?"Ver la guía":"See the guide",e.jsx(xt,{className:"size-3.5 transition-transform group-hover:translate-x-0.5"})]})]})})]}),e.jsx("div",{className:"mt-2 border-t border-[#F0EFEB] px-3 pt-2.5 pb-1",children:e.jsx(z,{asChild:!0,children:e.jsx(h,{to:"/industries",className:"focus-visible:ring-ring/40 rounded-sm text-[13px] font-medium text-[#9C9CA3] transition-colors hover:text-[#18181B] focus-visible:ring-2 focus-visible:outline-none",children:t.locale==="es"?"Ver por sectores →":"Browse by industry →"})})})]})})]}),e.jsx(G,{children:e.jsx(z,{asChild:!0,children:e.jsx(h,{to:"/pricing",className:"inline-flex h-9 items-center justify-center rounded-md px-3 py-2 text-sm font-medium text-[#55555C] transition-colors hover:text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none data-[status=active]:text-[#18181B]",children:l.pricingLabel})})}),f?e.jsx(G,{children:e.jsx(z,{asChild:!0,children:e.jsx(h,{to:"/blog",search:{category:void 0,q:void 0},className:"inline-flex h-9 items-center justify-center rounded-md px-3 py-2 text-sm font-medium text-[#55555C] transition-colors hover:text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none data-[status=active]:text-[#18181B]",children:l.blogLabel})})}):null,e.jsx(G,{children:e.jsx(z,{asChild:!0,children:e.jsx(h,{to:"/contact",className:"inline-flex h-9 items-center justify-center rounded-md px-3 py-2 text-sm font-medium text-[#55555C] transition-colors hover:text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none data-[status=active]:text-[#18181B]",children:l.contactLabel})})})]})}),e.jsxs("div",{className:"hidden items-center gap-2 md:flex",children:[e.jsx(V,{variant:"outline",asChild:!0,children:e.jsx(K,{href:"https://app.turnozo.com/signin",showPendingIndicator:!0,onClick:m=>o.captureCta({cta:"login",location:"header",destinationUrl:m.currentTarget.href,buttonText:m.currentTarget.textContent?.trim()}),children:l.loginLabel})}),e.jsx(V,{asChild:!0,children:e.jsx(K,{href:Z({source:"marketing_header_desktop",intent:"signup_marketing_header_desktop"}),showPendingIndicator:!0,onClick:m=>{o.captureCta({cta:"signup_marketing_header_desktop",location:"header",destinationUrl:m.currentTarget.href,buttonText:m.currentTarget.textContent?.trim(),source:"marketing_header_desktop",intent:"signup_marketing_header_desktop"})},children:l.signupLabel})})]}),e.jsxs("div",{className:"flex items-center gap-2 md:hidden",children:[e.jsx(V,{size:"sm",asChild:!0,children:e.jsx(K,{href:Z({source:"marketing_header_mobile",intent:"signup_marketing_header_mobile"}),showPendingIndicator:!0,onClick:m=>{o.captureCta({cta:"signup_marketing_header_mobile",location:"header_mobile",destinationUrl:m.currentTarget.href,buttonText:m.currentTarget.textContent?.trim(),source:"marketing_header_mobile",intent:"signup_marketing_header_mobile"})},children:l.mobileSignupLabel})}),e.jsx("button",{type:"button",onClick:()=>c(!r),className:"-m-1 flex size-11 items-center justify-center rounded-md text-[#55555C] transition-colors hover:bg-[#F5F4F0] hover:text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none","aria-label":r?l.closeMenuLabel:l.openMenuLabel,children:r?e.jsx(Dt,{className:"size-5"}):e.jsx(Pt,{className:"size-5"})})]})]}
51),r?e.jsx("div",{className:"border-t border-[#E9E8E4] bg-white md:hidden",children:e.jsxs("nav",{className:"mx-auto max-w-6xl px-4 py-4",children:[e.jsxs("div",{className:"border-b border-[#F0EFEB] pb-3",children:[e.jsxs("button",{type:"button",onClick:()=>d(!s),className:"flex min-h-11 w-full items-center justify-between py-2.5 text-sm font-medium text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:[l.productLabel,e.jsx(re,{className:O("h-4 w-4 text-[#9C9CA3] transition-transform",s&&"rotate-180")})]}),s?e.jsx("div",{className:"mt-1 space-y-1 pl-1",children:u.map(m=>e.jsxs(h,{to:m.href,onClick:()=>c(!1),className:"flex items-center gap-3 rounded-lg p-2.5 transition-colors hover:bg-[#FAFAF7] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:[e.jsx("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-[#E9E8E4] bg-white shadow-xs",children:e.jsx(m.icon,{className:"size-4 text-[#55555C]"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium text-[#18181B]",children:m.title}),e.jsx("div",{className:"text-xs text-[#9C9CA3]",children:m.description})]})]},m.title))}):null]}),e.jsx(h,{to:"/pricing",onClick:()=>c(!1),className:"block border-b border-[#F0EFEB] py-3 text-sm font-medium text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:l.pricingLabel}),f?e.jsx(h,{to:"/blog",search:{category:void 0,q:void 0},onClick:()=>c(!1),className:"block border-b border-[#F0EFEB] py-3 text-sm font-medium text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:l.blogLabel}):null,e.jsx(h,{to:"/contact",onClick:()=>c(!1),className:"block border-b border-[#F0EFEB] py-3 text-sm font-medium text-[#18181B] focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",children:l.contactLabel}),e.jsxs("div",{className:"mt-4 flex flex-col gap-2",children:[e.jsx(V,{variant:"outline",className:"w-full",asChild:!0,children:e.jsx(K,{href:"https://app.turnozo.com/signin",showPendingIndicator:!0,onClick:m=>o.captureCta({cta:"login",location:"header_mobile",destinationUrl:m.currentTarget.href,buttonText:m.currentTarget.textContent?.trim()}),children:l.loginLabel})}),e.jsx(V,{className:"w-full",asChild:!0,children:e.jsx(K,{href:Z({source:"marketing_header_mobile_menu",intent:"signup_marketing_header_mobile_menu"}),showPendingIndicator:!0,onClick:m=>{o.captureCta({cta:"signup_marketing_header_mobile_menu",location:"header_mobile_menu",destinationUrl:m.currentTarget.href,buttonText:m.currentTarget.textContent?.trim(),source:"marketing_header_mobile_menu",intent:"signup_marketing_header_mobile_menu"})},children:l.mobileMenuSignupLabel})})]})]})}):null]}):null}const it=a.forwardRef(({className:t,title:n,children:i,icon:o,comingSoon:r,...c},s)=>{const d=e.jsxs("div",{className:O("flex items-start gap-3 rounded-lg p-3 leading-none no-underline transition-colors outline-none select-none",r?"cursor-default opacity-60":"hover:bg-[#FAFAF7] focus:bg-[#FAFAF7]",t),children:[e.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md border border-[#E9E8E4] bg-white shadow-xs",children:e.jsx(o,{className:"size-4 text-[#55555C]"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm leading-none font-medium text-[#18181B]",children:n}),r&&e.jsx("span",{className:"rounded-full bg-[#F5F4F0] px-2 py-0.5 text-[10px] font-medium text-[#9C9CA3]",children:"Soon"})]}),e.jsx("p",{className:"line-clamp-2 text-sm leading-snug text-[#9C9CA3]",children:i})]})]});return r?e.jsx("li",{children:d}):e.jsx("li",{children:e.jsx(z,{asChild:!0,children:e.jsx(h,{ref:s,className:"block rounded-lg focus-visible:ring-2 focus-visible:ring-zinc-900/30 focus-visible:outline-none",...c,children:d})})})});it.displayName="ListItem";export{Nt as C,On as F,Bn as H,St as S,Ft as U,Dt as X,kt as a};
52
53//# chunkId=01a0e6c3-591e-7d03-b375-b7e14db9b7e1

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.