ocearo-ui 2.0.2 → 2.1.0

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.
Files changed (86) hide show
  1. package/404.html +1 -1
  2. package/README.fr.md +23 -3
  3. package/README.md +23 -3
  4. package/__next.__PAGE__.txt +3 -3
  5. package/__next._full.txt +3 -3
  6. package/__next._tree.txt +2 -2
  7. package/_next/static/chunks/0-jqvc-r0kh0c.js +1 -0
  8. package/_next/static/chunks/{2g-xpe7xnropn.js → 05do10p9ldt1p.js} +1 -1
  9. package/_next/static/chunks/07gn9z0d6clzs.js +1 -0
  10. package/_next/static/chunks/{2w44atvyp9o_w.js → 096zaxs1gf_3q.js} +2 -1
  11. package/_next/static/chunks/0b3cus8izqkmg.js +119 -0
  12. package/_next/static/chunks/0j11dppxb9l0b.js +1 -0
  13. package/_next/static/chunks/0jucaltuccn03.js +1 -0
  14. package/_next/static/chunks/{1gt2hhqk1821k.js → 0zvzu5fnwh4_a.js} +3 -3
  15. package/_next/static/chunks/1_g85m2d7jjpo.css +3 -0
  16. package/_next/static/chunks/1arvue9o-atui.js +739 -0
  17. package/_next/static/chunks/1bo0ke8gjc1c2.js +1 -0
  18. package/_next/static/chunks/1cp1kkarm5gxz.js +1 -0
  19. package/_next/static/chunks/1e-w_-usen7fy.js +3 -0
  20. package/_next/static/chunks/1hz_mzl8l35j8.js +1 -0
  21. package/_next/static/chunks/1k72cpd0x8veh.js +1 -0
  22. package/_next/static/chunks/1mtfh1vqpvit2.js +1 -0
  23. package/_next/static/chunks/1u6o5_s2b39xh.js +1 -0
  24. package/_next/static/chunks/{1exvcc71cgr4t.js → 2aivnrnff0avu.js} +1 -1
  25. package/_next/static/chunks/2fe99e03gnvg9.js +1 -0
  26. package/_next/static/chunks/{3nm7o0eq5abhg.js → 2fthh9f57zzm2.js} +1 -1
  27. package/_next/static/chunks/{0jfox92up1jvy.js → 2gr1d26f-ymoh.js} +1 -1
  28. package/_next/static/chunks/2r98jty3a4wel.js +564 -0
  29. package/_next/static/chunks/2v6ebsavxlgyw.js +1 -0
  30. package/_next/static/chunks/{1w1xks0hp_tlr.js → 33u782y6vhw-f.js} +9 -9
  31. package/_next/static/chunks/3qik_nv7zlj4e.js +1 -0
  32. package/_next/static/chunks/3qzb9nvvw-b-k.js +1 -0
  33. package/_next/static/chunks/41mro59si-xxc.js +1 -0
  34. package/_next/static/chunks/41odv061mfm6t.js +1 -0
  35. package/_not-found/__next._full.txt +2 -2
  36. package/_not-found/__next._not-found.__PAGE__.txt +2 -2
  37. package/_not-found/__next._tree.txt +2 -2
  38. package/_not-found.html +1 -1
  39. package/_not-found.txt +2 -2
  40. package/docs/index.json +10 -5
  41. package/docs/signalk-server.html +3751 -0
  42. package/docs/signalk-specification.html +8507 -0
  43. package/guide/anchor.jpg +0 -0
  44. package/guide/bathymetry.jpg +0 -0
  45. package/guide/dashboard.jpg +0 -0
  46. package/guide/hero.jpg +0 -0
  47. package/guide/logbook.jpg +0 -0
  48. package/guide/mob.jpg +0 -0
  49. package/guide/parking.jpg +0 -0
  50. package/guide/polars.jpg +0 -0
  51. package/guide/traffic.jpg +0 -0
  52. package/guide/weather.jpg +0 -0
  53. package/index.html +1 -1
  54. package/index.txt +3 -3
  55. package/package.json +1 -1
  56. package/settings/__next._full.txt +3 -3
  57. package/settings/__next._tree.txt +2 -2
  58. package/settings/__next.settings.__PAGE__.txt +3 -3
  59. package/settings.html +1 -1
  60. package/settings.txt +3 -3
  61. package/_next/static/chunks/0iqdztntvxh3c.js +0 -119
  62. package/_next/static/chunks/0iztd835j5p1n.js +0 -700
  63. package/_next/static/chunks/0voiofm58khqd.js +0 -1
  64. package/_next/static/chunks/0w_skktmh3e48.js +0 -1
  65. package/_next/static/chunks/0zwc9m4qgtwle.js +0 -1
  66. package/_next/static/chunks/144mjqdrx42lq.js +0 -1
  67. package/_next/static/chunks/1ed7ayfg19cjb.js +0 -1
  68. package/_next/static/chunks/1epya-yh2wvj2.js +0 -1
  69. package/_next/static/chunks/1gq4t2dyr7rq3.js +0 -1
  70. package/_next/static/chunks/1ptj3mv8b_tzs.js +0 -1
  71. package/_next/static/chunks/1y35unwvy8p98.js +0 -1
  72. package/_next/static/chunks/1zm03hw2ylxw8.js +0 -1
  73. package/_next/static/chunks/2aq8orcir5h03.js +0 -1
  74. package/_next/static/chunks/2kmptoy43h0mx.js +0 -1
  75. package/_next/static/chunks/2kwn4iymxaom3.js +0 -1
  76. package/_next/static/chunks/2rebcvig176xk.js +0 -564
  77. package/_next/static/chunks/2ryo_bbmt6t74.css +0 -3
  78. package/_next/static/chunks/3--qzv1u6c7_7.js +0 -1
  79. package/_next/static/chunks/37t6vg8fb1-z8.js +0 -1
  80. package/_next/static/chunks/3p9ziqn6r35qf.js +0 -1
  81. package/_next/static/chunks/3q8o52_juxmdp.js +0 -1
  82. package/docs/opencpn.pdf +0 -0
  83. package/docs/signalk.pdf +0 -0
  84. /package/_next/static/{_UKzzvfzAh-9NIsngWWio → EuchA2ImhjrwCnR5WjCLX}/_buildManifest.js +0 -0
  85. /package/_next/static/{_UKzzvfzAh-9NIsngWWio → EuchA2ImhjrwCnR5WjCLX}/_clientMiddlewareManifest.js +0 -0
  86. /package/_next/static/{_UKzzvfzAh-9NIsngWWio → EuchA2ImhjrwCnR5WjCLX}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,14922,37917,e=>{"use strict";var t=e.i(43476),i=e.i(71645);e.s(["default",0,({title:e,right:i,className:s="",children:n})=>(0,t.jsxs)("div",{className:`hud-halo px-1 py-1 select-none ${s}`,children:[(e||i)&&(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsx)("span",{className:"text-caption font-semibold uppercase tracking-widest text-hud-muted",children:e}),i]}),n]})],14922);let s=({values:e,width:i=240,height:s=60,color:n="var(--color-oBlue)",marker:l=null,endDot:r=!1,invert:a=!1})=>{let o=e.filter(Number.isFinite);if(o.length<2)return(0,t.jsx)("svg",{width:i,height:s});let h=Math.min(...o),m=Math.max(...o)-h||1,d=i/(e.length-1),u=e=>(a?(e-h)/m:1-(e-h)/m)*(s-8)+4,c="";e.forEach((e,t)=>{Number.isFinite(e)&&(c+=`${c?"L":"M"}${(t*d).toFixed(1)},${u(e).toFixed(1)}`)});let g=`${c}L${i},${a?0:s}L0,${a?0:s}Z`,x=null;if(null!==l){let t=l*(e.length-1),s=Math.min(e.length-2,Math.floor(t)),n=e[s],r=e[s+1];Number.isFinite(n)&&Number.isFinite(r)&&(x={x:l*i,y:u(n+(r-n)*(t-s))})}let f=e[e.length-1];return(0,t.jsxs)("svg",{width:i,height:s,className:"block overflow-visible",children:[(0,t.jsx)("path",{d:g,fill:n,opacity:"0.12"}),(0,t.jsx)("path",{d:c,fill:"none",stroke:n,strokeWidth:"2",strokeLinejoin:"round"}),null!==l&&(0,t.jsx)("line",{x1:l*i,x2:l*i,y1:"0",y2:s,stroke:"var(--hud-text-main)",strokeWidth:"1.5"}),x&&(0,t.jsx)("circle",{cx:x.x,cy:x.y,r:"4",fill:n,stroke:"var(--hud-text-main)",strokeWidth:"1.5"}),r&&Number.isFinite(f)&&(0,t.jsx)("circle",{cx:i,cy:u(f),r:"3.5",fill:n})]})},n=e=>{let n=(0,i.useRef)(null),[l,r]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(([e])=>r(Math.floor(e.contentRect.width)));return t.observe(e),()=>t.disconnect()},[]),(0,t.jsx)("div",{ref:n,className:"w-full",style:{height:e.height},children:l>0&&(0,t.jsx)(s,{...e,width:l})})};e.s(["default",0,({fluid:e=!1,...i})=>e?(0,t.jsx)(n,{...i}):(0,t.jsx)(s,{...i})],37917)},13239,e=>{"use strict";var t=e.i(43476);e.i(71645),e.i(85269);var i=e.i(22831),s=e.i(78954),n=e.i(95430),l=e.i(14922),r=e.i(37917);e.s(["default",0,({compact:e=!1})=>{let{t:a}=(0,i.useTranslation)(),{hasData:o,level:h,high:m,low:d,timeHigh:u,timeLow:c,coefficient:g,isRising:x,chartData:f}=(0,s.default)();if(!o||f.length<2)return null;let p=f[0].ms,w=f[f.length-1].ms,N=Math.min(1,Math.max(0,((0,n.vesselNow)().getTime()-p)/(w-p))),v=N*(f.length-1),b=Math.min(f.length-2,Math.floor(v)),j=f[b].height+(f[b+1].height-f[b].height)*(v-b),T=Number.isFinite(h)?h:j,y=(0,t.jsx)("span",{className:`text-caption font-semibold uppercase tracking-wide whitespace-nowrap ${x?"text-oGreen":"text-oBlue"}`,children:a(x?"widgets.rising":"widgets.ebb")});if(e){let e=x?{label:a("widgets.high"),time:(0,s.formatTideTime)(u)}:{label:a("widgets.low"),time:(0,s.formatTideTime)(c)};return(0,t.jsxs)("div",{className:"tesla-card !p-3 !rounded-2xl select-none",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("span",{className:"text-caption font-semibold uppercase tracking-widest text-hud-muted truncate",children:[a("hud.tide"),g?` \xb7 C${Math.round(g)}`:""]}),e.time&&(0,t.jsxs)("span",{className:"text-caption text-hud-muted whitespace-nowrap",children:[e.label," ",(0,t.jsx)("span",{className:"font-semibold text-hud-main",children:e.time})]})]}),(0,t.jsxs)("div",{className:"flex items-baseline gap-1 min-w-0",children:[(0,t.jsx)("span",{className:"text-value font-semibold leading-tight text-hud-main",children:Number.isFinite(T)?T.toFixed(1):"--"}),(0,t.jsx)("span",{className:"text-caption text-hud-secondary mr-1",children:"m"}),y]}),(0,t.jsx)(r.default,{fluid:!0,values:f.map(e=>e.height),height:22,color:x?"var(--color-oGreen)":"var(--color-oBlue)",marker:N})]})}return(0,t.jsxs)(l.default,{title:a("hud.tide"),right:g?(0,t.jsxs)("span",{className:"text-caption font-semibold text-hud-secondary",children:["C",Math.round(g)]}):null,className:"w-[19rem]",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-value font-semibold text-hud-main",children:Number.isFinite(T)?T.toFixed(1):"--"}),(0,t.jsx)("span",{className:"text-caption text-hud-secondary",children:"m"}),(0,t.jsx)("span",{className:`text-caption font-semibold uppercase tracking-widest ${x?"text-oGreen":"text-oBlue"}`,children:a(x?"widgets.rising":"widgets.ebb")})]}),(0,t.jsx)("div",{className:"my-2",children:(0,t.jsx)(r.default,{values:f.map(e=>e.height),width:272,height:56,color:x?"var(--color-oGreen)":"var(--color-oBlue)",marker:N})}),(0,t.jsxs)("div",{className:"flex justify-between text-caption",children:[(0,t.jsxs)("span",{className:"text-hud-muted",children:[a("widgets.high")," ",(0,t.jsx)("span",{className:"text-hud-main font-semibold",children:(0,s.formatTideTime)(u)||"--:--"})," ",Number.isFinite(m)?`${m.toFixed(1)} m`:""]}),(0,t.jsxs)("span",{className:"text-hud-muted",children:[a("widgets.low")," ",(0,t.jsx)("span",{className:"text-hud-main font-semibold",children:(0,s.formatTideTime)(c)||"--:--"})," ",Number.isFinite(d)?`${d.toFixed(1)} m`:""]})]})]})}])},91999,function(e){e.n(e.i(13239))},78954,e=>{"use strict";var t=e.i(71645),i=e.i(11426),s=e.i(85709),n=e.i(83402),l=e.i(83646),r=e.i(95430);let a=(e,t,i,s,n)=>{let l=i.getTime(),r=((e,t,i,s)=>{let n=i.getTime(),l=s.getTime(),r=i=>"high"===i?e:t,a=e=>"high"===e?"low":"high",o=n<l?{time:n,type:"high"}:{time:l,type:"low"},h=n<l?{time:l,type:"low"}:{time:n,type:"high"},m=[];for(let e=5;e>=1;e--){let t=e%2?a(o.type):o.type;m.push({time:o.time-22356e3*e,height:r(t),type:t})}m.push({...o,height:r(o.type)},{...h,height:r(h.type)});for(let e=1;e<=5;e++){let t=e%2?a(h.type):h.type;m.push({time:h.time+22356e3*e,height:r(t),type:t})}return m})(e,t,s,n);for(let i=0;i<r.length-1;i++)if(l>=r[i].time&&l<=r[i+1].time){let s=r[i].height,n=r[i+1].height,a=r[i+1].time-r[i].time;if(a<=0)return(e+t)/2;return parseFloat((s+(n-s)*((1-Math.cos((l-r[i].time)/a*Math.PI))/2)).toFixed(2))}return(e+t)/2},o=e=>{if(!e)return null;if(e.includes("T")||e.includes("-")){let t=new Date(e);return isNaN(t.getTime())?null:t}let t=e.split(":").map(Number);if(t.length<2)return null;let i=(0,r.vesselNow)();return i.setHours(t[0],t[1],0,0),i};e.s(["default",0,()=>{let e=(0,l.default)(),h=n.default.get("debugMode"),m=(0,t.useMemo)(()=>["environment.tide.heightNow","environment.tide.heightHigh","environment.tide.heightLow","environment.tide.timeLow","environment.tide.timeHigh","environment.tide.coeffNow"],[]),d=(0,s.useSignalKPaths)(m),{tideData:u}=(0,i.useTide)(),c=d["environment.tide.heightNow"]??u?.level??null,g=d["environment.tide.heightHigh"]??u?.high??null,x=d["environment.tide.heightLow"]??u?.low??null,f=d["environment.tide.timeLow"]??u?.timeLow??null,p=d["environment.tide.timeHigh"]??u?.timeHigh??null,w=d["environment.tide.coeffNow"]??u?.coefficient??null,N=null!==c||null!==g||null!==x||h,v=(0,t.useMemo)(()=>o(p),[p]),b=(0,t.useMemo)(()=>o(f),[f]),j=(0,t.useMemo)(()=>{let e,t,i=g||4.2,s=x||.8,n=v||((e=(0,r.vesselNow)()).setHours(14,0,0,0),e),l=b||((t=(0,r.vesselNow)()).setHours(8,0,0,0),t),o=[],h=(0,r.vesselNow)(),m=new Date(h);m.setHours(0,0,0,0);for(let e=0;e<=48;e++){let t=new Date(m.getTime()+30*e*6e4),r=a(i,s,t,n,l);o.push({time:t.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1}),height:r,ms:t.getTime(),isNow:9e5>Math.abs(t.getTime()-h.getTime())})}return o},[g,x,v,b]),T=(0,t.useMemo)(()=>{if(v&&b)return v.getTime()<b.getTime();let e=(0,r.vesselNow)().getTime(),t=j.findIndex(t=>t.ms>e);return!(t<=0)&&j[t].height>j[t-1].height},[v,b,j]),y=T?e.ok:e.accent;return{hasData:N,level:c,high:g,low:x,timeHigh:p,timeLow:f,coefficient:w,isRising:T,tideColor:y,chartData:j}},"formatTideTime",0,e=>{if(!e)return null;if(e.includes("T")||e.includes("-")){let t=new Date(e);if(!isNaN(t.getTime()))return t.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1})}return e}])},83646,e=>{"use strict";var t=e.i(67561);e.s(["default",0,()=>(0,t.useOcearoContext)().tokens])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95163,e=>{"use strict";var r=e.i(43476);e.i(71645),e.i(85269);var t=e.i(22831),n=e.i(49721),i=e.i(68757),a=e.i(83646),o=e.i(77291);e.s(["default",0,()=>{let{t:e}=(0,t.useTranslation)(),{scene:s}=(0,a.default)(),{giveWayTo:l,encounters:u}=(0,o.default)();if(!l)return null;let{target:g,role:d}=l,c=u.filter(e=>"stand-on"!==e.role.ownRole).length-1;return(0,r.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2 rounded-2xl select-none text-white backdrop-blur",style:{background:`color-mix(in srgb, ${s.giveWay} 82%, transparent)`},role:"alert",children:[(0,r.jsx)(n.FontAwesomeIcon,{icon:i.faTriangleExclamation,className:"text-lg"}),(0,r.jsxs)("div",{className:"leading-tight",children:[(0,r.jsx)("div",{className:"text-label font-bold uppercase tracking-widest",children:e("colregs.youGiveWay")}),(0,r.jsxs)("div",{className:"text-caption font-semibold opacity-95",children:[e(`colregs.${d.reason}`,{name:g.name})," · ",e("colregs.rule",{rule:d.rule}),c>0&&` \xb7 +${c}`]})]})]})}])},78938,function(e){e.n(e.i(95163))},77291,24752,e=>{"use strict";var r=e.i(71645),t=e.i(62588),n=e.i(85709),i=e.i(61969),a=e.i(539);let o=Math.PI/180,s={power:1,sail:2,fishing:3,restricted:4},l=e=>{let r=String(e.navState||"").toLowerCase();if(/not under command|restricted|constrained/.test(r))return"restricted";if(/fishing/.test(r))return"fishing";if(/sailing/.test(r))return"sail";if(/motoring|engine/.test(r))return"power";let t=Number(e.shipType);return 36===t?"sail":30===t?"fishing":33===t?"restricted":"power"},u=(e,r,t)=>(0,a.wrapPi)(Math.atan2(r.x-e.x,r.y-e.y)-t),g=(e,r,t)=>{let n={x:0,y:0},i=u(n,r,e.course),l=u(r,n,r.course),g=Math.sign(l)||1,d=e=>Math.abs(e)>112.5*o;if(d(i)&&r.speed>e.speed)return{ownRole:"stand-on",rule:"13",reason:"overtakenByTarget",targetTurn:0};if(d(l)&&e.speed>r.speed)return{ownRole:"give-way",rule:"13",reason:"overtaking",targetTurn:0};let c=s[e.category]??1,p=s[r.category]??1;if(c!==p)return c<p?{ownRole:"give-way",rule:"18",reason:`giveWayTo_${r.category}`,targetTurn:0}:{ownRole:"stand-on",rule:"18",reason:`standOnFrom_${r.category}`,targetTurn:g};if("sail"===e.category&&Number.isFinite(t)){let n=(0,a.wrapPi)(t-e.course)>=0?"starboard":"port";return n!==((0,a.wrapPi)(t-r.course)>=0?"starboard":"port")?"port"===n?{ownRole:"give-way",rule:"12a-i",reason:"portTack",targetTurn:0}:{ownRole:"stand-on",rule:"12a-i",reason:"targetPortTack",targetTurn:g}:r.x*Math.sin(t)+r.y*Math.cos(t)>0?{ownRole:"stand-on",rule:"12a-ii",reason:"targetWindward",targetTurn:g}:{ownRole:"give-way",rule:"12a-ii",reason:"ownWindward",targetTurn:0}}return Math.abs((0,a.wrapPi)(r.course-e.course-Math.PI))<10*o&&Math.abs(i)<6*o?{ownRole:"both",rule:"14",reason:"headOn",targetTurn:1}:i>0?{ownRole:"give-way",rule:"15",reason:"crossingStarboard",targetTurn:0}:{ownRole:"stand-on",rule:"15",reason:"crossingPort",targetTurn:g}};e.s(["rightOfWay",0,g,"targetCategory",0,l],24752);var d=e.i(83402),c=e.i(67561);let p=[],m=["navigation.speedOverGround","navigation.courseOverGroundTrue"];e.s(["default",0,({always:e=!1}={})=>{let a,o,{targets:s}=(0,t.useAIS)({passive:!0}),{states:u}=(0,c.useOcearoContext)(),v=e||u.ais?s:p,{twd:h,heading:f}=(0,i.default)(),b=(0,n.useSignalKPaths)(m),w=(a=(0,n.useSignalKPrefix)("propulsion."),o=d.default.get("ownVesselCategory"),(0,r.useMemo)(()=>"sail"===o||"power"===o?o:Object.entries(a).some(([e,r])=>e.endsWith(".revolutions")&&Number(r)>.5||e.endsWith(".state")&&"started"===r)?"power":"sail",[a,o])),T=d.default.get("aisLengthScalingFactor")||.7;return(0,r.useMemo)(()=>{let e=b["navigation.courseOverGroundTrue"]??f,r=b["navigation.speedOverGround"]??0,t=[];if(Number.isFinite(e))for(let n of v){if("danger"!==n.risk)continue;let i=n.cog??n.cogMagnetic??n.heading;if(!Number.isFinite(i)||null===n.sceneX)continue;let a=g({course:e,speed:r,category:w},{x:n.sceneX/T,y:-n.sceneZ/T,course:i,speed:n.sog??0,category:l(n)},h);t.push({target:{...n},role:a})}t.sort((e,r)=>(e.target.tcpaSeconds??1/0)-(r.target.tcpaSeconds??1/0));let n={};for(let e of v)"close"===e.risk?n[e.mmsi]="close":"danger"===e.risk&&(n[e.mmsi]="giveWay");for(let e of t)n[e.target.mmsi]="stand-on"===e.role.ownRole?"yields":"giveWay";let i=t.filter(e=>"stand-on"!==e.role.ownRole);return{ownCategory:w,encounters:t,statuses:n,giveWay:i.length>0,giveWayTo:i[0]||null,primary:t[0]||null}},[v,h,f,b,w,T])}],77291)},61969,e=>{"use strict";var r=e.i(71645),t=e.i(85709),n=e.i(539);let i=180/Math.PI,a=["navigation.speedThroughWater","navigation.speedOverGround","navigation.headingTrue","navigation.courseOverGroundTrue","environment.wind.speedTrue","environment.wind.angleTrueWater","environment.wind.directionTrue","performance.polarSpeed","performance.polarSpeedRatio","navigation.courseGreatCircle.nextPoint.bearingTrue"];e.s(["default",0,()=>{let e=(0,t.useSignalKPaths)(a);return(0,r.useMemo)(()=>{let r=e["navigation.speedThroughWater"]??e["navigation.speedOverGround"]??null,t=e["navigation.headingTrue"]??e["navigation.courseOverGroundTrue"]??null,a=e["environment.wind.speedTrue"]??null,o=e["environment.wind.angleTrueWater"]??null,s=e["environment.wind.directionTrue"]??null;null===s&&Number.isFinite(o)&&Number.isFinite(t)&&(s=(0,n.wrapPi)(t+o));let l=e["performance.polarSpeed"]??(Number.isFinite(a)&&Number.isFinite(o)?(0,n.polarSpeedSi)(a,o):null),u=e["performance.polarSpeedRatio"]??null;null===u&&Number.isFinite(r)&&Number.isFinite(l)&&l>.2&&(u=r/l);let g=Number.isFinite(r)&&Number.isFinite(l)?(r-l)*1.943844:null,d=null,c=null,p=!Number.isFinite(o)||Math.abs(o)<Math.PI/2;if(Number.isFinite(a)){let e=p?(0,n.optimalUpwind)(1.943844*a):(0,n.optimalDownwind)(1.943844*a);e&&(d=e.twa/i,Number.isFinite(s)&&Number.isFinite(o)&&(c=(0,n.wrapPi)(s-Math.sign(o||1)*d)))}let m=e["navigation.courseGreatCircle.nextPoint.bearingTrue"],v=null;if(Number.isFinite(m)&&Number.isFinite(s)&&Number.isFinite(a)){let e=(0,n.bestVmcHeading)({twd:s,tws:a,bearing:m}),r=Number.isFinite(t)?(0,n.vmcForHeading)({twd:s,tws:a,bearing:m,heading:t}):null;v=e?{bearing:m,best:e,current:r}:null}return{ratio:u,polarSpeed:l,boatSpeed:r,deltaKn:g,heading:t,twd:s,tws:a,twa:o,targetTwa:d,targetHeading:c,upwind:p,vmc:v}},[e])}])},83646,e=>{"use strict";var r=e.i(67561);e.s(["default",0,()=>(0,r.useOcearoContext)().tokens])},74452,(e,r,t)=>{r.exports={vpp:{angles:[52,60,75,90,110,120,135,150],speeds:[6,8,10,12,14,16,20],52:[4.98,5.86,6.31,6.45,6.51,6.52,6.41],60:[5.25,6.11,6.56,6.73,6.79,6.82,6.79],75:[5.45,6.33,6.77,7.01,7.13,7.2,7.24],90:[5.66,6.55,7,7.25,7.38,7.53,7.7],110:[5.49,6.49,7.04,7.4,7.69,7.97,8.38],120:[5.32,6.36,6.97,7.39,7.77,8.1,8.6],135:[4.81,5.92,6.68,7.15,7.55,7.95,8.85],150:[4.09,5.17,6.04,6.61,6.99,7.31,7.93],beat_angle:[43.6,42,41.2,41.2,41.7,42.1,44.2],beat_vmg:[3.26,3.91,4.24,4.34,4.36,4.34,4.16],run_angle:[144.8,147.8,148.5,149.6,171.8,175.4,177.2],run_vmg:[3.54,4.48,5.23,5.73,6.17,6.67,7.36]}}},539,e=>{"use strict";var r=e.i(74452);let t=180/Math.PI,n=r.default.vpp,i=(e,r,t)=>e+(r-e)*t,a=(e,r)=>{if(r<=e[0])return[0,0];let t=e.length-1;if(r>=e[t])return[t-1,1];let n=0;for(;r>e[n+1];)n++;return[n,(r-e[n])/(e[n+1]-e[n])]},o=n.speeds.map((e,r)=>(e=>{let r=n.beat_angle[e],i=n.run_angle[e],a=n.beat_vmg[e]/Math.cos(r/t),o=n.run_vmg[e]/Math.abs(Math.cos(i/t)),s=[[0,0],[.7*r,.55*a],[r,a]];for(let t of n.angles)t>r&&t<i&&s.push([t,n[String(t)][e]]);return s.push([i,o]),i<180&&s.push([180,n.run_vmg[e]]),s})(r)),s=(e,r)=>{let[t,n]=a(e.map(e=>e[0]),r);return i(e[t][1],e[t+1][1],n)},l=(e,r)=>{if(!Number.isFinite(e)||!Number.isFinite(r)||e<=0)return null;let t=Math.min(180,Math.abs((r+540)%360-180)),l=n.speeds;if(e<l[0])return s(o[0],t)*(e/l[0]);let[u,g]=a(l,e);return i(s(o[u],t),s(o[u+1],t),g)},u=(e,r)=>{let[t,o]=a(n.speeds,r);return i(e[t],e[t+1],o)},g=(e,r)=>{let n=l(1.943844*e,r*t);return null===n?null:n/1.943844},d=e=>{let r=(e+Math.PI)%(2*Math.PI);return r<0&&(r+=2*Math.PI),r-Math.PI};e.s(["bestVmcHeading",0,({twd:e,tws:r,bearing:n})=>{if(![e,r,n].every(Number.isFinite)||r<=0)return null;let i=null;for(let a=-100;a<=100;a++){let o=n+a/t,s=g(r,d(e-o));if(null===s)continue;let l=s*Math.cos(o-n);(!i||l>i.vmc)&&(i={heading:d(o),speed:s,vmc:l})}return i},"optimalDownwind",0,e=>{if(!Number.isFinite(e)||e<=0)return null;let r=u(n.run_angle,e),i=l(e,r);return{twa:r,speed:i,vmg:-i*Math.cos(r/t)}},"optimalUpwind",0,e=>{if(!Number.isFinite(e)||e<=0)return null;let r=u(n.beat_angle,e),i=l(e,r);return{twa:r,speed:i,vmg:i*Math.cos(r/t)}},"polarSpeed",0,l,"polarSpeedSi",0,g,"vmcForHeading",0,({twd:e,tws:r,bearing:t,heading:n})=>{if(![e,r,t,n].every(Number.isFinite))return null;let i=g(r,d(e-n));return null===i?null:i*Math.cos(n-t)},"wrapPi",0,d])}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44188,e=>{"use strict";var t=e.i(43476),s=e.i(71645);e.i(85269);var a=e.i(22831),l=e.i(49721),i=e.i(68757),n=e.i(83646),d=e.i(83402),o=e.i(5941);let r=[0,.5,1].map(e=>{let{r:t,g:s,b:a}=(0,o.tensionToColor)(e);return`rgb(${Math.round(255*t)}, ${Math.round(255*s)}, ${Math.round(255*a)})`}),c=({kind:e,colors:s})=>{let[a,l,i]=s;return"chevrons"===e?(0,t.jsxs)("svg",{width:"28",height:"14",viewBox:"0 0 28 14","aria-hidden":"true",children:[(0,t.jsx)("rect",{x:"0",y:"2",width:"28",height:"10",rx:"2",fill:a,opacity:"0.35"}),[4,13,22].map(e=>(0,t.jsx)("path",{d:`M${e} 4 l4 3 l-4 3`,stroke:a,strokeWidth:"2",fill:"none"},e))]}):"bands"===e?(0,t.jsx)("svg",{width:"28",height:"14",viewBox:"0 0 28 14","aria-hidden":"true",children:[a,l,i].filter(Boolean).map((e,s,a)=>(0,t.jsx)("rect",{x:28/a.length*s,y:"4",width:28/a.length,height:"6",fill:e},e))}):"dashed"===e?(0,t.jsx)("svg",{width:"28",height:"14",viewBox:"0 0 28 14","aria-hidden":"true",children:(0,t.jsx)("line",{x1:"1",y1:"7",x2:"27",y2:"7",stroke:a,strokeWidth:"2",strokeDasharray:"4 3"})}):"hull"===e?(0,t.jsx)("svg",{width:"28",height:"14",viewBox:"0 0 28 14","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M2 7 Q8 1 22 2 L26 7 L22 12 Q8 13 2 7 Z",fill:a,stroke:l,strokeWidth:"1"})}):"arrow"===e?(0,t.jsx)("svg",{width:"28",height:"14",viewBox:"0 0 28 14","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M3 7 H20 M15 2 L21 7 L15 12",stroke:a,strokeWidth:"2.5",fill:"none"})}):null},x=()=>{let{t:e}=(0,a.useTranslation)(),{scene:t,accent:s}=(0,n.default)();return[{kind:"chevrons",colors:[t.route],label:e("legend.route")},{kind:"bands",colors:[t.wakeGood,t.wakeFair,t.wakeBad],label:e("legend.wake")},{kind:"bands",colors:[t.laylinePort,t.laylineStarboard],label:e("legend.laylines")},{kind:"dashed",colors:[t.compass],label:e("legend.isochrones")},{kind:"hull",colors:[t.ghost,t.ghost],label:e("legend.ghost")},{kind:"hull",colors:[t.vessel,t.vessel],label:e("legend.vessel")},{kind:"hull",colors:[t.vesselDanger,t.vesselDanger],label:e("legend.danger")},{kind:"hull",colors:[t.vesselYields,t.vesselYields],label:e("legend.yields")},{kind:"hull",colors:[t.vesselClose,t.vesselClose],label:e("legend.close")},{kind:"dashed",colors:[t.vesselDanger],label:e("legend.cpa")},{kind:"hull",colors:[t.giveWay,t.giveWay],label:e("legend.giveWay")},{kind:"dashed",colors:[t.target],label:e("legend.advice")},{kind:"bands",colors:[s],label:e("legend.trim")},{kind:"bands",colors:r,label:e("legend.loads")}]},h=({className:e="gap-1 text-caption"})=>{let s=x();return(0,t.jsx)("ul",{className:`flex flex-col text-hud-main leading-tight ${e}`,children:s.map(e=>(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"shrink-0 w-7 flex justify-center",children:(0,t.jsx)(c,{kind:e.kind,colors:e.colors})}),(0,t.jsx)("span",{children:e.label})]},e.label))})};e.s(["LegendList",0,h,"default",0,()=>{let{t:e}=(0,a.useTranslation)(),[n,o]=(0,s.useState)(()=>!0===d.default.get("sceneLegendOpen")),r=()=>{d.default.set("sceneLegendOpen",!n),o(!n)};return n?(0,t.jsxs)("div",{className:"relative z-40 px-3 py-2 max-w-[19rem] max-h-[45vh] overflow-y-auto select-none rounded-2xl bg-hud-bg/90 backdrop-blur shadow-soft",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsx)("span",{className:"text-caption font-semibold uppercase tracking-widest text-hud-muted",children:e("legend.title")}),(0,t.jsx)("button",{type:"button",onClick:r,"aria-label":e("common.close"),className:"text-hud-muted hover:text-hud-main px-1",children:(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faXmark})})]}),(0,t.jsx)(h,{})]}):(0,t.jsxs)("button",{type:"button",onClick:r,className:"hud-halo flex items-center gap-2 px-2 py-1 text-caption font-semibold uppercase tracking-widest text-hud-muted hover:text-hud-main",children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faCircleInfo}),e("legend.title")]})},"useLegendRows",0,x])},5941,e=>{"use strict";let t=[1,.8,.6];function s(e){return t[Math.min(Math.max(e,0),2)]}function a(e,t){return Math.max(.05,Math.min(1,1-.6*e-.3*t))}function l(e,t){return Math.PI/6*Math.max(0,1-1.9438444924574*t/30)*(1-e)}function i(e,t,s){let a=Math.min(1,1.9438444924574*(e.tws||0)/30),l=t.tension||.5;switch(s){case"mainSheet":return Math.min(1,.5*a+.3*l+.3*t.mainCar);case"jibSheet":return Math.min(1,.5*a+.3*l+.3*t.jibCar);case"vang":return Math.min(1,.6*a+.4*l);case"cunningham":return Math.min(1,.4*a+.6*l);case"backstay":return Math.min(1,Math.max(0,1-Math.abs(Math.atan2(Math.sin(e.awa||0),Math.cos(e.awa||0)))/Math.PI)*a*.9+.3*l);default:return l}}function n(e){let t=Math.max(0,Math.min(1,e));if(t<=.5){let e=2*t;return{r:e,g:1-.3*e,b:0}}return{r:1,g:.7*(1-(t-.5)*2),b:0}}e.s(["getReefHeightFactor",0,s,"tensionToColor",0,n,"updateSailTrim",0,function({tws:e=0,twa:t=0,awa:d=0,mainCar:o=.5,jibCar:r=.5,tension:c=.5}){let x,h=(x=1.9438444924574*e)>25?2:+(x>18),u=s(h),m=a(o,c),g=a(r,c),p=l(o,e),b=l(r,e),f={tws:e,twa:t,awa:d},y={mainCar:o,jibCar:r,tension:c},j={mainSheet:i(f,y,"mainSheet"),jibSheet:i(f,y,"jibSheet"),vang:i(f,y,"vang"),cunningham:i(f,y,"cunningham"),backstay:i(f,y,"backstay")},v={mainSheet:n(j.mainSheet),jibSheet:n(j.jibSheet),vang:n(j.vang),cunningham:n(j.cunningham),backstay:n(j.backstay)};return{reefLevel:h,reefHeightFactor:u,mainCamber:m,jibCamber:g,mainTwist:p,jibTwist:b,tensions:j,tensionColors:v}}])},70546,e=>{"use strict";var t=e.i(43476),s=e.i(71645);e.i(85269);var a=e.i(22831),l=e.i(49721),i=e.i(68757);let n=[{id:"start",steps:["connect","demo","views","phone","settings"]},{id:"view",image:"hero.jpg",spots:[{id:"toolbar",x:13.5,y:3},{id:"speed",x:6.5,y:10},{id:"values",x:6,y:23},{id:"legend",x:6,y:33},{id:"sky",x:90,y:3},{id:"sails",x:49,y:33},{id:"ais",x:79,y:29.5},{id:"compass",x:60,y:66},{id:"wake",x:50,y:85},{id:"depth",x:13.5,y:84},{id:"tide",x:82,y:83},{id:"bottom",x:12.8,y:96},{id:"readings",x:94,y:97},{id:"shortcuts",x:50,y:96}]},{id:"route",image:"polars.jpg",spots:[{id:"toggles",x:15,y:3},{id:"waypoint",x:9,y:35},{id:"route",x:40.6,y:33},{id:"isochrones",x:58,y:32},{id:"laylines",x:19,y:48},{id:"wake",x:43,y:87}]},{id:"traffic",image:"traffic.jpg",spots:[{id:"toggle",x:22,y:3.5},{id:"banner",x:50,y:9},{id:"yields",x:34,y:26},{id:"tags",x:57.5,y:21},{id:"danger",x:45,y:45.5},{id:"advice",x:33,y:87}]},{id:"anchor",image:"anchor.jpg",spots:[{id:"button",x:5,y:3.5},{id:"position",x:11,y:8},{id:"values",x:3.5,y:37},{id:"alarm",x:91,y:64},{id:"swing",x:37.5,y:60.5},{id:"track",x:47.5,y:57},{id:"anchorPoint",x:61,y:59}]},{id:"parking",image:"parking.jpg",spots:[{id:"button",x:7.8,y:3.5},{id:"berth",x:50,y:31},{id:"path",x:49,y:41},{id:"wind",x:42,y:64},{id:"depth",x:6,y:81},{id:"guidance",x:40,y:84},{id:"types",x:66,y:90}]},{id:"bathymetry",image:"bathymetry.jpg",spots:[{id:"button",x:11.4,y:3},{id:"coast",x:69,y:7},{id:"soundings",x:36,y:22.5},{id:"seabed",x:19,y:67},{id:"keel",x:51.5,y:86}]},{id:"weather",image:"weather.jpg",spots:[{id:"button",x:11.4,y:3},{id:"slider",x:51,y:6.7},{id:"map",x:39,y:28},{id:"wind",x:75,y:44}]},{id:"mob",image:"mob.jpg",spots:[{id:"button",x:12.75,y:96},{id:"alert",x:66,y:6},{id:"marker",x:75,y:59},{id:"drift",x:68,y:63.5},{id:"return",x:61,y:55.5}]},{id:"dashboard",image:"dashboard.jpg",spots:[{id:"view",x:20,y:44},{id:"radar",x:60,y:39},{id:"range",x:75,y:5},{id:"tactical",x:60,y:79},{id:"weather",x:90,y:24},{id:"course",x:90,y:62}]},{id:"logbook",image:"logbook.jpg",spots:[{id:"tabs",x:69,y:6.3},{id:"add",x:93,y:12},{id:"entries",x:69,y:30}]},{id:"legend",legend:!0}];var d=e.i(44188),o=e.i(83402);let r=e=>Math.min(97,Math.max(3,e)),c=({n:e,x:s,y:a,active:l,label:i,onClick:n})=>(0,t.jsxs)("button",{type:"button",onClick:n,"aria-label":`${e}. ${i}`,"aria-pressed":l,className:`absolute -translate-x-1/2 -translate-y-1/2 rounded-full flex items-center justify-center font-bold leading-none shadow-soft transition-transform duration-200
2
+ w-6 h-6 text-[11px] sm:w-7 sm:h-7 sm:text-xs ring-2 ring-white
3
+ ${l?"bg-oYellow text-black scale-125 z-10":"bg-oBlue text-white hover:scale-110"}`,style:{left:`${r(s)}%`,top:`${r(a)}%`},children:[l&&(0,t.jsx)("span",{className:"absolute inset-0 rounded-full bg-oYellow animate-ping opacity-60","aria-hidden":"true"}),(0,t.jsx)("span",{className:"relative",children:e})]}),x=({section:e,base:n})=>{let{t:d}=(0,a.useTranslation)(),[o,r]=(0,s.useState)(0),x=(t,s)=>`guide.${e.id}.spots.${t.id}.${s}`,h=e.spots[o];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("figure",{className:"relative w-full mx-auto rounded-xl overflow-visible bg-hud-elevated",style:{maxWidth:"calc(60vh * 16 / 9)"},children:[(0,t.jsx)("img",{src:`${n}/${e.image}`,alt:d(`guide.${e.id}.title`),className:"w-full h-auto rounded-xl block select-none",draggable:!1}),e.spots.map((e,s)=>(0,t.jsx)(c,{n:s+1,x:e.x,y:e.y,active:s===o,label:d(x(e,"title")),onClick:()=>r(s)},e.id))]}),(0,t.jsxs)("div",{className:"mt-3 mx-auto rounded-xl border border-hud bg-hud-elevated px-4 py-3 flex items-start gap-3",style:{maxWidth:"calc(60vh * 16 / 9)"},"aria-live":"polite",children:[(0,t.jsx)("span",{className:"shrink-0 w-7 h-7 rounded-full bg-oYellow text-black text-xs font-bold flex items-center justify-center",children:o+1}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-label font-semibold text-hud-main",children:d(x(h,"title"))}),(0,t.jsx)("p",{className:"text-label text-hud-secondary mt-0.5",children:d(x(h,"text"))})]}),(0,t.jsxs)("div",{className:"shrink-0 flex gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>r((o+e.spots.length-1)%e.spots.length),"aria-label":d("guide.previousSpot"),className:"w-8 h-8 rounded-lg text-hud-secondary hover:text-hud-main tesla-hover",children:(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faChevronLeft})}),(0,t.jsx)("button",{type:"button",onClick:()=>r((o+1)%e.spots.length),"aria-label":d("guide.nextSpot"),className:"w-8 h-8 rounded-lg text-hud-secondary hover:text-hud-main tesla-hover",children:(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faChevronRight})})]})]}),(0,t.jsx)("ol",{className:"mt-4 grid gap-2 lg:grid-cols-2",children:e.spots.map((e,s)=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(s),className:`w-full text-left flex items-start gap-3 rounded-xl px-3 py-2 transition-colors ${s===o?"bg-hud-elevated":"tesla-hover"}`,children:[(0,t.jsx)("span",{className:`shrink-0 mt-0.5 w-6 h-6 rounded-full text-[11px] font-bold flex items-center justify-center ${s===o?"bg-oYellow text-black":"bg-oBlue text-white"}`,children:s+1}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block text-label font-semibold text-hud-main",children:d(x(e,"title"))}),(0,t.jsx)("span",{className:"block text-label text-hud-secondary",children:d(x(e,"text"))})]})]})},e.id))})]})},h=({section:e})=>{let{t:s}=(0,a.useTranslation)();return(0,t.jsx)("ol",{className:"grid gap-3",children:e.steps.map((e,a)=>(0,t.jsxs)("li",{className:"flex items-start gap-3 rounded-xl bg-hud-elevated px-4 py-3",children:[(0,t.jsx)("span",{className:"shrink-0 mt-0.5 w-6 h-6 rounded-full bg-oBlue text-white text-[11px] font-bold flex items-center justify-center",children:a+1}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block text-label font-semibold text-hud-main",children:s(`guide.start.steps.${e}.title`)}),(0,t.jsx)("span",{className:"block text-label text-hud-secondary",children:s(`guide.start.steps.${e}.text`)})]})]},e))})},u=({base:e="./guide"})=>{let{t:r}=(0,a.useTranslation)(),[c,u]=(0,s.useState)(()=>{let e=n.findIndex(e=>e.id===o.default.get("guideSection"));return e>=0?e:0}),m=(0,s.useRef)(null),g=n[c];(0,s.useEffect)(()=>{o.default.set("guideSection",g.id),m.current?.scrollTo({top:0})},[g.id]);let p=n[c-1],b=n[c+1];return(0,t.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,t.jsx)("nav",{className:"flex gap-1 px-2 py-2 border-b border-hud overflow-x-auto scrollbar-hide shrink-0","aria-label":r("guide.tab"),children:n.map((e,s)=>(0,t.jsx)("button",{type:"button",onClick:()=>u(s),"aria-current":s===c,className:`shrink-0 px-3 py-1.5 rounded-full text-caption font-semibold uppercase tracking-wide whitespace-nowrap transition-colors ${s===c?"bg-oBlue text-white":"text-hud-secondary tesla-hover"}`,children:r(`guide.${e.id}.title`)},e.id))}),(0,t.jsx)("div",{ref:m,className:"flex-1 min-h-0 overflow-y-auto",children:(0,t.jsxs)("article",{className:"max-w-5xl mx-auto px-4 py-4",children:[(0,t.jsx)("h2",{className:"text-value font-semibold text-hud-main",children:r(`guide.${g.id}.title`)}),(0,t.jsx)("p",{className:"text-label text-hud-secondary mt-1 mb-4",children:r(`guide.${g.id}.intro`)}),g.image&&(0,t.jsx)(x,{section:g,base:e},g.id),g.steps&&(0,t.jsx)(h,{section:g}),g.legend&&(0,t.jsx)("div",{className:"rounded-xl bg-hud-elevated px-4 py-3",children:(0,t.jsx)(d.LegendList,{className:"gap-2 text-label"})}),(0,t.jsxs)("div",{className:"flex justify-between gap-2 mt-6",children:[p?(0,t.jsxs)("button",{type:"button",onClick:()=>u(c-1),className:"px-3 py-2 rounded-xl text-label text-hud-secondary hover:text-hud-main tesla-hover",children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faChevronLeft,className:"mr-2"}),r(`guide.${p.id}.title`)]}):(0,t.jsx)("span",{}),b&&(0,t.jsxs)("button",{type:"button",onClick:()=>u(c+1),className:"px-3 py-2 rounded-xl text-label font-semibold text-oBlue tesla-hover",children:[r(`guide.${b.id}.title`),(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faChevronRight,className:"ml-2"})]})]})]})})]})},m={guide:!0},g=e=>e.guide?"guide":e.file||e.url;e.s(["default",0,({path:e})=>{let[n,d]=(0,s.useState)([]),[o,r]=(0,s.useState)(m),[c,x]=(0,s.useState)(!1),{t:h}=(0,a.useTranslation)();(0,s.useEffect)(()=>{(async()=>{try{let t=await fetch(`${e}/index.json`);if(!t.ok)throw Error("Network response was not ok");d(await t.json())}catch(e){console.warn("Manuals: cannot list the documents:",e.message),x(!0)}})()},[e]);let p=[{...m,title:h("guide.tab")},...n],b=o.file?`${e}/${o.file}`:null,f=o.file?.toLowerCase().endsWith(".pdf");return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-rightPaneBg overflow-hidden",children:[(0,t.jsx)("div",{className:"flex border-b border-hud bg-hud-bg overflow-x-auto scrollbar-hide shrink-0",children:p.map(e=>(0,t.jsxs)("button",{onClick:()=>r(e),className:`flex-1 py-3 px-3 text-caption font-semibold uppercase flex items-center justify-center transition-all duration-500 whitespace-nowrap ${g(o)===g(e)?"text-oGreen border-b-2 border-oGreen bg-hud-bg":"text-hud-secondary hover:text-hud-main tesla-hover"}`,children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:e.guide?i.faBookOpen:e.url?i.faGlobe:i.faFileAlt,className:"mr-2"}),e.title]},g(e)))}),(0,t.jsxs)("div",{className:"flex-grow min-h-0 bg-hud-bg text-hud-main flex flex-col",children:[o.guide&&(0,t.jsx)(u,{}),b&&f&&(0,t.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"shrink-0 self-end m-2 px-3 py-1.5 rounded-lg text-caption font-semibold uppercase tracking-wide text-oBlue tesla-hover",children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faArrowUpRightFromSquare,className:"mr-2"}),h("manual.openNewTab")]}),b&&(0,t.jsx)("iframe",{src:b,title:o.title,className:"flex-1 w-full border-0"}),o.url&&(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-6 text-center",children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faGlobe,className:"text-4xl text-hud-muted"}),(0,t.jsx)("div",{className:"text-value font-semibold text-hud-main",children:o.title}),(0,t.jsx)("p",{className:"text-label text-hud-secondary max-w-md",children:h("manual.online")}),(0,t.jsxs)("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"px-4 py-2 rounded-xl bg-oBlue text-white text-label font-semibold",children:[(0,t.jsx)(l.FontAwesomeIcon,{icon:i.faArrowUpRightFromSquare,className:"mr-2"}),h("manual.openNewTab")]})]}),c&&!o.guide&&(0,t.jsx)("div",{className:"text-label text-hud-secondary p-6 text-center",children:h("manual.unavailable")})]})]})}],70546)},23298,function(e){e.n(e.i(70546))},83646,e=>{"use strict";var t=e.i(67561);e.s(["default",0,()=>(0,t.useOcearoContext)().tokens])}]);