PageSourceSearch

https://myponza.it/assets/mappa-BHoT6IIr.js

js myponza.it collected 2026-10-09 22:04:26 UTC 56,556 bytes, 3 lines download raw bytes

1import{c as at,r as N,j as n,a as K,u as me,B as oe,C as Ut,T as zt,D as Ft,E as Vt,F as c,G as Wt,P as Gt,H as Yt,O as qt,I as Kt,X as Xt,s as Zt}from"./index-DCOXvstu.js";import{S as Jt}from"./SiteLayout-CCSmdLI7.js";import{M as Qt}from"./MapView-DFzhIfuz.js";import{m as en}from"./mapbox-gl-ChZuxib3.js";import{M as tn}from"./map-Ch0R8rEE.js";import{C as nn}from"./checkbox-GGo4jqZN.js";import{L as an}from"./label-BvWwqMcT.js";import{T as Se}from"./ais-history-zones-Dda7o4mk.js";import{W as rt}from"./waves-CKoWRBuL.js";import{B as rn}from"./ban-BKW_MV0_.js";import{I as Ce}from"./info-DWiHxSli.js";import{T as ot}from"./ticket-DGLmGSKg.js";import{S as on}from"./shield-Di8YOpf6.js";import{P as st,a as it,b as lt}from"./popover-D2VVSTTv.js";import{S as sn}from"./sun-C8FwNt_h.js";import{O as ln}from"./OfflineMapNotice-DDQa4WJn.js";import{a as ct,b as cn}from"./geo-error-DbuHuSUx.js";import{g as un}from"./geo-consent-Bf1h7Z-c.js";import{u as dn}from"./use-mobile-rxBT35Ik.js";import{E as Ye}from"./external-link-B-_Tjdpf.js";import{L as fn}from"./layers-D4w68xuY.js";import"./index-DzHEi-MD.js";import"./chevron-right-Cw_F8TFx.js";import"./circle-CvC2vI-p.js";import"./EmergencyFab-BAuU9ppB.js";import"./house-bG7T1j0a.js";import"./compass-DJ7Nbm9r.js";import"./store-BfWueCk-.js";import"./ship-DpszsJyj.js";import"./phone-BerRfjfu.js";import"./receipt-CVv3-VgD.js";import"./building-2-C3DsSegu.js";import"./triangle-alert-D-adNwn0.js";import"./dialog-nnJfZD7M.js";import"./index-DOX5FfDA.js";import"./book-open-SJToQhr5.js";import"./rotate-ccw-BDtfIyTh.js";import"./bell-_egSKZUM.js";import"./megaphone-3jNqpe_u.js";import"./search-Sf5wY7ve.js";import"./shield-check-5Au-pudp.js";import"./command-C2UEF5G6.js";import"./star-DGK_BCKT.js";import"./calendar-DHCD-D0F.js";import"./globe-D5z6C-NF.js";import"./send-sgAeWSwA.js";import"./mail-D05mC6Lu.js";import"./useLocation-BjGnRpIX.js";import"./wifi-off-DJjZiejk.js";const mn=[["line",{x1:"2",x2:"5",y1:"12",y2:"12",key:"bvdh0s"}],["line",{x1:"19",x2:"22",y1:"12",y2:"12",key:"1tbv5k"}],["line",{x1:"12",x2:"12",y1:"2",y2:"5",key:"11lu5j"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}],["circle",{cx:"12",cy:"12",r:"7",key:"fim9np"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],pn=at("locate-fixed",mn);const hn=[["path",{d:"m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5",key:"dzhfyz"}],["path",{d:"M16.5 7.5 19 5",key:"1ltcjm"}],["path",{d:"m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5",key:"nfoymv"}],["path",{d:"M9 21a6 6 0 0 0-6-6",key:"1iajcf"}],["path",{d:"M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z",key:"nv9zqy"}]],gn=at("satellite",hn);function wn({mapApi:e,className:a}){const t=N.useRef(null);return N.useEffect(()=>{const r=e?.getMap?.();if(!r||!t.current)return;const o=new en.ScaleControl({unit:"metric"}),s=o.onAdd(r);return t.current.appendChild(s),()=>{o.onRemove()}},[e]),n.jsx("div",{ref:t,className:K("map-scale-root pointer-events-auto shrink-0",a)})}function xn({value:e,onChange:a,className:t}){const{t:r}=me();return n.jsxs("div",{role:"group","aria-label":r("mappa.style.groupAria"),className:K("inline-flex items-center gap-0.5 rounded-full bg-background/90 p-1 shadow-xl ring-1 ring-border/70 backdrop-blur-md",t),children:[n.jsx(qe,{active:e==="outdoors",onClick:()=>a("outdoors"),icon:n.jsx(tn,{className:"h-4 w-4","aria-hidden":!0}),label:r("mappa.style.map")}),n.jsx(qe,{active:e==="satellite",onClick:()=>a("satellite"),icon:n.jsx(gn,{className:"h-4 w-4","aria-hidden":!0}),label:r("mappa.style.satellite")})]})}function qe({active:e,onClick:a,icon:t,label:r}){return n.jsxs("button",{type:"button",onClick:a,"aria-pressed":e,className:K("inline-flex h-7 items-center gap-1 rounded-full px-2.5 text-[11px] font-semibold tracking-tight transition sm:text-xs","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",e?"bg-foreground text-background shadow-sm":"text-foreground
1/60 hover:text-foreground"),children:[t,n.jsx("span",{children:r})]})}function ut(e,a){const t=(e.slug??"").trim(),r=e.name,o=e.description??"",s=t?a(`mappa.zones.${t}.name`,{defaultValue:r}):r;let i=o;if(t&&o)i=a(`mappa.zones.${t}.description`,{defaultValue:o});else if(t&&!o){const l=`mappa.zones.${t}.description`,g=a(l,{defaultValue:""});i=g&&g!==l?g:""}return{name:s||r,description:i||null}}const vn=["protected_area","ticket_zone","info","excluded"],bn={protected_area:on,ticket_zone:ot,info:Ce,excluded:rn};function yn({zones:e,enabledZones:a,onToggleZone:t,onShowAll:r,onHideAll:o,onToggleGroup:s}){const{t:i}=me(),l=e.length,g=e.filter(u=>a[u.id]).length,b=l>0&&g===l,p=new Map;for(const u of e){const d=u.kind??"info",O=p.get(d)??[];O.push(u),p.set(d,O)}return n.jsxs("div",{className:"space-y-4",children:[n.jsxs("header",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"grid h-9 w-9 shrink-0 place-items-center rounded-full bg-primary/10 text-primary","aria-hidden":!0,children:n.jsx(rt,{className:"h-5 w-5"})}),n.jsxs("div",{className:"min-w-0",children:[n.jsx("h2",{className:"font-display text-base font-semibold leading-tight",children:i("mappa.layers.title")}),n.jsx("p",{className:"text-xs text-muted-foreground",children:i("mappa.layers.subtitle")})]})]}),l===0?n.jsx("p",{className:"rounded-lg border border-dashed border-border bg-muted/30 p-3 text-sm text-muted-foreground",children:i("mappa.layers.empty")}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"space-y-3",children:vn.filter(u=>(p.get(u)?.length??0)>0).map(u=>n.jsx(Nn,{kind:u,items:p.get(u)??[],enabledZones:a,onToggleZone:t,onToggleGroup:s},u))}),n.jsxs("div",{className:"flex items-center justify-between border-t border-border pt-3",children:[n.jsxs("p",{className:"text-xs text-muted-foreground",children:[n.jsx("span",{className:"font-semibold text-foreground tabular-nums",children:g})," ",i("mappa.layers.activeSuffix",{total:l})]}),n.jsx(oe,{type:"button",variant:"ghost",size:"sm",onClick:b?o:r,className:"h-8 px-2 text-xs",children:i(b?"mappa.layers.hideAll":"mappa.layers.showAll")})]})]})]})}function Nn({kind:e,items:a,enabledZones:t,onToggleZone:r,onToggleGroup:o}){const{t:s}=me(),i=bn[e],l=s(`mappa.layers.groups.${e}.label`),g=s(`mappa.layers.groups.${e}.hint`),b=a.filter(k=>t[k.id]).length,p=b===a.length,u=b===0,[d,O]=N.useState(e!=="excluded");return n.jsxs("section",{className:"rounded-xl border border-border bg-background","aria-label":l,children:[n.jsxs("header",{className:"flex items-center gap-2 px-3 py-2",children:[n.jsxs("button",{type:"button",onClick:()=>O(k=>!k),className:"flex min-w-0 flex-1 items-center gap-2 text-left","aria-expanded":d,children:[n.jsx("span",{className:"grid h-7 w-7 shrink-0 place-items-center rounded-full bg-muted text-foreground/80",children:n.jsx(i,{className:"h-3.5 w-3.5","aria-hidden":!0})}),n.jsxs("span",{className:"min-w-0 flex-1",children:[n.jsx("span",{className:"block text-sm font-semibold leading-snug break-words",children:l}),n.jsx("span",{className:"block text-[11px] text-muted-foreground break-words",children:s("mappa.layers.groupActiveOf",{active:b,total:a.length,hint:g})})]}),n.jsx(Ut,{className:K("h-4 w-4 shrink-0 text-muted-foreground transition-transform",d?"":"-rotate-90"),"aria-hidden":!0})]}),o&&n.jsx(oe,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2 text-[11px]",onClick:()=>o(e,u?!0:!p),children:s(p?"mappa.layers.hide":"mappa.layers.showAll")})]}),d&&n.jsx("ul",{className:"space-y-1 border-t border-border px-2 py-2",role:"list",children:a.map(k=>{const R=`layer-${k.id}`,B=t[k.id]??!1,{name:w,description:M}=ut(k,s),A=Se.has(k.slug??"");return n.jsx("li",{children:n.jsxs(an,{htmlFor:R,className:K("flex min-h-[48px] cursor-pointer items-start gap-3 rounded-lg px-2 py-2 transition focus-within:ring-2 focus-within:ring-ring",A?"border border-orange-200 bg-orange-50 hover:bg-orange-100/70":"hover:bg-muted/50"),children:[n.jsx(nn,{id:R,checked:B,onCheckedChange:()=>r(k.id),className:"mt-0.5 h-5 w-5"}),n.jsx("span",{className:"mt-0.5 inline-block h-5 w-5 shrink-0 rounded-md border-2",style:{background:e==="excluded"?`repeating-linear-gradient(45deg, ${k.stroke_color??k.color} 0 2px, transparent 2px 5px)`:kn(k.color,Number(k.opacity)),borderColor:k.stroke_color??k.color},"aria-hidden":!0}),n.jsxs("span",{className:"min-w-0 flex-1",children:[A&&n.jsxs("span",{className:"mb-1 inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-orange-700",children:[n.jsx(ot,{className:"h-3 w-3","aria-hidden":!0}),s("mappa.layers.ticketBadge")]}),n.jsx("span",{className:"block text-sm font-medium leading-tight",children:w}),M&&n.jsx("span",{className:"mt-0.5 block text-xs text-muted-foreground",children:M})]})]})},k.id)})})]})}function kn(e,a){const t=/^#?([0-9a-f]{6})$/i.exec(e.trim());if(!t)return e;const r=parseInt(t[1],16),o=r>>16&255,s=r>>8&255,i=r&255;return`rgba(${o},${s},${i},${a})`}const jn=[{key:"protectedArea",color:"#DC2626"},{key:"ticket",color:"#0077B6"},{key:"cetaceans",color:"#7C3AED"},{key:"excluded",color:"#475569",hatch:!0},{key:"wastePoint",color:"#2A9D8F",marker:!0,withDescription:!0}
1,{key:"bluePier",color:"#0077B6",marker:!0,withDescription:!0}];function Sn({className:e}){const{t:a}=me();return n.jsx("div",{className:K("pointer-events-auto",e),children:n.jsxs(st,{children:[n.jsx(it,{asChild:!0,children:n.jsxs(oe,{type:"button",variant:"secondary",size:"sm","aria-label":a("mappa.legend.trigger"),className:"h-7 w-7 shrink-0 rounded-full p-0 shadow-lg ring-1 ring-border sm:w-auto sm:gap-1.5 sm:px-3",children:[n.jsx(Ce,{className:"h-3.5 w-3.5","aria-hidden":!0}),n.jsx("span",{className:"sr-only sm:not-sr-only sm:text-xs sm:font-medium",children:a("mappa.legend.title")})]})}),n.jsxs(lt,{align:"start",side:"top",sideOffset:12,className:"z-50 w-[min(88vw,280px)] p-3",children:[n.jsx("p",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a("mappa.legend.title")}),n.jsx("ul",{className:"space-y-2",role:"list",children:jn.map(t=>n.jsxs("li",{className:"flex items-start gap-2 rounded-lg border-l-2 bg-muted/40 px-2 py-1.5 text-xs",style:{borderLeftColor:t.color},children:[t.marker?n.jsx("span",{className:"mt-0.5 grid h-4 w-4 shrink-0 place-items-center rounded-full border-2 border-white shadow-sm",style:{background:t.color},"aria-hidden":!0}):n.jsx("span",{className:"mt-0.5 inline-block h-3.5 w-3.5 shrink-0 rounded border",style:{background:t.hatch?`repeating-linear-gradient(45deg, ${t.color} 0 2px, transparent 2px 5px)`:`${t.color}33`,borderColor:t.color},"aria-hidden":!0}),n.jsxs("span",{className:"min-w-0",children:[n.jsx("span",{className:"block font-medium leading-tight text-foreground",children:a(`mappa.legend.items.${t.key}`)}),t.withDescription?n.jsx("span",{className:"mt-0.5 block leading-snug text-muted-foreground",children:a(`mappa.legend.descriptions.${t.key}`)}):null]})]},t.key))})]})]})})}function Cn(e){return e==null?"—":e<.5?"calmo":e<1?"poco mosso":e<1.5?"mosso":e<2.5?"molto mosso":"agitato"}function En({className:e}){const{t:a}=me(),[t,r]=N.useState(null);N.useEffect(()=>{let b=!1;const p=async()=>{try{const d=await fetch("/api/live-conditions",{headers:{accept:"application/json"},cache:"no-cache"});if(!d.ok)return;const O=await d.json();b||r(O)}catch{}};p();const u=setInterval(p,300*1e3);return()=>{b=!0,clearInterval(u)}},[]);const o=t?.weather?.data;if(!o)return null;const s=`${o.temperatureC}°C`,i=o.waveM!=null?`${o.waveM}m`:"—",l=Cn(o.waveM),g=t?.weather?.status==="stale";return n.jsxs("div",{className:K("pointer-events-auto flex h-8 items-stretch gap-0 overflow-hidden rounded-full bg-background/95 text-xs shadow-lg ring-1 ring-border backdrop-blur",e),role:"status","aria-label":a("mappa.weatherBadge.aria",{defaultValue:"Meteo e mare a Ponza"}),title:a("mappa.weatherBadge.aria",{defaultValue:"Meteo e mare a Ponza"})+(g?" · dato non aggiornato":""),children:[n.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1",children:[n.jsx(sn,{className:"h-3.5 w-3.5 text-accent","aria-hidden":!0}),n.jsx("span",{className:"font-semibold tabular-nums text-foreground",children:s}),n.jsxs("span",{className:"hidden text-muted-foreground sm:inline",children:["· ",o.windKn,"kn"]})]}),n.jsx("span",{className:"w-px bg-border","aria-hidden":!0}),n.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1",children:[n.jsx(rt,{className:"h-3.5 w-3.5 text-primary","aria-hidden":!0}),n.jsx("span",{className:"font-semibold tabular-nums text-foreground",children:i}),n.jsxs("span",{className:"hidden text-muted-foreground sm:inline",children:["· ",l]})]}),g&&n.jsx("span",{className:"mr-1 self-center h-1.5 w-1.5 rounded-full bg-warning","aria-hidden":!0})]})}function Rn(e){if(typeof document>"u")return;let a=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",a.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}const dt=c.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0}
1,shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),be=()=>{const e=c.useContext(dt);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};Rn(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
2[data-state=closed]
3){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;
3left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function Tn(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Dn(){return Le(/^Mac/)}function On(){return Le(/^iPhone/)}function Ke(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Mn(){return Le(/^iPad/)||Dn()&&navigator.maxTouchPoints>1}function ft(){return On()||Mn()}function Le(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const An=24,Pn=typeof window<"u"?N.useLayoutEffect:N.useEffect;function Xe(...e){return(...a)=>{for(let t of e)typeof t=="function"&&t(...a)}}const Oe=typeof document<"u"&&window.visualViewport;function Ze(e){let a=window.getComputedStyle(e);return/(auto|scroll)/.test(a.overflow+a.overflowX+a.overflowY)}function mt(e){for(Ze(e)&&(e=e.parentElement);e&&!Ze(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const $n=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let ke=0,Me;function _n(e={}){let{isDisabled:a}=e;Pn(()=>{if(!a)return ke++,ke===1&&ft()&&(Me=Ln()),()=>{ke--,ke===0&&Me?.()}},[a])}function Ln(){let e,a=0,t=u=>{e=mt(u.target),!(e===document.documentElement&&e===document.body)&&(a=u.changedTouches[0].pageY)},r=u=>{if(!e||e===document.documentElement||e===document.body){u.preventDefault();return}let d=u.changedTouches[0].pageY,O=e.scrollTop,k=e.scrollHeight-e.clientHeight;k!==0&&((O<=0&&d>a||O>=k&&d<a)&&u.preventDefault(),a=d)},o=u=>{let d=u.target;$e(d)&&d!==document.activeElement&&(u.preventDefault(),d.style.transform="translateY(-2000px)",d.focus(),requestAnimationFrame(()=>{d.style.transform=""}))},s=u=>{let d=u.target;$e(d)&&(d.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{d.style.transform="",Oe&&(Oe.height<window.innerHeight?requestAnimationFrame(()=>{Je(d)}):Oe.addEventListener("resize",()=>Je(d),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},l=window.pageXOffset,g=window.pageYOffset,b=Xe(In(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let p=Xe(xe(document,"touchstart",t,{passive:!1,capture:!0}),xe(document,"touchmove",r,{passive:!1,capture:!0}),xe(document,"touchend",o,{passive:!1,capture:!0}),xe(document,"focus",s,!0),xe(window,"scroll",i));return()=>{b(),p(),window.scrollTo(l,g)}}function In(e,a,t){let r=e.style[a];return e.style[a]=t,()=>{e.style[a]=r}}function xe(e,a,t,r){return e.addEventListener(a,t,r),()=>{e.removeEventListener(a,t,r)}}function Je(e){let a=document.scrollingElement||document.documentElement;for(;e&&e!==a;){let t=mt(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let r=t.getBoundingClientRect().top,o=e.getBoundingClientRect().top,s=e.getBoundingClientRect().bottom;const i=t.getBoundingClientRect().bottom+An;s>i&&(t.scrollTop+=o-r)}e=t.parentElement}}function $e(e){return e instanceof HTMLInputElement&&!$n.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Bn(e,a){typeof e=="function"?e(a):e!=null&&(e.current=a)}function Hn(...e){return a=>e.forEach(t=>Bn(t,a))}function pt(...e){return N.useCallback(Hn(...e),e)}const ht=new WeakMap;function L(e,a,t=!1){if(!e||!(e instanceof HTMLElement))return;let r={};
3Object.entries(a).forEach(([o,s])=>{if(o.startsWith("--")){e.style.setProperty(o,s);return}r[o]=e.style[o],e.style[o]=s}),!t&&ht.set(e,r)}function Un(e,a){if(!e||!(e instanceof HTMLElement))return;let t=ht.get(e);t&&(e.style[a]=t[a])}const _=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function je(e,a){if(!e)return null;const t=window.getComputedStyle(e),r=t.transform||t.webkitTransform||t.mozTransform;let o=r.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[_(a)?13:12]):(o=r.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[_(a)?5:4]):null)}function zn(e){return 8*(Math.log(e+1)-2)}function Ae(e,a){if(!e)return()=>{};const t=e.style.cssText;return Object.assign(e.style,a),()=>{e.style.cssText=t}}function Fn(...e){return(...a)=>{for(const t of e)typeof t=="function"&&t(...a)}}const D={DURATION:.5,EASE:[.32,.72,0,1]},gt=.4,Vn=.25,Wn=100,wt=8,ce=16,_e=26,Pe="vaul-dragging";function xt(e){const a=c.useRef(e);return c.useEffect(()=>{a.current=e}),c.useMemo(()=>(...t)=>a.current==null?void 0:a.current.call(a,...t),[])}function Gn({defaultProp:e,onChange:a}){const t=c.useState(e),[r]=t,o=c.useRef(r),s=xt(a);return c.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),t}function vt({prop:e,defaultProp:a,onChange:t=()=>{}}){const[r,o]=Gn({defaultProp:a,onChange:t}),s=e!==void 0,i=s?e:r,l=xt(t),g=c.useCallback(b=>{if(s){const u=typeof b=="function"?b(e):b;u!==e&&l(u)}else o(b)},[s,e,o,l]);return[i,g]}function Yn({activeSnapPointProp:e,setActiveSnapPointProp:a,snapPoints:t,drawerRef:r,overlayRef:o,fadeFromIndex:s,onSnapPointChange:i,direction:l="bottom",container:g,snapToSequentialPoint:b}){const[p,u]=vt({prop:e,defaultProp:t?.[0],onChange:a}),[d,O]=c.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);c.useEffect(()=>{function x(){O({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",x),()=>window.removeEventListener("resize",x)},[]);const k=c.useMemo(()=>p===t?.[t.length-1]||null,[t,p]),R=c.useMemo(()=>{var x;return(x=t?.findIndex(C=>C===p))!=null?x:null},[t,p]),B=t&&t.length>0&&(s||s===0)&&!Number.isNaN(s)&&t[s]===p||!t,w=c.useMemo(()=>{const x=g?{width:g.getBoundingClientRect().width,height:g.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var C;return(C=t?.map(j=>{const H=typeof j=="string";let I=0;if(H&&(I=parseInt(j,10)),_(l)){const f=H?I:d?j*x.height:0;return d?l==="bottom"?x.height-f:-x.height+f:f}const V=H?I:d?j*x.width:0;return d?l==="right"?x.width-V:-x.width+V:V}))!=null?C:[]},[t,d,g]),M=c.useMemo(()=>R!==null?w?.[R]:null,[w,R]),A=c.useCallback(x=>{var C;const j=(C=w?.findIndex(H=>H===x))!=null?C:null;i(j),L(r.current,{transition:`transform ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,transform:_(l)?`translate3d(0, ${x}
3px, 0)`:`translate3d(${x}px, 0, 0)`}),w&&j!==w.length-1&&s!==void 0&&j!==s&&j<s?L(o.current,{transition:`opacity ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,opacity:"0"}):L(o.current,{transition:`opacity ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,opacity:"1"}),u(t?.[Math.max(j,0)])},[r.current,t,w,s,o,u]);c.useEffect(()=>{if(p||e){var x;const C=(x=t?.findIndex(j=>j===e||j===p))!=null?x:-1;w&&C!==-1&&typeof w[C]=="number"&&A(w[C])}},[p,e,t,w,A]);function v({draggedDistance:x,closeDrawer:C,velocity:j,dismissible:H}){if(s===void 0)return;const I=l==="bottom"||l==="right"?(M??0)-x:(M??0)+x,V=R===s-1,f=R===0,W=x>0;if(V&&L(o.current,{transition:`opacity ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`}),!b&&j>2&&!W){H?C():A(w[0]);return}if(!b&&j>2&&W&&w&&t){A(w[t.length-1]);return}const U=w?.reduce((P,Z)=>typeof P!="number"||typeof Z!="number"?P:Math.abs(Z-I)<Math.abs(P-I)?Z:P),F=_(l)?window.innerHeight:window.innerWidth;if(j>gt&&Math.abs(x)<F*.4){const P=W?1:-1;if(P>0&&k&&t){A(w[t.length-1]);return}if(f&&P<0&&H&&C(),R===null)return;A(w[R+P]);return}A(U)}function X({draggedDistance:x}){if(M===null)return;const C=l==="bottom"||l==="right"?M-x:M+x;(l==="bottom"||l==="right")&&C<w[w.length-1]||(l==="top"||l==="left")&&C>w[w.length-1]||L(r.current,{transform:_(l)?`translate3d(0, ${C}px, 0)`:`translate3d(${C}px, 0, 0)`})}function ne(x,C){if(!t||typeof R!="number"||!w||s===void 0)return null;const j=R===s-1;if(R>=s&&C)return 0;if(j&&!C)return 1;if(!B&&!j)return null;const I=j?R+1:R-1,V=j?w[I]-w[I-1]:w[I+1]-w[I],f=x/Math.abs(V);return j?1-f:f}return{isLastSnapPoint:k,activeSnapPoint:p,shouldFade:B,getPercentageDragged:ne,setActiveSnapPoint:u,activeSnapPointIndex:R,onRelease:v,onDrag:X,snapPointsOffset:w}}const qn=()=>()=>{};function Kn(){const{direction:e,isOpen:a,shouldScaleBackground:t,setBackgroundColorOnScale:r,noBodyStyles:o}=be(),s=c.useRef(null),i=N.useMemo(()=>document.body.style.backgroundColor,[]);function l(){return(window.innerWidth-_e)/window.innerWidth}c.useEffect(()=>{if(a&&t){s.current&&clearTimeout(s.current);const g=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!g)return;Fn(r&&!o?Ae(document.body,{background:"black"}):qn,Ae(g,{transformOrigin:_(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${D.DURATION}s`,transitionTimingFunction:`cubic-bezier(${D.EASE.join(",")})`}));const b=Ae(g,{borderRadius:`${wt}px`,overflow:"hidden",..._(e)?{transform:`scale(${l()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${l()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{b(),s.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},D.DURATION*1e3)}}},[a,t,i])}let ve=null;function Xn({isOpen:e,modal:a,nested:t,hasBeenOpened:r,preventScrollRestoration:o,noBodyStyles:s}){const[i,l]=c.useState(()=>typeof window<"u"?window.location.href:""),g=c.useRef(0),b=c.useCallback(()=>{if(Ke()&&ve===null&&e&&!s){ve={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:u,innerHeight:d}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-g.current}px`,left:`${-u}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const O=d-window.innerHeight;O&&g.current>=d&&(document.body.style.top=`${-(g.current+O)}px`)}),300)}},[e]),p=c.useCallback(()=>{if(Ke()&&ve!==null&&!s){const u=-parseInt(document.body.style.top,10),d=-parseInt(document.body.style.left,10);Object.assign(document.body.style,ve),window.requestAnimationFrame(()=>{if(o&&i!==window.location.href){l(window.location.href);return}window.scrollTo(d,u)}),ve=null}},[i]);return c.useEffect(()=>{function u(){g.current=window.scrollY}return u(),window.addEventListener("scroll",u),()=>{window.removeEventListener("scroll",u)}},[]),c.useEffect(()=>{if(a)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||p()}},[a,p]),c.useEffect(()=>{t||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&b(),a||window.setTimeout(()=>{p()},500)):p())},[e,r,i,a,t,b,p]),{restorePositionSetting:p}}function Zn({open:e,onOpenChange:a,children:t,onDrag:r,onRelease:o,snapPoints:s,shouldScaleBackgroun
3d:i=!1,setBackgroundColorOnScale:l=!0,closeThreshold:g=Vn,scrollLockTimeout:b=Wn,dismissible:p=!0,handleOnly:u=!1,fadeFromIndex:d=s&&s.length-1,activeSnapPoint:O,setActiveSnapPoint:k,fixed:R,modal:B=!0,onClose:w,nested:M,noBodyStyles:A=!1,direction:v="bottom",defaultOpen:X=!1,disablePreventScroll:ne=!0,snapToSequentialPoint:x=!1,preventScrollRestoration:C=!1,repositionInputs:j=!0,onAnimationEnd:H,container:I,autoFocus:V=!1}){var f,W;const[U=!1,F]=vt({defaultProp:X,prop:e,onChange:h=>{a?.(h),!h&&!M&&At(),setTimeout(()=>{H?.(h)},D.DURATION*1e3),h&&!B&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),h||(document.body.style.pointerEvents="auto")}}),[P,Z]=c.useState(!1),[ee,se]=c.useState(!1),[m,G]=c.useState(!1),z=c.useRef(null),ie=c.useRef(null),ue=c.useRef(null),Ee=c.useRef(null),pe=c.useRef(null),he=c.useRef(!1),Re=c.useRef(null),Te=c.useRef(0),de=c.useRef(!1),Ie=c.useRef(!X),Be=c.useRef(0),y=c.useRef(null),He=c.useRef(((f=y.current)==null?void 0:f.getBoundingClientRect().height)||0),Ue=c.useRef(((W=y.current)==null?void 0:W.getBoundingClientRect().width)||0),De=c.useRef(0),Rt=c.useCallback(h=>{s&&h===ge.length-1&&(ie.current=new Date)},[]),{activeSnapPoint:Tt,activeSnapPointIndex:fe,setActiveSnapPoint:ze,onRelease:Dt,snapPointsOffset:ge,onDrag:Ot,shouldFade:Fe,getPercentageDragged:Mt}=Yn({snapPoints:s,activeSnapPointProp:O,setActiveSnapPointProp:k,drawerRef:y,fadeFromIndex:d,overlayRef:z,onSnapPointChange:Rt,direction:v,container:I,snapToSequentialPoint:x});_n({isDisabled:!U||ee||!B||m||!P||!j||!ne});const{restorePositionSetting:At}=Xn({isOpen:U,modal:B,nested:M??!1,hasBeenOpened:P,preventScrollRestoration:C,noBodyStyles:A});function ye(){return(window.innerWidth-_e)/window.innerWidth}function Pt(h){var E,T;!p&&!s||y.current&&!y.current.contains(h.target)||(He.current=((E=y.current)==null?void 0:E.getBoundingClientRect().height)||0,Ue.current=((T=y.current)==null?void 0:T.getBoundingClientRect().width)||0,se(!0),ue.current=new Date,ft()&&window.addEventListener("touchend",()=>he.current=!1,{once:!0}),h.target.setPointerCapture(h.pointerId),Te.current=_(v)?h.pageY:h.pageX)}function Ve(h,E){var T;let S=h;const $=(T=window.getSelection())==null?void 0:T.toString(),q=y.current?je(y.current,v):null,Y=new Date;if(S.tagName==="SELECT"||S.hasAttribute("data-vaul-no-drag")||S.closest("[data-vaul-no-drag]"))return!1;if(v==="right"||v==="left")return!0;if(ie.current&&Y.getTime()-ie.current.getTime()<500)return!1;if(q!==null&&(v==="bottom"?q>0:q<0))return!0;if($&&$.length>0)return!1;if(pe.current&&Y.getTime()-pe.current.getTime()<b&&q===0||E)return pe.current=Y,!1;for(;S;){if(S.scrollHeight>S.clientHeight){if(S.scrollTop!==0)return pe.current=new Date,!1;if(S.getAttribute("role")==="dialog")return!0}S=S.parentNode}return!0}function $t(h){if(y.current&&ee){const E=v==="bottom"||v==="right"?1:-1,T=(Te.current-(_(v)?h.pageY:h.pageX))*E,S=T>0,$=s&&!p&&!S;if($&&fe===0)return;const q=Math.abs(T),Y=document.querySelector("[data-vaul-drawer-wrapper]"),ae=v==="bottom"||v==="top"?He.current:Ue.current;let J=q/ae;const le=Mt(q,S);if(le!==null&&(J=le),$&&J>=1||!he.current&&!Ve(h.target,S))return;if(y.current.classList.add(Pe),he.current=!0,L(y.current,{transition:"none"}),L(z.current,{transition:"none"}),s&&Ot({draggedDistance:T}),S&&!s){const te=zn(T),Ne=Math.min(te*-1,0)*E;L(y.current,{transform:_(v)?`translate3d(0, ${Ne}px, 0)`:`translate3d(${Ne}px, 0, 0)`});return}const re=1-J;if((Fe||d&&fe===d-1)&&(r?.(h,J),L(z.current,{opacity:`${re}`,transition:"none"},!0)),Y&&z.current&&i){const te=Math.min(ye()+J*(1-ye()),1),Ne=8-J*8,Ge=Math.max(0,14-J*14);L(Y,{borderRadius:`${Ne}px`,transform:_(v)?`scale(${te}) translate3d(0, ${Ge}px, 0)`:`scale(${te}) translate3d(${Ge}px, 0, 0)`,transition:"none"},!0)}if(!s){const te=q*E;L(y.current,{transform:_(v)?`translate3d(0, ${te}px, 0)`:`translate3d(${te}px, 0, 0)`})}}}c.useEffect(()=>{window.requestAnimationFrame(()=>{Ie.current=!0})},[]),c.useEffect(()=>{var h;function E(){if(!y.current||!j)return;const T=document.activeElement;if($e(T)||de.current){var S;
3const $=((S=window.visualViewport)==null?void 0:S.height)||0,q=window.innerHeight;let Y=q-$;const ae=y.current.getBoundingClientRect().height||0,J=ae>q*.8;De.current||(De.current=ae);const le=y.current.getBoundingClientRect().top;if(Math.abs(Be.current-Y)>60&&(de.current=!de.current),s&&s.length>0&&ge&&fe){const re=ge[fe]||0;Y+=re}if(Be.current=Y,ae>$||de.current){const re=y.current.getBoundingClientRect().height;let te=re;re>$&&(te=$-(J?le:_e)),R?y.current.style.height=`${re-Math.max(Y,0)}px`:y.current.style.height=`${Math.max(te,$-le)}px`}else Tn()||(y.current.style.height=`${De.current}px`);s&&s.length>0&&!de.current?y.current.style.bottom="0px":y.current.style.bottom=`${Math.max(Y,0)}px`}}return(h=window.visualViewport)==null||h.addEventListener("resize",E),()=>{var T;return(T=window.visualViewport)==null?void 0:T.removeEventListener("resize",E)}},[fe,s,ge]);function we(h){_t(),w?.(),h||F(!1),setTimeout(()=>{s&&ze(s[0])},D.DURATION*1e3)}function We(){if(!y.current)return;const h=document.querySelector("[data-vaul-drawer-wrapper]"),E=je(y.current,v);L(y.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`}),L(z.current,{transition:`opacity ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,opacity:"1"}),i&&E&&E>0&&U&&L(h,{borderRadius:`${wt}px`,overflow:"hidden",..._(v)?{transform:`scale(${ye()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ye()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${D.DURATION}s`,transitionTimingFunction:`cubic-bezier(${D.EASE.join(",")})`},!0)}function _t(){!ee||!y.current||(y.current.classList.remove(Pe),he.current=!1,se(!1),Ee.current=new Date)}function Lt(h){if(!ee||!y.current)return;y.current.classList.remove(Pe),he.current=!1,se(!1),Ee.current=new Date;const E=je(y.current,v);
3if(!h||!Ve(h.target,!1)||!E||Number.isNaN(E)||ue.current===null)return;const T=Ee.current.getTime()-ue.current.getTime(),S=Te.current-(_(v)?h.pageY:h.pageX),$=Math.abs(S)/T;if($>.05&&(G(!0),setTimeout(()=>{G(!1)},200)),s){Dt({draggedDistance:S*(v==="bottom"||v==="right"?1:-1),closeDrawer:we,velocity:$,dismissible:p}),o?.(h,!0);return}if(v==="bottom"||v==="right"?S>0:S<0){We(),o?.(h,!0);return}if($>gt){we(),o?.(h,!1);return}var q;const Y=Math.min((q=y.current.getBoundingClientRect().height)!=null?q:0,window.innerHeight);var ae;const J=Math.min((ae=y.current.getBoundingClientRect().width)!=null?ae:0,window.innerWidth),le=v==="left"||v==="right";if(Math.abs(E)>=(le?J:Y)*g){we(),o?.(h,!1);return}o?.(h,!0),We()}c.useEffect(()=>(U&&(L(document.documentElement,{scrollBehavior:"auto"}),ie.current=new Date),()=>{Un(document.documentElement,"scrollBehavior")}),[U]);function It(h){const E=h?(window.innerWidth-ce)/window.innerWidth:1,T=h?-ce:0;Re.current&&window.clearTimeout(Re.current),L(y.current,{transition:`transform ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,transform:_(v)?`scale(${E}) translate3d(0, ${T}px, 0)`:`scale(${E}) translate3d(${T}px, 0, 0)`}),!h&&y.current&&(Re.current=setTimeout(()=>{const S=je(y.current,v);L(y.current,{transition:"none",transform:_(v)?`translate3d(0, ${S}px, 0)`:`translate3d(${S}px, 0, 0)`})},500))}function Bt(h,E){if(E<0)return;const T=(window.innerWidth-ce)/window.innerWidth,S=T+E*(1-T),$=-ce+E*ce;L(y.current,{transform:_(v)?`scale(${S}) translate3d(0, ${$}px, 0)`:`scale(${S}) translate3d(${$}px, 0, 0)`,transition:"none"})}function Ht(h,E){const T=_(v)?window.innerHeight:window.innerWidth,S=E?(T-ce)/T:1,$=E?-ce:0;E&&L(y.current,{transition:`transform ${D.DURATION}s cubic-bezier(${D.EASE.join(",")})`,transform:_(v)?`scale(${S}) translate3d(0, ${$}px, 0)`:`scale(${S}) translate3d(${$}px, 0, 0)`})}return c.useEffect(()=>{B||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[B]),c.createElement(Wt,{defaultOpen:X,onOpenChange:h=>{!p&&!h||(h?Z(!0):we(!0),F(h))},open:U},c.createElement(dt.Provider,{value:{activeSnapPoint:Tt,snapPoints:s,setActiveSnapPoint:ze,drawerRef:y,overlayRef:z,onOpenChange:a,onPress:Pt,onRelease:Lt,onDrag:$t,dismissible:p,shouldAnimate:Ie,handleOnly:u,isOpen:U,isDragging:ee,shouldFade:Fe,closeDrawer:we,onNestedDrag:Bt,onNestedOpenChange:It,onNestedRelease:Ht,keyboardIsOpen:de,modal:B,snapPointsOffset:ge,activeSnapPointIndex:fe,direction:v,shouldScaleBackground:i,setBackgroundColorOnScale:l,noBodyStyles:A,container:I,autoFocus:V}},t))}const bt=c.forwardRef(function({...e},a){const{overlayRef:t,snapPoints:r,onRelease:o,shouldFade:s,isOpen:i,modal:l,shouldAnimate:g}=be(),b=pt(a,t),p=r&&r.length>0;if(!l)return null;const u=c.useCallback(d=>o(d),[o]);return c.createElement(qt,{onMouseUp:u,ref:b,"data-vaul-overlay":"","data-vaul-snap-points":i&&p?"true":"false","data-vaul-snap-points-overlay":i&&s?"true":"false","data-vaul-animate":g?.current?"true":"false",...e})});bt.displayName="Drawer.Overlay";const yt=c.forwardRef(function({onPointerDownOutside:e,style:a,onOpenAutoFocus:t,...r},o){const{drawerRef:s,onPress:i,onRelease:l,onDrag:g,keyboardIsOpen:b,snapPointsOffset:p,activeSnapPointIndex:u,modal:d,isOpen:O,direction:k,snapPoints:R,container:B,handleOnly:w,shouldAnimate:M,autoFocus:A}=be(),[v,X]=c.useState(!1),ne=pt(o,s),x=c.useRef(null),C=c.useRef(null),j=c.useRef(!1),H=R&&R.length>0;Kn();const I=(f,W,U=0)=>{if(j.current)return!0;const F=Math.abs(f.y),P=Math.abs(f.x),Z=P>F,ee=["bottom","right"].includes(W)?1:-1;if(W==="left"||W==="right"){if(!(f.x*ee<0)&&P>=0&&P<=U)return Z}else if(!(f.y*ee<0)&&F>=0&&F<=U)return!Z;return j.current=!0,!0};c.useEffect(()=>{H&&window.requestAnimationFrame(()=>{X(!0)})},[]);function V(f){x.current=null,j.current=!1,l(f)}return c.createElement(Yt,{"data-vaul-drawer-direction":k,"data-vaul-drawer":"","data-vaul-delayed-snap-points":v?"true":"false","data-vaul-snap-points":O&&H?"true":"false","data-vaul-custom-container":B?"true":"false","data-vaul-animate":M?.current?"true":"false",...r,ref:ne,style:p&&p.length>0?{"--snap-point-height":`${p[u??0]}px`,...a}:a,onPointerDown:f=>{w||(r.onPointerDown==null||r.onPointerDown.call(r,f),x.current={x:f.pageX,y:f.pageY},i(f))},onOpenAutoFocus:f=>{t?.(f),A||f.preventDefault()},onPointerDownOutside:f=>{if(e?.(f),!d||f.defaultPrevented){f.preventDefault();return}b.current&&(b.current=!1)},onFocusOutside:f=>{if(!d){f.preventDefault();return}},onPointerMove:f=>{if(C.current=f,w||(r.onPointerMove==null||r.onPointerMove.call(r,f),
3!x.current))return;const W=f.pageY-x.current.y,U=f.pageX-x.current.x,F=f.pointerType==="touch"?10:2;I({x:U,y:W},k,F)?g(f):(Math.abs(U)>F||Math.abs(W)>F)&&(x.current=null)},onPointerUp:f=>{r.onPointerUp==null||r.onPointerUp.call(r,f),x.current=null,j.current=!1,l(f)},onPointerOut:f=>{r.onPointerOut==null||r.onPointerOut.call(r,f),V(C.current)},onContextMenu:f=>{r.onContextMenu==null||r.onContextMenu.call(r,f),C.current&&V(C.current)}})});yt.displayName="Drawer.Content";const Jn=250,Qn=120,ea=c.forwardRef(function({preventCycle:e=!1,children:a,...t},r){const{closeDrawer:o,isDragging:s,snapPoints:i,activeSnapPoint:l,setActiveSnapPoint:g,dismissible:b,handleOnly:p,isOpen:u,onPress:d,onDrag:O}=be(),k=c.useRef(null),R=c.useRef(!1);function B(){if(R.current){A();return}window.setTimeout(()=>{w()},Qn)}function w(){if(s||e||R.current){A();return}if(A(),!i||i.length===0){b||o();return}if(l===i[i.length-1]&&b){o();return}const X=i.findIndex(x=>x===l);if(X===-1)return;const ne=i[X+1];g(ne)}function M(){k.current=window.setTimeout(()=>{R.current=!0},Jn)}function A(){k.current&&window.clearTimeout(k.current),R.current=!1}return c.createElement("div",{onClick:B,onPointerCancel:A,onPointerDown:v=>{p&&d(v),M()},onPointerMove:v=>{p&&O(v)},ref:r,"data-vaul-drawer-visible":u?"true":"false","data-vaul-handle":"","aria-hidden":"true",...t},c.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},a))});ea.displayName="Drawer.Handle";function ta(e){const a=be(),{container:t=a.container,...r}=e;return c.createElement(Gt,{container:t,...r})}const Q={Root:Zn,Content:yt,Overlay:bt,Trigger:zt,Portal:ta,Close:Ft,Title:Vt,Description:Kt},Nt=({shouldScaleBackground:e=!0,...a})=>n.jsx(Q.Root,{shouldScaleBackground:e,...a});Nt.displayName="Drawer";const na=Q.Trigger,aa=Q.Portal,ra=Q.Close,kt=N.forwardRef(({className:e,...a},t)=>n.jsx(Q.Overlay,{ref:t,className:K("fixed inset-0 z-50 bg-black/80",e),...a}));kt.displayName=Q.Overlay.displayName;const jt=N.forwardRef(({className:e,children:a,...t},r)=>n.jsxs(aa,{children:[n.jsx(kt,{}),n.jsxs(Q.Content,{ref:r,className:K("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...t,children:[n.jsx("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),a]})]}));jt.displayName="DrawerContent";const St=({className:e,...a})=>n.jsx("div",{className:K("grid gap-1.5 p-4 text-center sm:text-left",e),...a});St.displayName="DrawerHeader";const Ct=N.forwardRef(({className:e,...a},t)=>n.jsx(Q.Title,{ref:t,className:K("text-lg font-semibold leading-none tracking-tight",e),...a}));Ct.displayName=Q.Title.displayName;const oa=N.forwardRef(({className:e,...a},t)=>n.jsx(Q.Description,{ref:t,className:K("text-sm text-muted-foreground",e),...a}));oa.displayName=Q.Description.displayName;const Et=N.forwardRef(({className:e,label:a="Chiudi",...t},r)=>n.jsxs(oe,{ref:r,type:"button",variant:"ghost",size:"icon","aria-label":a,"data-overlay-close":!0,className:K("absolute right-4 top-4 h-8 w-8 rounded-sm opacity-70 hover:opacity-100",e),...t,children:[n.jsx(Xt,{className:"h-4 w-4","aria-hidden":!0}),n.jsx("span",{className:"sr-only",children:a})]}));Et.displayName="OverlayCloseButton";const sa={lat:40.92,lng:12.95};function ia(e,a){const t=l=>l*Math.PI/180,o=t(a.lat-e.lat),s=t(a.lng-e.lng),i=Math.sin(o/2)**2+Math.cos(t(e.lat))*Math.cos(t(a.lat))*Math.sin(s/2)**2;return 2*6371*Math.asin(Math.sqrt(i))}function la(e,a,t){const[[r,o],[s,i]]=e;return t>=r&&t<=s&&a>=o&&a<=i}async function ca(e){const a=e.now??Date.now,t=e.cacheTtlMs??6e4,r=(s,i)=>{const l=ia({lat:s,lng:i},sa);cn({distanceKm:l,onShowArea:()=>e.getMapApi()?.fitBounds(e.archipelagoBounds,{padding:60})})},o=e.outOfAreaCache.current;if(o&&a()-o.at<t)return r(o.lat,o.lng),{kind:"out_of_area",lat:o.lat,lng:o.lng,cached:!0};try{const s=await e.getPosition(),{latitude:i,longitude:l,accuracyMeters:g}=s;return la(e.panBounds,i,l)?(e.outOfAreaCache.current=null,e.getMapApi()?.showUserLocation({lat:i,lng:l,accuracy:g}),{kind:"in_area",lat:i,lng:l,accuracy:g}):(e.outOfAreaCache.current={lat:i,lng:l,at:a()},r(i,l),{kind:"out_of_area",lat:i,lng:l,cached:!1})}catch(s){const i=s instanceof Error?s.message:String(s);let l;return i==="geolocation_1"?l=1:i==="geolocation_2"?l=2:i==="geolocation_3"?l=3:i==="geolocation_unavailable"&&(l=2),ct({code:l}),{kind:"error",code:l,message:i}}}const Qe="In questo punto è possibile conferire fino a 50 litri di rifiuti dopo aver effettuato il ticket ambientale.",ua="#2A9D8F",da="#0077B6",fa='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5"/><path d="M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12"/><path d="m14 16-3 3 3 3"/><path d="M8.293 13.596 7.196 9.5 3.1 10.598"/><path d="m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843"/><path d="m13.378 9.633 4.096 1.098 1.097-4.096"/></svg>',ma='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 22V8"/><path d="M5 12H2a10 10 0 0 0 20 0h-3"/><circle cx="12" cy="5" r="3"/></svg>',pa=[{id:"scarico-rifiuti",title:"Punto di scarico rifiuti a terra",de
3scription:Qe,lat:40.893886,lng:12.962098},{id:"scarico-rifiuti-alternativo",title:"Punto di scarico rifiuti a terra",description:Qe,lat:40.89533,lng:12.965553},{id:"pontile-blu-giancos",title:"Pontile Blu Giancos",description:"I proprietari di imbarcazioni e tender che hanno regolarmente pagato il ticket ambientale possono attraccare gratuitamente presso il pontile blu. Tale possibilità è già inclusa nel titolo abilitativo e consente di effettuare comodamente spesa, shopping, cena e altre attività a terra.",lat:40.895708,lng:12.959369,color:da,iconSvg:ma,glyph:"⚓",legendKey:"bluePier"}];function et(e){return e.replace(/[&<>"']/g,a=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[a])}function ha(e,a){if(!a)return{title:e.title,description:e.description};const t=`mappa.servicePoints.${e.id}`;return{title:a(`${t}.title`,{defaultValue:e.title}),description:a(`${t}.description`,{defaultValue:e.description})}}function ga(e=pa,a){return e.filter(t=>typeof t.lat=="number"&&typeof t.lng=="number").map(t=>{const r=ha(t,a),o=t.legendKey??"wastePoint",s=t.legendKey==="bluePier"?"Pontile Blu":"Scarico rifiuti";return{id:t.id,lat:t.lat,lng:t.lng,title:r.title,category:"Servizi",color:t.color??ua,variant:"pin",iconSvg:t.iconSvg??fa,label:a?a(`mappa.legend.items.${o}`,{defaultValue:s}):s,glyph:t.glyph??"♻",popupHtml:`<div style="font-family:inherit;max-width:260px;line-height:1.4"><strong style="display:block;font-size:14px;margin-bottom:4px">${et(r.title)}</strong><span style="font-size:13px">${et(r.description)}</span></div>`}})}const tt=[[12.78,40.85],[13.1,40.99]],nt=[[12.6,40.7],[13.25,41.1]];function fr(){const{t:e}=me(),a=dn(),[t,r]=N.useState(40),[o,s]=N.useState([]),[i,l]=N.useState(!0),[g,b]=N.useState({}),[p,u]=N.useState(!1),[d,O]=N.useState("outdoors"),k=N.useRef(null),[R,B]=N.useState(null),[w,M]=N.useState(!1),A=!1,[v,X]=N.useState(!1),[ne,x]=N.useState(null),C=N.useRef(null),j=N.useMemo(()=>ga(void 0,e),[e]);N.useEffect(()=>{if(!a){r(40);return}const m=parseInt(window.getComputedStyle(document.documentElement).getPropertyValue("--safe-area-inset-bottom")||"0",10);r((isNaN(m)?0:m)+56)},[a]),N.useEffect(()=>{(async()=>{const G=(await Zt.from("marine_zones").select("*").order("display_order",{ascending:!0})).data??[];s(G),b(Object.fromEntries(G.map(z=>[z.id,Se.has(z.slug)]))),l(!1)})()},[]);const H=N.useMemo(()=>o.filter(m=>g[m.id]).slice().sort((m,G)=>m.display_order-G.display_order).map(m=>{const G=ut(m,e),z=Se.has(m.slug);return{id:m.id,data:m.geometry,fillColor:z?"#0077B6":m.color,fillOpacity:z?.12:Number(m.opacity),strokeColor:z?"#023E8A":m.stroke_color??m.color,strokeWidth:z?2.5:Number(m.stroke_width),title:G.name,description:G.description??void 0,hatchPattern:m.kind==="excluded",zIndex:z?0:m.kind==="info"?10:m.kind==="protected_area"?20:30}}),[o,g,e]),I=N.useCallback(m=>{b(G=>({...G,[m]:!G[m]}))},[]),V=N.useCallback(()=>{b(Object.fromEntries(o.map(m=>[m.id,Se.has(m.slug)])))},[o]),f=N.useCallback(()=>{b(Object.fromEntries(o.map(m=>[m.id,!1])))}
3,[o]),W=N.useCallback((m,G)=>{b(z=>{const ie={...z};for(const ue of o)ue.kind===m&&(ie[ue.id]=G);return ie})},[o]),U=o.map(m=>({id:m.id,slug:m.slug,name:m.name,description:m.description,color:m.color,opacity:Number(m.opacity),stroke_color:m.stroke_color,kind:m.kind})),F=o.filter(m=>g[m.id]).length,P=o.length,Z=P>0&&F===0,ee=N.useCallback(async()=>{if(!w){M(!0);try{await ca({getPosition:()=>un(1e4),getMapApi:()=>k.current,panBounds:nt,archipelagoBounds:tt,outOfAreaCache:C})}finally{M(!1)}}},[w]),se=N.useCallback(m=>{ct(m)},[]);return n.jsxs(Jt,{children:[n.jsx("a",{href:"#map-layers-trigger",className:"sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-50 focus:rounded-md focus:bg-foreground focus:px-3 focus:py-2 focus:text-sm focus:text-background",children:"Salta ai controlli della mappa"}),n.jsx("h1",{className:"sr-only",children:"Mappa di Ponza e Palmarola"}),n.jsx("div",{className:"flex flex-col md:h-[calc(100dvh-4rem)] h-[calc(100dvh-4rem-3.5rem)] pb-[env(safe-area-inset-bottom)]",children:n.jsx("div",{className:"relative flex flex-1 overflow-hidden",children:n.jsxs("div",{className:"relative flex-1",children:[n.jsx("p",{id:"map-instructions",className:"sr-only",children:"Mappa interattiva di Ponza e Palmarola. Usa due dita per spostare e zoomare. Tocca le aree colorate per leggere informazioni sull'area marina protetta. Premi Tab per spostarti tra i controlli."}),n.jsx(Qt,{markers:j,styleVariant:d,bounds:tt,maxBounds:nt,minZoom:11,maxZoom:17,pitch:0,geoJsonLayers:H,ariaLabel:"Mappa interattiva di Ponza e Palmarola",ariaDescribedBy:"map-instructions",height:"100%",hideNativeGeolocate:!0,hideScale:!0,padding:a?{top:40,bottom:t,left:40,right:40}:40,onReady:m=>{k.current=m,B(m)},onGeolocateError:se,onMapClick:void 0}),n.jsxs("div",{className:"pointer-events-auto absolute left-2 top-2 z-10 flex max-w-[calc(100vw-4.5rem)] items-center gap-1.5 sm:max-w-[calc(100vw-5rem)] lg:left-4 lg:top-4 lg:max-w-none",children:[n.jsx(xn,{value:d,onChange:O}),n.jsx(Sn,{}),n.jsxs(st,{children:[n.jsx(it,{asChild:!0,children:n.jsxs("button",{type:"button",className:"pointer-events-auto inline-flex h-7 w-7 shrink-0 items-center justify-center gap-1 rounded-full bg-amber-100/90 px-0 text-[11px] font-semibold tracking-tight text-amber-950 shadow-sm ring-1 ring-amber-300/70 backdrop-blur transition hover:bg-amber-200/95 focus:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 sm:w-auto sm:px-2 sm:text-xs dark:bg-amber-900/85 dark:text-amber-50 dark:ring-amber-700/70 dark:hover:bg-amber-800/90","aria-label":e("mappa.disclaimer.triggerAriaSources"),children:[n.jsx(Ce,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),n.jsx("span",{className:"hidden truncate sm:inline",children:e("mappa.disclaimer.fontiCta")})]})}),n.jsxs(lt,{align:"start",sideOffset:8,className:"w-[min(92vw,360px)] p-4 text-sm",children:[n.jsxs("div",{className:"mb-2 flex items-start gap-2",children:[n.jsx(Ce,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600","aria-hidden":!0}),n.jsx("p",{className:"font-semibold leading-snug",children:e("mappa.disclaimer.headline")})]}),n.jsx("p",{className:"mb-3 text-[13px] leading-relaxed text-muted-foreground",children:e("mappa.disclaimer.body")}),n.jsxs("ul",{className:"space-y-2 text-[13px]",children:[n.jsxs("li",{children:[n.jsxs("a",{href:"https://www.guardiacostiera.gov.it/ponza",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 font-medium text-primary underline-offset-2 hover:underline",children:[e("mappa.disclaimer.sources.capitaneria.label"),n.jsx(Ye,{className:"h-3.5 w-3.5","aria-hidden":!0})]}),n.jsx("span",{className:"block text-[12px] text-muted-foreground",children:e("mappa.disclaimer.sources.capitaneria.hint")})]}),n.jsxs("li",{children:[n.jsxs("a",{href:"https://www.guardiacostiera.gov.it/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 font-medium text-primary underline-offset-2 hover:underline",children:[e("mappa.disclaimer.sources.guardiaCostiera.label"),n.jsx(Ye,{className:"h-3.5 w-3.5","aria-hidden":!0})]}),n.jsx("span",{className:"block text-[12px] text-muted-foreground",children:e("mappa.disclaimer.sources.guardiaCostiera.hint")})]})]}),n.jsxs("div",{className:"mt-3 border-t pt-2 text-[11px] leading-relaxed text-muted-foreground",children:["Mappa ©"," ",n.jsx("a",{href:"https://www.mapbox.com/about/maps/",target:"_blank",rel:"noopener noreferrer",className:"underline-offset-2 hover:underline",children:"Mapbox"})," ","©"," ",n.jsx("a",{href:"https://www.openstreetmap.org/about/",target:"_blank",rel:"noopener noreferrer",className:"underline-offset-2 hover:underline",children:"OpenStreetMap"})," ","·"," ",n.jsx("a",{href:"https://www.mapbox.com/map-feedback/",target:"_blank",rel:"noopener noreferrer",className:"underline-offset-2 hover:underline",children:"Improve this map"})]})]})]})]}),n.jsx("div",{className:"pointer-events-auto absolute inset-x-2 top-12 z-10 lg:inset-x-4 lg:top-16",children:n.jsx(ln,{})}),n.jsxs("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:[F," di ",P," aree marine visibili"]}),i&&n.jsx("div",{className:"pointer-events-none absolute inset-0 grid place-items-center bg-background/40 backdrop-blur-sm",children:n.jsx("div",{className:"rounded-full bg-background/95 px-4 py-2 text-sm font-medium shadow-lg",children:"Caricamento mappa…"})}),!i&&Z&&n.jsx("div",{className:"absolute left-1/2 top-12 z-10 -translate-x-1/2 lg:top-16",children:n.jsxs("div",{className:"flex items-center gap-2 rounded-full bg-background/95 px-3 py-1.5 text-xs shadow-lg ring-1 ring-border backdrop-blur lg:px-4 lg:py-2 lg:text-sm",children:[n.jsx("span",{children:"Tutti i layer nascosti"}),n.jsx(oe,{size:"sm",variant:"default",className:"h-7 px-2 text-xs",onClick:V,children:"Mostra default"})]})}),n.jsxs("div",{className:"pointer-events-none absolute inset-x-2 z-10 flex flex-nowrap items-end justify-between gap-1.5 sm:gap-2 lg:inset-x-4",style:{bottom:"calc(0.5rem + env(safe-area-inset-bottom))"},children:[n.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 sm:gap-2",children:[n.jsx(En,{className:"shrink-0"}),n.jsx(wn,{mapApi:R,className:"shrink-0"})]}),n.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[A,n.jsxs(Nt,{open:p,onOpenChange:u,children:[n.jsx(na,{asChild:!0,children:n.jsxs(oe,{id:"map-layers-trigger",type:"button",size:"sm",className:"pointer-events-auto h-8 shrink-0 gap-1.5 rounded-full px-2 text-xs font-semibold shadow-lg ring-1 ring-border sm:px-3",children:[n.jsx(fn,{className:"h-3.5 w-3.5","aria-hidden":!0}),n.jsx("span",{className:"sr-only sm:not-sr-only",children:e("mappa.layers.triggerLabel")}),P>0&&n.jsxs("span",{className:"inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-background px-1 text-[10px] font-bold leading-none text-foreground tabular-nums",children:[F,"/",P]})]})}),n.jsxs(jt,{className:"max-h-[85dvh]",children:[n.jsxs(St,{className:"flex flex-row items-center justify-between text-left",children:[n.jsx(Ct,{children:"Layer mappa"}),n.jsx(ra,{asChild:!0,children:n.jsx(Et,{label:"Chiudi layer",className:"static h-9 w-9 rounded-full"})})]}),n.jsxs("div",{className:"overflow-y-auto px-4 pb-6",children:[n.jsx(yn,{zones:U,enabledZones:g,onToggleZone:I,onShowAll:V,onHideAll:f,onToggleGroup:W}),n.jsx(oe,{type:"button",className:"mt-5 h-12 w-full text-base",onClick:()=>u(!1),children:"Mostra mappa"})]})]})]}),n.jsx(oe,{type:"button",size:"sm",variant:"secondary",onClick:ee,disabled:w,"aria-label":"Mostra la mia posizione sulla mappa",className:"pointer-events-auto h-8 w-8 shrink-0 rounded-full p-0 shadow-lg ring-1 ring-border",children:n.jsx(pn,{className:"h-4 w-4"+(w?" animate-pulse":""),"aria-hidden":!0})})]})]})]})})})]})}export{fr as component};

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.