ahoy_analytics 0.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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +163 -0
- data/Rakefile +6 -0
- data/app/assets/ahoy_analytics/build/assets/Combination-BpSXUjp9.js +41 -0
- data/app/assets/ahoy_analytics/build/assets/analytics-5KyfCxh6.css +1 -0
- data/app/assets/ahoy_analytics/build/assets/analytics-dashboard-uOXx8zYZ.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/analytics-layout-ClAft5OU.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/analytics-tracker-B3f8P98z.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/analytics-ui-DMSkNqd6.js +90 -0
- data/app/assets/ahoy_analytics/build/assets/behaviors-panel-ChNGYbdH.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/button-JVCrlR4s.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/cable-DO-7y1-E.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/createLucideIcon-BGzacY2v.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/date-range-dialog-DWDp3cLG.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/details-button-NqKfSGEG.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/devices-panel-cXvlmNBY.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/dialog-path-BBPNlB4Z.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/dropdown-menu-Adj3O5fh.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/filter-dialog-BN-rf4lp.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/index-B1K1NTKT.js +3 -0
- data/app/assets/ahoy_analytics/build/assets/index-BcHeb-Rh.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/index-DzpzLoG4.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/index-vX97OY1J.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/input-e4v_v0kE.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/jsx-runtime-u17CrQMm.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/last-load-context-De5uA95L.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/list-table-ChHEzzF9.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/live-Cp2MHECh.js +2 -0
- data/app/assets/ahoy_analytics/build/assets/locations-panel-BaISRmaQ.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/mercator-BnxX5RzL.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/pages-panel-Bh25L8mP.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/panel-tabs-B2kvGFJx.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/query-context-B-PgE00D.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/remote-details-dialog-DDTcKaM5.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/show-CCRicksg.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/simple-tabs-D6G6Bs0k.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/site-context-BNteYRlR.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/sources-panel-DyB21hxD.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/top-bar-FSiLBjq6.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/top-stats-context-DU15P9jS.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/use-debounce-VBpXQRL8.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/user-context-DbYteluY.js +1 -0
- data/app/assets/ahoy_analytics/build/assets/visitor-globe-BWLDihid.js +4789 -0
- data/app/assets/ahoy_analytics/build/assets/visitor-graph-uKXjLvcu.js +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/brave.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/chrome.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/chromium.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/duckduckgo.svg +2151 -0
- data/app/assets/ahoy_analytics/images/icon/browser/edge.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/fallback.svg +5 -0
- data/app/assets/ahoy_analytics/images/icon/browser/firefox.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/opera.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/safari.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/browser/samsung-internet.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/uc.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/vivaldi.svg +1 -0
- data/app/assets/ahoy_analytics/images/icon/browser/yandex.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/android.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/chrome_os.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/fallback.svg +5 -0
- data/app/assets/ahoy_analytics/images/icon/os/fedora.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/freebsd.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/gnu_linux.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/ios.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/ipad_os.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/mac.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/ubuntu.png +0 -0
- data/app/assets/ahoy_analytics/images/icon/os/windows.png +0 -0
- data/app/assets/stylesheets/ahoy_analytics/application.css +15 -0
- data/app/channels/ahoy_analytics/analytics_channel.rb +9 -0
- data/app/controllers/ahoy_analytics/analytics_controller.rb +9 -0
- data/app/controllers/ahoy_analytics/application_controller.rb +8 -0
- data/app/controllers/ahoy_analytics/assets_controller.rb +46 -0
- data/app/controllers/ahoy_analytics/base_controller.rb +285 -0
- data/app/controllers/ahoy_analytics/behaviors_controller.rb +14 -0
- data/app/controllers/ahoy_analytics/devices_controller.rb +14 -0
- data/app/controllers/ahoy_analytics/export_controller.rb +12 -0
- data/app/controllers/ahoy_analytics/live_controller.rb +9 -0
- data/app/controllers/ahoy_analytics/locations_controller.rb +14 -0
- data/app/controllers/ahoy_analytics/main_graph_controller.rb +10 -0
- data/app/controllers/ahoy_analytics/pages_controller.rb +14 -0
- data/app/controllers/ahoy_analytics/referrers_controller.rb +34 -0
- data/app/controllers/ahoy_analytics/search_terms_controller.rb +47 -0
- data/app/controllers/ahoy_analytics/sources_controller.rb +14 -0
- data/app/controllers/ahoy_analytics/top_stats_controller.rb +13 -0
- data/app/controllers/concerns/ahoy_analytics/set_current_request.rb +17 -0
- data/app/frontend/components/analytics/hex-highlights.tsx +165 -0
- data/app/frontend/components/analytics/hex-land-layer.tsx +61 -0
- data/app/frontend/components/analytics/metric-card.tsx +138 -0
- data/app/frontend/components/analytics/sessions-by-location.tsx +62 -0
- data/app/frontend/components/analytics/visitor-globe.tsx +424 -0
- data/app/frontend/components/ui/accordion.tsx +64 -0
- data/app/frontend/components/ui/alert.tsx +66 -0
- data/app/frontend/components/ui/avatar.tsx +53 -0
- data/app/frontend/components/ui/badge.tsx +46 -0
- data/app/frontend/components/ui/button.tsx +62 -0
- data/app/frontend/components/ui/calendar.tsx +212 -0
- data/app/frontend/components/ui/card.tsx +91 -0
- data/app/frontend/components/ui/checkbox.tsx +32 -0
- data/app/frontend/components/ui/dropdown-menu.tsx +255 -0
- data/app/frontend/components/ui/input.tsx +21 -0
- data/app/frontend/components/ui/label.tsx +22 -0
- data/app/frontend/components/ui/popover.tsx +46 -0
- data/app/frontend/components/ui/select.tsx +183 -0
- data/app/frontend/components/ui/separator.tsx +26 -0
- data/app/frontend/components/ui/sheet.tsx +139 -0
- data/app/frontend/components/ui/sidebar.tsx +726 -0
- data/app/frontend/components/ui/skeleton.tsx +13 -0
- data/app/frontend/components/ui/sonner.tsx +33 -0
- data/app/frontend/components/ui/tooltip.tsx +59 -0
- data/app/frontend/data/countries-110m.json +1 -0
- data/app/frontend/data/globe-data.json +1 -0
- data/app/frontend/entrypoints/analytics-tracker.ts +680 -0
- data/app/frontend/entrypoints/analytics-ui.tsx +26 -0
- data/app/frontend/entrypoints/analytics.css +77 -0
- data/app/frontend/layouts/analytics-layout.tsx +28 -0
- data/app/frontend/lib/cable.ts +13 -0
- data/app/frontend/lib/geocode.ts +65 -0
- data/app/frontend/lib/utils.ts +6 -0
- data/app/frontend/pages/admin/analytics/api.ts +221 -0
- data/app/frontend/pages/admin/analytics/hooks/use-debounce.ts +36 -0
- data/app/frontend/pages/admin/analytics/last-load-context.tsx +29 -0
- data/app/frontend/pages/admin/analytics/lib/base-path.ts +28 -0
- data/app/frontend/pages/admin/analytics/lib/dialog-path.ts +242 -0
- data/app/frontend/pages/admin/analytics/lib/number-formatter.ts +100 -0
- data/app/frontend/pages/admin/analytics/live.tsx +608 -0
- data/app/frontend/pages/admin/analytics/query-context.tsx +61 -0
- data/app/frontend/pages/admin/analytics/show.tsx +40 -0
- data/app/frontend/pages/admin/analytics/site-context.tsx +22 -0
- data/app/frontend/pages/admin/analytics/top-stats-context.tsx +37 -0
- data/app/frontend/pages/admin/analytics/types.ts +161 -0
- data/app/frontend/pages/admin/analytics/ui/analytics-dashboard.tsx +60 -0
- data/app/frontend/pages/admin/analytics/ui/behaviors-panel.tsx +456 -0
- data/app/frontend/pages/admin/analytics/ui/date-range-dialog.tsx +173 -0
- data/app/frontend/pages/admin/analytics/ui/details-button.tsx +33 -0
- data/app/frontend/pages/admin/analytics/ui/devices-panel.tsx +474 -0
- data/app/frontend/pages/admin/analytics/ui/filter-dialog.tsx +558 -0
- data/app/frontend/pages/admin/analytics/ui/list-table.tsx +346 -0
- data/app/frontend/pages/admin/analytics/ui/locations-panel.tsx +566 -0
- data/app/frontend/pages/admin/analytics/ui/pages-panel.tsx +207 -0
- data/app/frontend/pages/admin/analytics/ui/panel-tabs.tsx +65 -0
- data/app/frontend/pages/admin/analytics/ui/remote-details-dialog.tsx +356 -0
- data/app/frontend/pages/admin/analytics/ui/simple-tabs.tsx +54 -0
- data/app/frontend/pages/admin/analytics/ui/sources-panel.tsx +771 -0
- data/app/frontend/pages/admin/analytics/ui/top-bar.tsx +793 -0
- data/app/frontend/pages/admin/analytics/ui/visitor-graph.tsx +891 -0
- data/app/frontend/pages/admin/analytics/user-context.tsx +22 -0
- data/app/frontend/styles/shared.css +156 -0
- data/app/helpers/ahoy_analytics/application_helper.rb +96 -0
- data/app/jobs/ahoy_analytics/application_job.rb +4 -0
- data/app/jobs/ahoy_analytics/update_job.rb +12 -0
- data/app/mailers/ahoy_analytics/application_mailer.rb +6 -0
- data/app/models/ahoy/event/filters.rb +7 -0
- data/app/models/ahoy/event.rb +9 -0
- data/app/models/ahoy/visit/cache_key.rb +15 -0
- data/app/models/ahoy/visit/constants.rb +11 -0
- data/app/models/ahoy/visit/devices.rb +144 -0
- data/app/models/ahoy/visit/export.rb +24 -0
- data/app/models/ahoy/visit/filters.rb +286 -0
- data/app/models/ahoy/visit/imports.rb +36 -0
- data/app/models/ahoy/visit/locations.rb +276 -0
- data/app/models/ahoy/visit/metrics.rb +473 -0
- data/app/models/ahoy/visit/ordering.rb +110 -0
- data/app/models/ahoy/visit/pages.rb +533 -0
- data/app/models/ahoy/visit/pagination.rb +17 -0
- data/app/models/ahoy/visit/ranges.rb +227 -0
- data/app/models/ahoy/visit/series.rb +177 -0
- data/app/models/ahoy/visit/sources.rb +418 -0
- data/app/models/ahoy/visit/url_labels.rb +32 -0
- data/app/models/ahoy/visit.rb +143 -0
- data/app/models/ahoy_analytics/application_record.rb +5 -0
- data/app/models/ahoy_analytics/current.rb +8 -0
- data/app/models/ahoy_analytics/funnel.rb +16 -0
- data/app/models/ahoy_analytics/imported_entry_page.rb +5 -0
- data/app/models/ahoy_analytics/imported_exit_page.rb +5 -0
- data/app/models/ahoy_analytics/imported_page.rb +5 -0
- data/app/models/ahoy_analytics/live_stats.rb +152 -0
- data/app/models/ahoy_analytics/setting.rb +19 -0
- data/app/models/analytics/source_catalog.rb +48 -0
- data/app/views/layouts/ahoy_analytics/application.html.erb +15 -0
- data/config/routes.rb +21 -0
- data/config/vite.json +22 -0
- data/db/migrate/20251006104056_create_ahoy_visits_and_events.rb +62 -0
- data/db/migrate/20251006105012_add_analytics_fields_to_ahoy_visits.rb +11 -0
- data/db/migrate/20251012090000_create_analytics_funnels_and_imports.rb +52 -0
- data/db/migrate/20251013021500_add_analytics_indexes.rb +14 -0
- data/lib/ahoy_analytics/ahoy_store.rb +429 -0
- data/lib/ahoy_analytics/asset_manifest.rb +56 -0
- data/lib/ahoy_analytics/device_bucket.rb +39 -0
- data/lib/ahoy_analytics/engine.rb +55 -0
- data/lib/ahoy_analytics/maxmind_geo.rb +77 -0
- data/lib/ahoy_analytics/version.rb +3 -0
- data/lib/ahoy_analytics.rb +52 -0
- data/lib/generators/ahoy_analytics/install/install_generator.rb +111 -0
- data/lib/generators/ahoy_analytics/install/templates/initializer.rb +28 -0
- data/lib/tasks/ahoy_analytics_tasks.rake +4 -0
- metadata +352 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s}from"./jsx-runtime-u17CrQMm.js";import{r}from"./analytics-ui-DMSkNqd6.js";import{u as $,f as q,a as _}from"./query-context-B-PgE00D.js";import{useSiteContext as U}from"./site-context-BNteYRlR.js";import{M as K}from"./list-table-ChHEzzF9.js";import{PanelTabs as Q,PanelTab as A,PanelTabDropdown as V}from"./panel-tabs-B2kvGFJx.js";import H from"./remote-details-dialog-DDTcKaM5.js";import{p as X,b as E,a as z}from"./dialog-path-BBPNlB4Z.js";import J from"./details-button-NqKfSGEG.js";import{I as W}from"./input-e4v_v0kE.js";import{D as Y,a as Z,b as ee,c as se}from"./dropdown-menu-Adj3O5fh.js";/* empty css */import"./createLucideIcon-BGzacY2v.js";import"./Combination-BpSXUjp9.js";import"./index-vX97OY1J.js";import"./button-JVCrlR4s.js";import"./use-debounce-VBpXQRL8.js";import"./index-BcHeb-Rh.js";import"./index-DzpzLoG4.js";const G=[{value:"conversions",label:"Goals"},{value:"props",label:"Properties"},{value:"funnels",label:"Funnels"}],k="admin.analytics.behaviors";function Se({initialData:d}){const{query:h,updateQuery:m}=$(),l=U(),c=r.useMemo(()=>l.hasGoals?G:G.filter(e=>e.value!=="conversions"),[l.hasGoals]),p=c[0]?.value??"props",[t,o]=r.useState(()=>{if(typeof window>"u")return p;const e=localStorage.getItem(`${k}.${l.domain}`);return e&&c.some(n=>n.value===e)?e:p}),[a,u]=r.useState(d),[I,N]=r.useState(!1),[b,y]=r.useState(()=>"funnels"in d&&d.funnels.length>0?d.funnels[0]:void 0),[g,w]=r.useState(null),[O,j]=r.useState(!1),S=e=>{o(e),typeof window<"u"&&localStorage.setItem(`${k}.${l.domain}`,e)};r.useEffect(()=>{const e=new AbortController;return N(!0),q(h,{mode:t,funnel:b},e.signal).then(n=>{u(n),"funnels"in n&&!n.funnels.includes(b??"")&&y(n.funnels[0])}).catch(n=>{n.name!=="AbortError"&&console.error(n)}).finally(()=>N(!1)),()=>e.abort()},[t,h,b]),r.useEffect(()=>{const e=X(window.location.pathname);e.type==="segment"&&e.segment==="behaviors"&&j(!0)},[]);const x=r.useMemo(()=>"list"in a?a.list:!("funnels"in a)&&"results"in a?a:null,[a]),v=r.useMemo(()=>t!=="props"||!x?[]:Array.from(new Set(x.results.map(e=>String(e.name??"")))),[x,t]);r.useEffect(()=>{if(t==="props"){if(v.length===0){w(null);return}w(e=>e&&v.includes(e)?e:v[0])}},[t,v]);const i=r.useMemo(()=>{if(!x)return null;if(t==="props"){const e=g,n=x.results.filter(f=>e?String(f.name)===e:!0).map(f=>({...f,name:String(f.value??f.name)}));return{...x,results:n}}return x},[x,t,g]),B=r.useMemo(()=>{if(!i)return null;const e=t==="conversions",n=e?"uniques":i.metrics[0]??"visitors",L=[...i.results].sort((R,F)=>{const D=Number(R[n]??0),T=Number(F[n]??0);return D===T?String(R.name).localeCompare(String(F.name)):T-D}).slice(0,9);return{...i,metrics:e?["uniques"]:i.metrics,results:L,meta:{...i.meta,hasMore:i.results.length>9}}},[i,t]),C=r.useMemo(()=>{switch(t){case"props":return l.propsAvailable?"Custom Properties":"Properties";case"funnels":return"Funnels";default:return l.hasGoals?"Goal Conversions":"Behaviors"}},[t,l.hasGoals,l.propsAvailable]),M=r.useMemo(()=>{switch(t){case"props":return"Property";case"funnels":return"Step";default:return"Goal"}},[t]),P=r.useMemo(()=>"funnels"in a?a.funnels:[],[a]);return s.jsxs("section",{className:"flex flex-col gap-5 rounded-xl border border-border bg-card p-5 shadow-[0_12px_26px_rgba(7,9,16,0.32)]",children:[s.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsx("h2",{className:"text-lg/6 font-semibold text-foreground/80",children:C}),s.jsxs(Q,{children:[c.filter(e=>e.value!=="funnels").map(e=>s.jsx(A,{active:t===e.value,onClick:()=>S(e.value),children:e.label},e.value)),P.length>0?s.jsx(V,{active:t==="funnels",label:"Funnels",options:P.map(e=>({value:e,label:e})),onSelect:e=>{y(e),S("funnels")}}):s.jsx(A,{active:t==="funnels",onClick:()=>S("funnels"),children:"Funnels"})]})]}),l.hasGoals?null:s.jsx("p",{className:"text-sm text-muted-foreground",children:"Goal tracking configuration is coming soon. Explore properties or funnels in the meantime."}),I?s.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"Loading…"}):t==="funnels"&&"funnels"in a?s.jsx(te,{data:a,onSelectFunnel:y,selectedFunnel:b}):i?s.jsxs(s.Fragment,{children:[t==="props"&&v.length>0?s.jsx("div",{className:"flex justify-end",children:s.jsx(ne,{value:g??void 0,options:v,onChange:w})}):null,t==="props"&&g?s.jsx("p",{className:"text-xs font-semibold uppercase text-muted-foreground",children:g}):null,s.jsx(K,{data:B??i,highlightedMetric:t==="conversions"?"uniques":i.metrics.includes("conversionRate")?"conversionRate":i.metrics[0],onRowClick:e=>{m(t==="props"?n=>({...n,filters:{...n.filters,prop:String(e.name)}}):n=>({...n,filters:{...n.filters,goal:String(e.name)}}))},displayBars:!1,firstColumnLabel:M,barColorTheme:"cyan"}),s.jsx("div",{className:"mt-auto flex justify-center pt-3",children:s.jsx(J,{onClick:()=>{j(!0);try{const e=new URLSearchParams(window.location.search);e.delete("dialog"),e.delete("mode"),window.history.pushState({},"",E("behaviors",e.toString()))}catch{}},children:"Details"})})]}):s.jsx("p",{className:"text-sm text-muted-foreground",children:"No data available"}),i?s.jsx(H,{open:O,onOpenChange:e=>{j(e);try{const n=new URLSearchParams(window.location.search);n.delete("dialog"),n.delete("mode");const f=n.toString();e?window.history.pushState({},"",E("behaviors",f)):window.history.pushState({},"",z(f))}catch{}},title:C,endpoint:_("behaviors"),extras:{mode:t,funnel:b},firstColumnLabel:M,initialSearch:t==="props"?g??"":"",defaultSortKey:i.metrics.includes("conversionRate")?"conversionRate":i.metrics[0],onRowClick:e=>{m(t==="props"?n=>({...n,filters:{...n.filters,prop:String(e.name)}}):n=>({...n,filters:{...n.filters,goal:String(e.name)}})),j(!1)}}):null]})}function te({data:d,selectedFunnel:h,onSelectFunnel:m}){const l=d.active;if(!l)return null;const c=l.steps,p=Math.max(...c.map(o=>o.visitors),1),t=c[c.length-1]?.conversionRate??0;return s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{className:"space-y-1",children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx("p",{className:"text-lg font-semibold text-foreground",children:l.name}),s.jsxs("p",{className:"text-sm text-muted-foreground",children:[c.length,"-step funnel • ",Math.round(t*1e3)/10,"% conversion rate"]})]}),!m||d.funnels.length<=1?null:d.funnels.map(o=>s.jsx("button",{type:"button",onClick:()=>m(o),className:`rounded-full px-3 py-1 text-xs font-medium transition ${o===(h??l.name)?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"}`,children:o},o))]})}),s.jsx("div",{className:"flex items-end gap-6 overflow-x-auto pb-4",children:c.map(o=>{const a=Math.max(o.visitors/p*100,12);return s.jsxs("div",{className:"flex w-20 flex-col items-center gap-3 text-center",children:[s.jsxs("div",{className:"relative flex h-48 w-full items-end justify-center",children:[s.jsx("div",{className:"relative h-full w-12 rounded-xs bg-primary/15",children:s.jsx("div",{className:"absolute bottom-0 left-0 right-0 rounded-xs bg-primary",style:{height:`${a}%`}})}),s.jsxs("div",{className:"absolute -top-12 w-24 rounded-xs bg-slate-900 px-2 py-1 text-[11px] font-semibold text-white shadow-xs",children:[Math.round(o.conversionRate*1e3)/10,"%",s.jsxs("span",{className:"mt-1 block text-[10px] font-normal text-slate-200",children:[new Intl.NumberFormat("en-US").format(o.visitors)," visitors"]})]})]}),s.jsx("p",{className:"text-sm font-medium text-foreground",children:o.name})]},o.name)})})]})}function ne({value:d,options:h,onChange:m}){const[l,c]=r.useState(!1),[p,t]=r.useState(""),o=r.useMemo(()=>p?h.filter(u=>u.toLowerCase().includes(p.toLowerCase())):h,[h,p]),a=d??"Select property";return s.jsxs(Y,{open:l,onOpenChange:u=>{c(u),u||t("")},children:[s.jsx(Z,{asChild:!0,children:s.jsx("button",{type:"button",className:"inline-flex h-9 items-center justify-between gap-2 rounded-xs border px-3 text-sm font-medium text-foreground shadow-xs hover:bg-muted",children:s.jsx("span",{className:"max-w-[10rem] truncate",children:a})})}),s.jsxs(ee,{align:"end",className:"w-64 p-0",children:[s.jsx("div",{className:"border-b p-2",children:s.jsx(W,{value:p,onChange:u=>t(u.target.value),autoFocus:!0,placeholder:"Search properties"})}),s.jsxs("div",{className:"max-h-56 overflow-y-auto py-1",children:[o.map(u=>s.jsx(se,{onClick:()=>{m(u),c(!1)},className:"cursor-pointer",children:u},u)),o.length===0?s.jsx("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:"No matches"}):null]})]})]})}export{Se as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as m}from"./jsx-runtime-u17CrQMm.js";import{r as l,b as C}from"./analytics-ui-DMSkNqd6.js";import{a as S,b as E,c as V}from"./index-vX97OY1J.js";var j=Symbol.for("react.lazy"),v=C[" use ".trim().toString()];function w(r){return typeof r=="object"&&r!==null&&"then"in r}function g(r){return r!=null&&typeof r=="object"&&"$$typeof"in r&&r.$$typeof===j&&"_payload"in r&&w(r._payload)}function N(r){const n=O(r),e=l.forwardRef((o,t)=>{let{children:i,...c}=o;g(i)&&typeof v=="function"&&(i=v(i._payload));const s=l.Children.toArray(i),u=s.find(A);if(u){const a=u.props.children,_=s.map(d=>d===u?l.Children.count(a)>1?l.Children.only(null):l.isValidElement(a)?a.props.children:null:d);return m.jsx(n,{...c,ref:t,children:l.isValidElement(a)?l.cloneElement(a,void 0,_):null})}return m.jsx(n,{...c,ref:t,children:i})});return e.displayName=`${r}.Slot`,e}var R=N("Slot");function O(r){const n=l.forwardRef((e,o)=>{let{children:t,...i}=e;if(g(t)&&typeof v=="function"&&(t=v(t._payload)),l.isValidElement(t)){const c=$(t),s=z(i,t.props);return t.type!==l.Fragment&&(s.ref=o?S(o,c):c),l.cloneElement(t,s)}return l.Children.count(t)>1?l.Children.only(null):null});return n.displayName=`${r}.SlotClone`,n}var P=Symbol("radix.slottable");function A(r){return l.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===P}function z(r,n){const e={...n};for(const o in n){const t=r[o],i=n[o];/^on[A-Z]/.test(o)?t&&i?e[o]=(...s)=>{const u=i(...s);return t(...s),u}:t&&(e[o]=t):o==="style"?e[o]={...t,...i}:o==="className"&&(e[o]=[t,i].filter(Boolean).join(" "))}return{...r,...e}}function $(r){let n=Object.getOwnPropertyDescriptor(r.props,"ref")?.get,e=n&&"isReactWarning"in n&&n.isReactWarning;return e?r.ref:(n=Object.getOwnPropertyDescriptor(r,"ref")?.get,e=n&&"isReactWarning"in n&&n.isReactWarning,e?r.props.ref:r.props.ref||r.ref)}const h=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,x=E,T=(r,n)=>e=>{var o;if(n?.variants==null)return x(r,e?.class,e?.className);const{variants:t,defaultVariants:i}=n,c=Object.keys(t).map(a=>{const _=e?.[a],d=i?.[a];if(_===null)return null;const p=h(_)||h(d);return t[a][p]}),s=e&&Object.entries(e).reduce((a,_)=>{let[d,p]=_;return p===void 0||(a[d]=p),a},{}),u=n==null||(o=n.compoundVariants)===null||o===void 0?void 0:o.reduce((a,_)=>{let{class:d,className:p,...b}=_;return Object.entries(b).every(k=>{let[y,f]=k;return Array.isArray(f)?f.includes({...i,...s}[y]):{...i,...s}[y]===f})?[...a,d,p]:a},[]);return x(r,c,u,e?.class,e?.className)},W=T("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline",golden:"bg-primary text-primary-foreground font-bold shadow-[0_0_0_1px_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),inset_0_1px_0_0_color-mix(in_oklch,var(--primary)_35%,oklch(1_0_0)_65%),0_2px_0_0_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),0_3px_6px_0_color-mix(in_oklch,var(--background)_35%,oklch(0_0_0)_65%)] hover:shadow-[0_0_0_1px_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),inset_0_1px_0_0_color-mix(in_oklch,var(--primary)_45%,oklch(1_0_0)_55%),0_3px_0_0_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),0_5px_10px_0_color-mix(in_oklch,var(--background)_45%,oklch(0_0_0)_55%)] hover:-translate-y-px active:translate-y-0 active:shadow-[0_0_0_1px_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),inset_0_0_0_1px_color-mix(in_oklch,var(--primary)_30%,oklch(0_0_0)_70%),0_1px_0_0_color-mix(in_oklch,var(--primary)_65%,oklch(0_0_0)_35%),0_2px_4px_0_color-mix(in_oklch,var(--background)_40%,oklch(0_0_0)_60%)]","outline-golden":"border-2 border-primary bg-transparent font-semibold hover:bg-primary/10 hover:border-primary/90 hover:-translate-y-px hover:shadow-[0_4px_12px_color-mix(in_oklch,var(--primary)_25%,transparent_75%)] active:translate-y-0 active:shadow-[0_2px_6px_color-mix(in_oklch,var(--primary)_20%,transparent_80%)] focus-visible:ring-primary"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function D({className:r,variant:n,size:e,asChild:o=!1,...t}){const i=o?R:"button";return m.jsx(i,{"data-slot":"button",className:V(W({variant:n,size:e,className:r})),...t})}export{D as B,R as S,N as a,W as b,T as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},i={log(...n){this.enabled&&(n.push(Date.now()),a.logger.log("[ActionCable]",...n))}};const l=()=>new Date().getTime(),h=n=>(l()-n)/1e3;class p{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=l(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),i.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=l(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),i.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=l()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,i.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=l(),i.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,s=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),r=(this.reconnectAttempts===0?1:e)*Math.random();return t*1e3*s*(1+r)}reconnectIfStale(){this.connectionIsStale()&&(i.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${h(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?i.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${h(this.disconnectedAt)} s`):(i.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return h(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&h(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){document.visibilityState==="visible"&&setTimeout((()=>{(this.connectionIsStale()||!this.connection.isOpen())&&(i.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}p.staleThreshold=6;p.reconnectionBackoffRate=.15;var b={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:c,protocols:d}=b,m=d.slice(0,d.length-1),g=[].indexOf;class f{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new p(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return i.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{const t=[...d,...this.consumer.subprotocols||[]];return i.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new a.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(i.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){i.log("Failed to reopen WebSocket",t)}finally{i.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return g.call(m,this.getProtocol())>=0}isState(...t){return g.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in a.WebSocket)if(a.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}f.reopenDelay=500;f.prototype.events={message(n){if(!this.isProtocolSupported())return;const{identifier:t,message:e,reason:s,reconnect:o,type:r}=JSON.parse(n.data);switch(this.monitor.recordMessage(),r){case c.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case c.disconnect:return i.log(`Disconnecting. Reason: ${s}`),this.close({allowReconnect:o});case c.ping:return null;case c.confirmation:return this.subscriptions.confirmSubscription(t),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(t,"connected",{reconnected:!0})):this.subscriptions.notify(t,"connected",{reconnected:!1});case c.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",e)}},open(){if(i.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return i.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(n){if(i.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){i.log("WebSocket onerror event")}};const S=function(n,t){if(t!=null)for(let e in t){const s=t[e];n[e]=s}return n};class y{constructor(t,e={},s){this.consumer=t,this.identifier=JSON.stringify(e),S(this,s)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class A{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(i.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):i.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){i.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map((t=>{i.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class v{constructor(t){this.consumer=t,this.guarantor=new A(this),this.subscriptions=[]}create(t,e){const s=t,o=typeof s=="object"?s:{channel:s},r=new y(this.consumer,o,e);return this.add(r)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((e=>(this.forget(e),this.notify(e,"rejected"),e)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((s=>this.notify(s,t,...e)))}notify(t,e,...s){let o;return typeof t=="string"?o=this.findAll(t):o=[t],o.map((r=>typeof r[e]=="function"?r[e](...s):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){i.log(`Subscription confirmed ${t}`),this.findAll(t).map((e=>this.guarantor.forget(e)))}sendCommand(t,e){const{identifier:s}=t;return this.consumer.send({command:e,identifier:s})}}class w{constructor(t){this._url=t,this.subscriptions=new v(this),this.connection=new f(this),this.subprotocols=[]}get url(){return k(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}}function k(n){if(typeof n=="function"&&(n=n()),n&&!/^wss?:/i.test(n)){const t=document.createElement("a");return t.href=n,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return n}function C(n=R("url")||b.default_mount_path){return new w(n)}function R(n){const t=document.head.querySelector(`meta[name='action-cable-${n}']`);if(t)return t.getAttribute("content")}let u=null;function T(){if(!u){const n=window?.AhoyAnalytics?.cablePath||"/cable";u=C(n)}return u}export{T as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s}from"./analytics-ui-DMSkNqd6.js";const C=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),w=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,o)=>o?o.toUpperCase():r.toLowerCase()),i=t=>{const e=w(t);return e.charAt(0).toUpperCase()+e.slice(1)},l=(...t)=>t.filter((e,r,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===r).join(" ").trim(),f=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};var h={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const g=s.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:n="",children:a,iconNode:u,...c},p)=>s.createElement("svg",{ref:p,...h,width:e,height:e,stroke:t,strokeWidth:o?Number(r)*24/Number(e):r,className:l("lucide",n),...!a&&!f(c)&&{"aria-hidden":"true"},...c},[...u.map(([m,d])=>s.createElement(m,d)),...Array.isArray(a)?a:[a]]));const b=(t,e)=>{const r=s.forwardRef(({className:o,...n},a)=>s.createElement(g,{ref:a,iconNode:e,className:l(`lucide-${C(i(t))}`,`lucide-${t}`,o),...n}));return r.displayName=i(t),r};export{b as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as N}from"./jsx-runtime-u17CrQMm.js";import{R as y,r as m}from"./analytics-ui-DMSkNqd6.js";import{c as Y,a as Gn,u as Ct}from"./index-vX97OY1J.js";import{b as dt,B as Vn}from"./button-JVCrlR4s.js";import{c as St}from"./createLucideIcon-BGzacY2v.js";import{C as Qn,c as Wt,u as Un,R as Xn,a as Zn,b as Kn,P as xt,d as ke,A as Nt,e as Jn,h as Ln,f as er,g as tr,F as nr,D as rr,i as or,j as ar}from"./Combination-BpSXUjp9.js";import{P as Pt}from"./index-DzpzLoG4.js";/* empty css */const sr=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],ir=St("chevron-left",sr);const cr=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ur=St("chevron-right",cr);function lr(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const dr={},we={};function ue(e,t){try{const r=(dr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in we?we[r]:ft(r,r.split(":"))}catch{if(e in we)return we[e];const n=e?.match(fr);return n?ft(e,n.slice(1)):NaN}}const fr=/([+-]\d\d):?(\d\d)?/;function ft(e,t){const n=+(t[0]||0),r=+(t[1]||0),o=+(t[2]||0)/60;return we[e]=n*60+r>0?n*60+r+o:n*60-r-o}class L extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(ue(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),_t(this),Ue(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new L(...n,t):new L(Date.now(),t)}withTimeZone(t){return new L(+this,t)}getTimezoneOffset(){const t=-ue(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Ue(this),+this}[Symbol.for("constructDateFrom")](t){return new L(+new Date(t),this.timeZone)}}const ht=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!ht.test(e))return;const t=e.replace(ht,"$1UTC");L.prototype[t]&&(e.startsWith("get")?L.prototype[e]=function(){return this.internal[t]()}:(L.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),hr(this),+this},L.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Ue(this),+this}))});function Ue(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-ue(e.timeZone,e)*60))}function hr(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),_t(e)}function _t(e){const t=ue(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const o=-new Date(+e).getTimezoneOffset(),a=-new Date(+r).getTimezoneOffset(),s=o-a,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const c=o-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const u=new Date(+e);u.setUTCSeconds(0);const d=o>0?u.getSeconds():(u.getSeconds()-60)%60,l=Math.round(-(ue(e.timeZone,e)*60))%60;(l||d)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+l),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+l+d));const h=ue(e.timeZone,e),p=h>0?Math.floor(h):Math.ceil(h),x=-new Date(+e).getTimezoneOffset()-p,k=p!==n,S=x-c;if(k&&S){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S);const _=ue(e.timeZone,e),D=_>0?Math.floor(_):Math.ceil(_),W=p-D;W&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+W),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+W))}}class H extends L{static tz(t,...n){return n.length?new H(...n,t):new H(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),o=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+o}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,o]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${o}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,o]=this.tzComponents();return`${t} GMT${n}${r}${o} (${lr(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),o=String(Math.abs(t)%60).padStart(2,"0");return[n,r,o]}withTimeZone(t){return new H(+this,t)}[Symbol.for("constructDateFrom")](t){return new H(+new Date(t),this.timeZone)}}const Et=6048e5,mr=864e5,mt=Symbol.for("constructDateFrom");function j(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&mt in e?e[mt](t):e instanceof Date?new e.constructor(t):new Date(t)}function I(e,t){return j(t||e,e)}function Yt(e,t,n){const r=I(e,n?.in);return isNaN(t)?j(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Tt(e,t,n){const r=I(e,n?.in);if(isNaN(t))return j(e,NaN);if(!t)return r;const o=r.getDate(),a=j(e,r.getTime());a.setMonth(r.getMonth()+t+1,0);const s=a.getDate();return o>=s?a:(r.setFullYear(a.getFullYear(),a.getMonth(),o),r)}let yr={};function Oe(){return yr}function me(e,t){const n=Oe(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=I(e,t?.in),a=o.getDay(),s=(a<r?7:0)+a-r;return o.setDate(o.getDate()-s),o.setHours(0,0,0,0),o}function De(e,t){return me(e,{...t,weekStartsOn:1})}function Ft(e,t){const n=I(e,t?.in),r=n.getFullYear(),o=j(n,0);o.setFullYear(r+1,0,4),o.setHours(0,0,0,0);const a=De(o),s=j(n,0);s.setFullYear(r,0,4),s.setHours(0,0,0,0);const i=De(s);return n.getTime()>=a.getTime()?r+1:n.getTime()>=i.getTime()?r:r-1}function yt(e){const t=I(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function ge(e,...t){const n=j.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function Me(e,t){const n=I(e,t?.in);return n.setHours(0,0,0,0),n}function Xe(e,t,n){const[r,o]=ge(n?.in,e,t),a=Me(r),s=Me(o),i=+a-yt(a),c=+s-yt(s);return Math.round((i-c)/mr)}function gr(e,t){const n=Ft(e,t),r=j(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),De(r)}function pr(e,t,n){return Yt(e,t*7,n)}function br(e,t,n){return Tt(e,t*12,n)}function wr(e,t){let n,r=t?.in;return e.forEach(o=>{!r&&typeof o=="object"&&(r=j.bind(null,o));const a=I(o,r);(!n||n<a||isNaN(+a))&&(n=a)}),j(r,n||NaN)}function vr(e,t){let n,r=t?.in;return e.forEach(o=>{!r&&typeof o=="object"&&(r=j.bind(null,o));const a=I(o,r);(!n||n>a||isNaN(+a))&&(n=a)}),j(r,n||NaN)}function kr(e,t,n){const[r,o]=ge(n?.in,e,t);return+Me(r)==+Me(o)}function It(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Dr(e){return!(!It(e)&&typeof e!="number"||isNaN(+I(e)))}function Bt(e,t,n){const[r,o]=ge(n?.in,e,t),a=r.getFullYear()-o.getFullYear(),s=r.getMonth()-o.getMonth();return a*12+s}function Mr(e,t){const n=I(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function At(e,t){const[n,r]=ge(e,t.start,t.end);return{start:n,end:r}}function Or(e,t){const{start:n,end:r}=At(t?.in,e);let o=+n>+r;const a=o?+n:+r,s=o?r:n;s.setHours(0,0,0,0),s.setDate(1);let i=1;const c=[];for(;+s<=a;)c.push(j(n,s)),s.setMonth(s.getMonth()+i);return o?c.reverse():c}function Cr(e,t){const n=I(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Sr(e,t){const n=I(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Rt(e,t){const n=I(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Wr(e,t){const{start:n,end:r}=At(t?.in,e);let o=+n>+r;const a=o?+n:+r,s=o?r:n;s.setHours(0,0,0,0),s.setMonth(0,1);let i=1;const c=[];for(;+s<=a;)c.push(j(n,s)),s.setFullYear(s.getFullYear()+i);return o?c.reverse():c}function jt(e,t){const n=Oe(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=I(e,t?.in),a=o.getDay(),s=(a<r?-7:0)+6-(a-r);return o.setDate(o.getDate()+s),o.setHours(23,59,59,999),o}function xr(e,t){return jt(e,{...t,weekStartsOn:1})}const Nr={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Pr=(e,t,n)=>{let r;const o=Nr[e];return typeof o=="string"?r=o:t===1?r=o.one:r=o.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ze(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const _r={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Er={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Yr={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Tr={date:ze({formats:_r,defaultWidth:"full"}),time:ze({formats:Er,defaultWidth:"full"}),dateTime:ze({formats:Yr,defaultWidth:"full"})},Fr={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ir=(e,t,n,r)=>Fr[e];function pe(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let o;if(r==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):s;o=e.formattingValues[i]||e.formattingValues[s]}else{const s=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;o=e.values[i]||e.values[s]}const a=e.argumentCallback?e.argumentCallback(t):t;return o[a]}}const Br={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ar={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Rr={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},jr={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Hr={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},qr={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},zr=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},$r={ordinalNumber:zr,era:pe({values:Br,defaultWidth:"wide"}),quarter:pe({values:Ar,defaultWidth:"wide",argumentCallback:e=>e-1}),month:pe({values:Rr,defaultWidth:"wide"}),day:pe({values:jr,defaultWidth:"wide"}),dayPeriod:pe({values:Hr,defaultWidth:"wide",formattingValues:qr,defaultFormattingWidth:"wide"})};function be(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(o);if(!a)return null;const s=a[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?Vr(i,l=>l.test(s)):Gr(i,l=>l.test(s));let u;u=e.valueCallback?e.valueCallback(c):c,u=n.valueCallback?n.valueCallback(u):u;const d=t.slice(s.length);return{value:u,rest:d}}}function Gr(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Vr(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Qr(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const o=r[0],a=t.match(e.parsePattern);if(!a)return null;let s=e.valueCallback?e.valueCallback(a[0]):a[0];s=n.valueCallback?n.valueCallback(s):s;const i=t.slice(o.length);return{value:s,rest:i}}}const Ur=/^(\d+)(th|st|nd|rd)?/i,Xr=/\d+/i,Zr={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Kr={any:[/^b/i,/^(a|c)/i]},Jr={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Lr={any:[/1/i,/2/i,/3/i,/4/i]},eo={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},to={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},no={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ro={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},oo={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},ao={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},so={ordinalNumber:Qr({matchPattern:Ur,parsePattern:Xr,valueCallback:e=>parseInt(e,10)}),era:be({matchPatterns:Zr,defaultMatchWidth:"wide",parsePatterns:Kr,defaultParseWidth:"any"}),quarter:be({matchPatterns:Jr,defaultMatchWidth:"wide",parsePatterns:Lr,defaultParseWidth:"any",valueCallback:e=>e+1}),month:be({matchPatterns:eo,defaultMatchWidth:"wide",parsePatterns:to,defaultParseWidth:"any"}),day:be({matchPatterns:no,defaultMatchWidth:"wide",parsePatterns:ro,defaultParseWidth:"any"}),dayPeriod:be({matchPatterns:oo,defaultMatchWidth:"any",parsePatterns:ao,defaultParseWidth:"any"})},he={code:"en-US",formatDistance:Pr,formatLong:Tr,formatRelative:Ir,localize:$r,match:so,options:{weekStartsOn:0,firstWeekContainsDate:1}};function io(e,t){const n=I(e,t?.in);return Xe(n,Rt(n))+1}function Ze(e,t){const n=I(e,t?.in),r=+De(n)-+gr(n);return Math.round(r/Et)+1}function Ht(e,t){const n=I(e,t?.in),r=n.getFullYear(),o=Oe(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,s=j(t?.in||e,0);s.setFullYear(r+1,0,a),s.setHours(0,0,0,0);const i=me(s,t),c=j(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);const u=me(c,t);return+n>=+i?r+1:+n>=+u?r:r-1}function co(e,t){const n=Oe(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=Ht(e,t),a=j(t?.in||e,0);return a.setFullYear(o,0,r),a.setHours(0,0,0,0),me(a,t)}function Ke(e,t){const n=I(e,t?.in),r=+me(n,t)-+co(n,t);return Math.round(r/Et)+1}function F(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const se={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return F(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):F(n+1,2)},d(e,t){return F(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return F(e.getHours()%12||12,t.length)},H(e,t){return F(e.getHours(),t.length)},m(e,t){return F(e.getMinutes(),t.length)},s(e,t){return F(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),o=Math.trunc(r*Math.pow(10,n-3));return F(o,t.length)}},de={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},gt={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),o=r>0?r:1-r;return n.ordinalNumber(o,{unit:"year"})}return se.y(e,t)},Y:function(e,t,n,r){const o=Ht(e,r),a=o>0?o:1-o;if(t==="YY"){const s=a%100;return F(s,2)}return t==="Yo"?n.ordinalNumber(a,{unit:"year"}):F(a,t.length)},R:function(e,t){const n=Ft(e);return F(n,t.length)},u:function(e,t){const n=e.getFullYear();return F(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return F(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return F(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return se.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return F(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const o=Ke(e,r);return t==="wo"?n.ordinalNumber(o,{unit:"week"}):F(o,t.length)},I:function(e,t,n){const r=Ze(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):F(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):se.d(e,t)},D:function(e,t,n){const r=io(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):F(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const o=e.getDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return F(a,2);case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const o=e.getDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return F(a,t.length);case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),o=r===0?7:r;switch(t){case"i":return String(o);case"ii":return F(o,t.length);case"io":return n.ordinalNumber(o,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const o=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let o;switch(r===12?o=de.noon:r===0?o=de.midnight:o=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let o;switch(r>=17?o=de.evening:r>=12?o=de.afternoon:r>=4?o=de.morning:o=de.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return se.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):se.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):F(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):F(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):se.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):se.s(e,t)},S:function(e,t){return se.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return bt(r);case"XXXX":case"XX":return ce(r);default:return ce(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return bt(r);case"xxxx":case"xx":return ce(r);default:return ce(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+pt(r,":");default:return"GMT"+ce(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+pt(r,":");default:return"GMT"+ce(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return F(r,t.length)},T:function(e,t,n){return F(+e,t.length)}};function pt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),o=Math.trunc(r/60),a=r%60;return a===0?n+String(o):n+String(o)+t+F(a,2)}function bt(e,t){return e%60===0?(e>0?"-":"+")+F(Math.abs(e)/60,2):ce(e,t)}function ce(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),o=F(Math.trunc(r/60),2),a=F(r%60,2);return n+o+t+a}const wt=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},qt=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},uo=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],o=n[2];if(!o)return wt(e,t);let a;switch(r){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;default:a=t.dateTime({width:"full"});break}return a.replace("{{date}}",wt(r,t)).replace("{{time}}",qt(o,t))},lo={p:qt,P:uo},fo=/^D+$/,ho=/^Y+$/,mo=["D","DD","YY","YYYY"];function yo(e){return fo.test(e)}function go(e){return ho.test(e)}function po(e,t,n){const r=bo(e,t,n);if(console.warn(r),mo.includes(e))throw new RangeError(r)}function bo(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const wo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,vo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ko=/^'([^]*?)'?$/,Do=/''/g,Mo=/[a-zA-Z]/;function ve(e,t,n){const r=Oe(),o=n?.locale??r.locale??he,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=I(e,n?.in);if(!Dr(i))throw new RangeError("Invalid time value");let c=t.match(vo).map(d=>{const l=d[0];if(l==="p"||l==="P"){const h=lo[l];return h(d,o.formatLong)}return d}).join("").match(wo).map(d=>{if(d==="''")return{isToken:!1,value:"'"};const l=d[0];if(l==="'")return{isToken:!1,value:Oo(d)};if(gt[l])return{isToken:!0,value:d};if(l.match(Mo))throw new RangeError("Format string contains an unescaped latin alphabet character `"+l+"`");return{isToken:!1,value:d}});o.localize.preprocessor&&(c=o.localize.preprocessor(i,c));const u={firstWeekContainsDate:a,weekStartsOn:s,locale:o};return c.map(d=>{if(!d.isToken)return d.value;const l=d.value;(!n?.useAdditionalWeekYearTokens&&go(l)||!n?.useAdditionalDayOfYearTokens&&yo(l))&&po(l,t,String(e));const h=gt[l[0]];return h(i,l,o.localize,u)}).join("")}function Oo(e){const t=e.match(ko);return t?t[1].replace(Do,"'"):e}function Co(e,t){const n=I(e,t?.in),r=n.getFullYear(),o=n.getMonth(),a=j(n,0);return a.setFullYear(r,o+1,0),a.setHours(0,0,0,0),a.getDate()}function So(e,t){return I(e,t?.in).getMonth()}function Wo(e,t){return I(e,t?.in).getFullYear()}function xo(e,t){return+I(e)>+I(t)}function No(e,t){return+I(e)<+I(t)}function Po(e,t,n){const[r,o]=ge(n?.in,e,t);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()}function _o(e,t,n){const[r,o]=ge(n?.in,e,t);return r.getFullYear()===o.getFullYear()}function Eo(e,t,n){const r=I(e,n?.in),o=r.getFullYear(),a=r.getDate(),s=j(e,0);s.setFullYear(o,t,15),s.setHours(0,0,0,0);const i=Co(s);return r.setMonth(t,Math.min(a,i)),r}function Yo(e,t,n){const r=I(e,n?.in);return isNaN(+r)?j(e,NaN):(r.setFullYear(t),r)}const vt=5,To=4;function Fo(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,o=t.addDays(e,-r+1),a=t.addDays(o,vt*7-1);return t.getMonth(e)===t.getMonth(a)?vt:To}function zt(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function Io(e,t){const n=zt(e,t),r=Fo(e,t);return t.addDays(n,r*7-1)}const $t={...he,labels:{labelDayButton:(e,t,n,r)=>{let o;r&&typeof r.format=="function"?o=r.format.bind(r):o=(s,i)=>ve(s,i,{locale:he,...n});let a=o(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>ve(o,a,{locale:he,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let o;r&&typeof r.format=="function"?o=r.format.bind(r):o=(s,i)=>ve(s,i,{locale:he,...n});let a=o(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>ve(o,a,{locale:he,...t}),r(e,"cccc")}}};class ${constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?H.tz(this.options.timeZone):new this.Date,this.newDate=(r,o,a)=>this.overrides?.newDate?this.overrides.newDate(r,o,a):this.options.timeZone?new H(r,o,a,this.options.timeZone):new Date(r,o,a),this.addDays=(r,o)=>this.overrides?.addDays?this.overrides.addDays(r,o):Yt(r,o),this.addMonths=(r,o)=>this.overrides?.addMonths?this.overrides.addMonths(r,o):Tt(r,o),this.addWeeks=(r,o)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,o):pr(r,o),this.addYears=(r,o)=>this.overrides?.addYears?this.overrides.addYears(r,o):br(r,o),this.differenceInCalendarDays=(r,o)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,o):Xe(r,o),this.differenceInCalendarMonths=(r,o)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,o):Bt(r,o),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):Or(r),this.eachYearOfInterval=r=>{const o=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):Wr(r),a=new Set(o.map(i=>this.getYear(i)));if(a.size===o.length)return o;const s=[];return a.forEach(i=>{s.push(new Date(i,0,1))}),s},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):Io(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):xr(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):Mr(r),this.endOfWeek=(r,o)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,o):jt(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):Sr(r),this.format=(r,o,a)=>{const s=this.overrides?.format?this.overrides.format(r,o,this.options):ve(r,o,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(s):s},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):Ze(r),this.getMonth=(r,o)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):So(r,this.options),this.getYear=(r,o)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):Wo(r,this.options),this.getWeek=(r,o)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Ke(r,this.options),this.isAfter=(r,o)=>this.overrides?.isAfter?this.overrides.isAfter(r,o):xo(r,o),this.isBefore=(r,o)=>this.overrides?.isBefore?this.overrides.isBefore(r,o):No(r,o),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):It(r),this.isSameDay=(r,o)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,o):kr(r,o),this.isSameMonth=(r,o)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,o):Po(r,o),this.isSameYear=(r,o)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,o):_o(r,o),this.max=r=>this.overrides?.max?this.overrides.max(r):wr(r),this.min=r=>this.overrides?.min?this.overrides.min(r):vr(r),this.setMonth=(r,o)=>this.overrides?.setMonth?this.overrides.setMonth(r,o):Eo(r,o),this.setYear=(r,o)=>this.overrides?.setYear?this.overrides.setYear(r,o):Yo(r,o),this.startOfBroadcastWeek=(r,o)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):zt(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Me(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):De(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):Cr(r),this.startOfWeek=(r,o)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):me(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):Rt(r),this.options={locale:$t,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let o=0;o<10;o++)r[o.toString()]=n.format(o);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&$.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:o}=this.options,a=n?.code;if(a&&$.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:"long",year:"numeric",timeZone:r,numberingSystem:o}).format(t)}catch{}const s=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,s)}}$.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const ee=new $;class Gt{constructor(t,n,r=ee){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r,this.isoDate=r.format(t,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class Bo{constructor(t,n){this.date=t,this.weeks=n}}class Ao{constructor(t,n){this.days=n,this.weekNumber=t}}function Ro(e){return y.createElement("button",{...e})}function jo(e){return y.createElement("span",{...e})}function Ho(e){const{size:t=24,orientation:n="left",className:r}=e;return y.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&y.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&y.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&y.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&y.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function qo(e){const{day:t,modifiers:n,...r}=e;return y.createElement("td",{...r})}function zo(e){const{day:t,modifiers:n,...r}=e,o=y.useRef(null);return y.useEffect(()=>{n.focused&&o.current?.focus()},[n.focused]),y.createElement("button",{ref:o,...r})}var g;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(g||(g={}));var R;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(R||(R={}));var Z;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Z||(Z={}));var z;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(z||(z={}));function $o(e){const{options:t,className:n,components:r,classNames:o,...a}=e,s=[o[g.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===a.value);return y.createElement("span",{"data-disabled":a.disabled,className:o[g.DropdownRoot]},y.createElement(r.Select,{className:s,...a},t?.map(({value:c,label:u,disabled:d})=>y.createElement(r.Option,{key:c,value:c,disabled:d},u))),y.createElement("span",{className:o[g.CaptionLabel],"aria-hidden":!0},i?.label,y.createElement(r.Chevron,{orientation:"down",size:18,className:o[g.Chevron]})))}function Go(e){return y.createElement("div",{...e})}function Vo(e){return y.createElement("div",{...e})}function Qo(e){const{calendarMonth:t,displayIndex:n,...r}=e;return y.createElement("div",{...r},e.children)}function Uo(e){const{calendarMonth:t,displayIndex:n,...r}=e;return y.createElement("div",{...r})}function Xo(e){return y.createElement("table",{...e})}function Zo(e){return y.createElement("div",{...e})}const Vt=m.createContext(void 0);function Ce(){const e=m.useContext(Vt);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ko(e){const{components:t}=Ce();return y.createElement(t.Dropdown,{...e})}function Jo(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:o,...a}=e,{components:s,classNames:i,labels:{labelPrevious:c,labelNext:u}}=Ce(),d=m.useCallback(h=>{o&&n?.(h)},[o,n]),l=m.useCallback(h=>{r&&t?.(h)},[r,t]);return y.createElement("nav",{...a},y.createElement(s.PreviousMonthButton,{type:"button",className:i[g.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":c(r),onClick:l},y.createElement(s.Chevron,{disabled:r?void 0:!0,className:i[g.Chevron],orientation:"left"})),y.createElement(s.NextMonthButton,{type:"button",className:i[g.NextMonthButton],tabIndex:o?void 0:-1,"aria-disabled":o?void 0:!0,"aria-label":u(o),onClick:d},y.createElement(s.Chevron,{disabled:o?void 0:!0,orientation:"right",className:i[g.Chevron]})))}function Lo(e){const{components:t}=Ce();return y.createElement(t.Button,{...e})}function ea(e){return y.createElement("option",{...e})}function ta(e){const{components:t}=Ce();return y.createElement(t.Button,{...e})}function na(e){const{rootRef:t,...n}=e;return y.createElement("div",{...n,ref:t})}function ra(e){return y.createElement("select",{...e})}function oa(e){const{week:t,...n}=e;return y.createElement("tr",{...n})}function aa(e){return y.createElement("th",{...e})}function sa(e){return y.createElement("thead",{"aria-hidden":!0},y.createElement("tr",{...e}))}function ia(e){const{week:t,...n}=e;return y.createElement("th",{...n})}function ca(e){return y.createElement("th",{...e})}function ua(e){return y.createElement("tbody",{...e})}function la(e){const{components:t}=Ce();return y.createElement(t.Dropdown,{...e})}const da=Object.freeze(Object.defineProperty({__proto__:null,Button:Ro,CaptionLabel:jo,Chevron:Ho,Day:qo,DayButton:zo,Dropdown:$o,DropdownNav:Go,Footer:Vo,Month:Qo,MonthCaption:Uo,MonthGrid:Xo,Months:Zo,MonthsDropdown:Ko,Nav:Jo,NextMonthButton:Lo,Option:ea,PreviousMonthButton:ta,Root:na,Select:ra,Week:oa,WeekNumber:ia,WeekNumberHeader:ca,Weekday:aa,Weekdays:sa,Weeks:ua,YearsDropdown:la},Symbol.toStringTag,{value:"Module"}));function re(e,t,n=!1,r=ee){let{from:o,to:a}=e;const{differenceInCalendarDays:s,isSameDay:i}=r;return o&&a?(s(a,o)<0&&([o,a]=[a,o]),s(t,o)>=(n?1:0)&&s(a,t)>=(n?1:0)):!n&&a?i(a,t):!n&&o?i(o,t):!1}function Je(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function _e(e){return!!(e&&typeof e=="object"&&"from"in e)}function Le(e){return!!(e&&typeof e=="object"&&"after"in e)}function et(e){return!!(e&&typeof e=="object"&&"before"in e)}function Qt(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Ut(e,t){return Array.isArray(e)&&e.every(t.isDate)}function oe(e,t,n=ee){const r=Array.isArray(t)?t:[t],{isSameDay:o,differenceInCalendarDays:a,isAfter:s}=n;return r.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return o(e,i);if(Ut(i,n))return i.some(c=>o(e,c));if(_e(i))return re(i,e,!1,n);if(Qt(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(Je(i)){const c=a(i.before,e),u=a(i.after,e),d=c>0,l=u<0;return s(i.before,i.after)?l&&d:d||l}return Le(i)?a(e,i.after)>0:et(i)?a(i.before,e)>0:typeof i=="function"?i(e):!1})}function fa(e,t,n,r,o){const{disabled:a,hidden:s,modifiers:i,showOutsideDays:c,broadcastCalendar:u,today:d=o.today()}=t,{isSameDay:l,isSameMonth:h,startOfMonth:p,isBefore:M,endOfMonth:x,isAfter:k}=o,S=n&&p(n),_=r&&x(r),D={[R.focused]:[],[R.outside]:[],[R.disabled]:[],[R.hidden]:[],[R.today]:[]},W={};for(const w of e){const{date:f,displayMonth:b}=w,O=!!(b&&!h(f,b)),A=!!(S&&M(f,S)),B=!!(_&&k(f,_)),K=!!(a&&oe(f,a,o)),ae=!!(s&&oe(f,s,o))||A||B||!u&&!c&&O||u&&c===!1&&O,te=l(f,d);O&&D.outside.push(w),K&&D.disabled.push(w),ae&&D.hidden.push(w),te&&D.today.push(w),i&&Object.keys(i).forEach(G=>{const le=i?.[G];le&&oe(f,le,o)&&(W[G]?W[G].push(w):W[G]=[w])})}return w=>{const f={[R.focused]:!1,[R.disabled]:!1,[R.hidden]:!1,[R.outside]:!1,[R.today]:!1},b={};for(const O in D){const A=D[O];f[O]=A.some(B=>B===w)}for(const O in W)b[O]=W[O].some(A=>A===w);return{...f,...b}}}function ha(e,t,n={}){return Object.entries(e).filter(([,o])=>o===!0).reduce((o,[a])=>(n[a]?o.push(n[a]):t[R[a]]?o.push(t[R[a]]):t[Z[a]]&&o.push(t[Z[a]]),o),[t[g.Day]])}function ma(e){return{...da,...e}}function ya(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function tt(){const e={};for(const t in g)e[g[t]]=`rdp-${g[t]}`;for(const t in R)e[R[t]]=`rdp-${R[t]}`;for(const t in Z)e[Z[t]]=`rdp-${Z[t]}`;for(const t in z)e[z[t]]=`rdp-${z[t]}`;return e}function Xt(e,t,n){return(n??new $(t)).formatMonthYear(e)}const ga=Xt;function pa(e,t,n){return(n??new $(t)).format(e,"d")}function ba(e,t=ee){return t.format(e,"LLLL")}function wa(e,t,n){return(n??new $(t)).format(e,"cccccc")}function va(e,t=ee){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function ka(){return""}function Zt(e,t=ee){return t.format(e,"yyyy")}const Da=Zt,Ma=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Xt,formatDay:pa,formatMonthCaption:ga,formatMonthDropdown:ba,formatWeekNumber:va,formatWeekNumberHeader:ka,formatWeekdayName:wa,formatYearCaption:Da,formatYearDropdown:Zt},Symbol.toStringTag,{value:"Module"}));function Oa(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Ma,...e}}function nt(e,t,n,r){let o=(r??new $(n)).format(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o}const Ca=nt;function rt(e,t,n){return(n??new $(t)).formatMonthYear(e)}const Sa=rt;function Kt(e,t,n,r){let o=(r??new $(n)).format(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o}function Jt(e){return"Choose the Month"}function Lt(){return""}const Wa="Go to the Next Month";function en(e,t){return Wa}function tn(e){return"Go to the Previous Month"}function nn(e,t,n){return(n??new $(t)).format(e,"cccc")}function rn(e,t){return`Week ${e}`}function on(e){return"Week Number"}function an(e){return"Choose the Year"}const xa=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Sa,labelDay:Ca,labelDayButton:nt,labelGrid:rt,labelGridcell:Kt,labelMonthDropdown:Jt,labelNav:Lt,labelNext:en,labelPrevious:tn,labelWeekNumber:rn,labelWeekNumberHeader:on,labelWeekday:nn,labelYearDropdown:an},Symbol.toStringTag,{value:"Module"})),X=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Na(e,t){const n=t.locale?.labels??{};return{...xa,...e??{},labelDayButton:X(nt,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:X(Jt,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:X(en,e?.labelNext,n.labelNext),labelPrevious:X(tn,e?.labelPrevious,n.labelPrevious),labelWeekNumber:X(rn,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:X(an,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:X(rt,e?.labelGrid,n.labelGrid),labelGridcell:X(Kt,e?.labelGridcell,n.labelGridcell),labelNav:X(Lt,e?.labelNav,n.labelNav),labelWeekNumberHeader:X(on,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:X(nn,e?.labelWeekday,n.labelWeekday)}}function Pa(e,t,n,r,o){const{startOfMonth:a,startOfYear:s,endOfYear:i,eachMonthOfInterval:c,getMonth:u}=o;return c({start:s(e),end:i(e)}).map(h=>{const p=r.formatMonthDropdown(h,o),M=u(h),x=t&&h<a(t)||n&&h>a(n)||!1;return{value:M,label:p,disabled:x}})}function _a(e,t={},n={}){let r={...t?.[g.Day]};return Object.entries(e).filter(([,o])=>o===!0).forEach(([o])=>{r={...r,...n?.[o]}}),r}function Ea(e,t,n,r){const o=r??e.today(),a=n?e.startOfBroadcastWeek(o,e):t?e.startOfISOWeek(o):e.startOfWeek(o),s=[];for(let i=0;i<7;i++){const c=e.addDays(a,i);s.push(c)}return s}function Ya(e,t,n,r,o=!1){if(!e||!t)return;const{startOfYear:a,endOfYear:s,eachYearOfInterval:i,getYear:c}=r,u=a(e),d=s(t),l=i({start:u,end:d});return o&&l.reverse(),l.map(h=>{const p=n.formatYearDropdown(h,r);return{value:c(h),label:p,disabled:!1}})}function Ta(e,t={}){const{weekStartsOn:n,locale:r}=t,o=n??r?.options?.weekStartsOn??0,a=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new H(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},s=i=>{const c=a(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>a(H.tz(e)),newDate:(i,c,u)=>new H(i,c,u,12,0,0,e),startOfDay:i=>a(i),startOfWeek:(i,c)=>{const u=a(i),d=c?.weekStartsOn??o,l=(u.getDay()-d+7)%7;return u.setDate(u.getDate()-l),u},startOfISOWeek:i=>{const c=a(i),u=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-u),c},startOfMonth:i=>{const c=a(i);return c.setDate(1),c},startOfYear:i=>{const c=a(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const u=a(i),h=(((c?.weekStartsOn??o)+6)%7-u.getDay()+7)%7;return u.setDate(u.getDate()+h),u},endOfISOWeek:i=>{const c=a(i),u=(7-c.getDay())%7;return c.setDate(c.getDate()+u),c},endOfMonth:i=>{const c=a(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=a(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=a(i.start),u=a(i.end),d=[],l=new H(c.getFullYear(),c.getMonth(),1,12,0,0,e),h=u.getFullYear()*12+u.getMonth();for(;l.getFullYear()*12+l.getMonth()<=h;)d.push(new H(l,e)),l.setMonth(l.getMonth()+1,1);return d},addDays:(i,c)=>{const u=a(i);return u.setDate(u.getDate()+c),u},addWeeks:(i,c)=>{const u=a(i);return u.setDate(u.getDate()+c*7),u},addMonths:(i,c)=>{const u=a(i);return u.setMonth(u.getMonth()+c),u},addYears:(i,c)=>{const u=a(i);return u.setFullYear(u.getFullYear()+c),u},eachYearOfInterval:i=>{const c=a(i.start),u=a(i.end),d=[],l=new H(c.getFullYear(),0,1,12,0,0,e);for(;l.getFullYear()<=u.getFullYear();)d.push(new H(l,e)),l.setFullYear(l.getFullYear()+1,0,1);return d},getWeek:(i,c)=>{const u=s(i);return Ke(u,{weekStartsOn:c?.weekStartsOn??o,firstWeekContainsDate:c?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=s(i);return Ze(c)},differenceInCalendarDays:(i,c)=>{const u=s(i),d=s(c);return Xe(u,d)},differenceInCalendarMonths:(i,c)=>{const u=s(i),d=s(c);return Bt(u,d)}}}const Se=e=>e instanceof HTMLElement?e:null,$e=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Fa=e=>Se(e.querySelector("[data-animated-month]")),Ge=e=>Se(e.querySelector("[data-animated-caption]")),Ve=e=>Se(e.querySelector("[data-animated-weeks]")),Ia=e=>Se(e.querySelector("[data-animated-nav]")),Ba=e=>Se(e.querySelector("[data-animated-weekdays]"));function Aa(e,t,{classNames:n,months:r,focused:o,dateLib:a}){const s=m.useRef(null),i=m.useRef(r),c=m.useRef(!1);m.useLayoutEffect(()=>{const u=i.current;if(i.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||u.length===0||r.length!==u.length)return;const d=a.isSameMonth(r[0].date,u[0].date),l=a.isAfter(r[0].date,u[0].date),h=l?n[z.caption_after_enter]:n[z.caption_before_enter],p=l?n[z.weeks_after_enter]:n[z.weeks_before_enter],M=s.current,x=e.current.cloneNode(!0);if(x instanceof HTMLElement?($e(x).forEach(D=>{if(!(D instanceof HTMLElement))return;const W=Fa(D);W&&D.contains(W)&&D.removeChild(W);const w=Ge(D);w&&w.classList.remove(h);const f=Ve(D);f&&f.classList.remove(p)}),s.current=x):s.current=null,c.current||d||o)return;const k=M instanceof HTMLElement?$e(M):[],S=$e(e.current);if(S?.every(_=>_ instanceof HTMLElement)&&k&&k.every(_=>_ instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const _=Ia(e.current);_&&(_.style.zIndex="1"),S.forEach((D,W)=>{const w=k[W];if(!w)return;D.style.position="relative",D.style.overflow="hidden";const f=Ge(D);f&&f.classList.add(h);const b=Ve(D);b&&b.classList.add(p);const O=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),_&&(_.style.zIndex=""),f&&f.classList.remove(h),b&&b.classList.remove(p),D.style.position="",D.style.overflow="",D.contains(w)&&D.removeChild(w)};w.style.pointerEvents="none",w.style.position="absolute",w.style.overflow="hidden",w.setAttribute("aria-hidden","true");const A=Ba(w);A&&(A.style.opacity="0");const B=Ge(w);B&&(B.classList.add(l?n[z.caption_before_exit]:n[z.caption_after_exit]),B.addEventListener("animationend",O));const K=Ve(w);K&&K.classList.add(l?n[z.weeks_before_exit]:n[z.weeks_after_exit]),D.insertBefore(w,D.firstChild)})}})}function Ra(e,t,n,r){const o=e[0],a=e[e.length-1],{ISOWeek:s,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:u,differenceInCalendarDays:d,differenceInCalendarMonths:l,endOfBroadcastWeek:h,endOfISOWeek:p,endOfMonth:M,endOfWeek:x,isAfter:k,startOfBroadcastWeek:S,startOfISOWeek:_,startOfWeek:D}=r,W=c?S(o,r):s?_(o):D(o),w=c?h(a):s?p(M(a)):x(M(a)),f=t&&(c?h(t):s?p(t):x(t)),b=f&&k(w,f)?f:w,O=d(b,W),A=l(a,o)+1,B=[];for(let te=0;te<=O;te++){const G=u(W,te);B.push(G)}const ae=(c?35:42)*A;if(i&&B.length<ae){const te=ae-B.length;for(let G=0;G<te;G++){const le=u(B[B.length-1],1);B.push(le)}}return B}function ja(e){const t=[];return e.reduce((n,r)=>{const o=r.weeks.reduce((a,s)=>a.concat(s.days.slice()),t.slice());return n.concat(o.slice())},t.slice())}function Ha(e,t,n,r){const{numberOfMonths:o=1}=n,a=[];for(let s=0;s<o;s++){const i=r.addMonths(e,s);if(t&&i>t)break;a.push(i)}return a}function kt(e,t,n,r){const{month:o,defaultMonth:a,today:s=r.today(),numberOfMonths:i=1}=e;let c=o||a||s;const{differenceInCalendarMonths:u,addMonths:d,startOfMonth:l}=r;if(n&&u(n,c)<i-1){const h=-1*(i-1);c=d(n,h)}return t&&u(c,t)<0&&(c=t),l(c)}function qa(e,t,n,r){const{addDays:o,endOfBroadcastWeek:a,endOfISOWeek:s,endOfMonth:i,endOfWeek:c,getISOWeek:u,getWeek:d,startOfBroadcastWeek:l,startOfISOWeek:h,startOfWeek:p}=r,M=e.reduce((x,k)=>{const S=n.broadcastCalendar?l(k,r):n.ISOWeek?h(k):p(k),_=n.broadcastCalendar?a(k):n.ISOWeek?s(i(k)):c(i(k)),D=t.filter(b=>b>=S&&b<=_),W=n.broadcastCalendar?35:42;if(n.fixedWeeks&&D.length<W){const b=t.filter(O=>{const A=W-D.length;return O>_&&O<=o(_,A)});D.push(...b)}const w=D.reduce((b,O)=>{const A=n.ISOWeek?u(O):d(O),B=b.find(ae=>ae.weekNumber===A),K=new Gt(O,k,r);return B?B.days.push(K):b.push(new Ao(A,[K])),b},[]),f=new Bo(k,w);return x.push(f),x},[]);return n.reverseMonths?M.reverse():M}function za(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:o,startOfDay:a,startOfMonth:s,endOfMonth:i,addYears:c,endOfYear:u,newDate:d,today:l}=t,{fromYear:h,toYear:p,fromMonth:M,toMonth:x}=e;!n&&M&&(n=M),!n&&h&&(n=t.newDate(h,0,1)),!r&&x&&(r=x),!r&&p&&(r=d(p,11,31));const k=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=s(n):h?n=d(h,0,1):!n&&k&&(n=o(c(e.today??l(),-100))),r?r=i(r):p?r=d(p,11,31):!r&&k&&(r=u(e.today??l())),[n&&a(n),r&&a(r)]}function $a(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:a=1}=n,{startOfMonth:s,addMonths:i,differenceInCalendarMonths:c}=r,u=o?a:1,d=s(e);if(!t)return i(d,u);if(!(c(t,e)<a))return i(d,u)}function Ga(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:a}=n,{startOfMonth:s,addMonths:i,differenceInCalendarMonths:c}=r,u=o?a??1:1,d=s(e);if(!t)return i(d,-u);if(!(c(d,t)<=0))return i(d,-u)}function Va(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function Ee(e,t){const[n,r]=m.useState(e);return[t===void 0?n:t,r]}function Qa(e,t){const[n,r]=za(e,t),{startOfMonth:o,endOfMonth:a}=t,s=kt(e,n,r,t),[i,c]=Ee(s,e.month?s:void 0);m.useEffect(()=>{const W=kt(e,n,r,t);c(W)},[e.timeZone]);const{months:u,weeks:d,days:l,previousMonth:h,nextMonth:p}=m.useMemo(()=>{const W=Ha(i,r,{numberOfMonths:e.numberOfMonths},t),w=Ra(W,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),f=qa(W,w,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),b=Va(f),O=ja(f),A=Ga(i,n,e,t),B=$a(i,r,e,t);return{months:f,weeks:b,days:O,previousMonth:A,nextMonth:B}},[t,i.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:M,onMonthChange:x}=e,k=W=>d.some(w=>w.days.some(f=>f.isEqualTo(W))),S=W=>{if(M)return;let w=o(W);n&&w<o(n)&&(w=o(n)),r&&w>o(r)&&(w=o(r)),c(w),x?.(w)};return{months:u,weeks:d,days:l,navStart:n,navEnd:r,previousMonth:h,nextMonth:p,goToMonth:S,goToDay:W=>{k(W)||S(W.date)}}}var J;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(J||(J={}));function Dt(e){return!e[R.disabled]&&!e[R.hidden]&&!e[R.outside]}function Ua(e,t,n,r){let o,a=-1;for(const s of e){const i=t(s);Dt(i)&&(i[R.focused]&&a<J.FocusedModifier?(o=s,a=J.FocusedModifier):r?.isEqualTo(s)&&a<J.LastFocused?(o=s,a=J.LastFocused):n(s.date)&&a<J.Selected?(o=s,a=J.Selected):i[R.today]&&a<J.Today&&(o=s,a=J.Today))}return o||(o=e.find(s=>Dt(t(s)))),o}function Xa(e,t,n,r,o,a,s){const{ISOWeek:i,broadcastCalendar:c}=a,{addDays:u,addMonths:d,addWeeks:l,addYears:h,endOfBroadcastWeek:p,endOfISOWeek:M,endOfWeek:x,max:k,min:S,startOfBroadcastWeek:_,startOfISOWeek:D,startOfWeek:W}=s;let f={day:u,week:l,month:d,year:h,startOfWeek:b=>c?_(b,s):i?D(b):W(b),endOfWeek:b=>c?p(b):i?M(b):x(b)}[e](n,t==="after"?1:-1);return t==="before"&&r?f=k([r,f]):t==="after"&&o&&(f=S([o,f])),f}function sn(e,t,n,r,o,a,s,i=0){if(i>365)return;const c=Xa(e,t,n.date,r,o,a,s),u=!!(a.disabled&&oe(c,a.disabled,s)),d=!!(a.hidden&&oe(c,a.hidden,s)),l=c,h=new Gt(c,l,s);return!u&&!d?h:sn(e,t,h,r,o,a,s,i+1)}function Za(e,t,n,r,o){const{autoFocus:a}=e,[s,i]=m.useState(),c=Ua(t.days,n,r||(()=>!1),s),[u,d]=m.useState(a?c:void 0);return{isFocusTarget:x=>!!c?.isEqualTo(x),setFocused:d,focused:u,blur:()=>{i(u),d(void 0)},moveFocus:(x,k)=>{if(!u)return;const S=sn(x,k,u,t.navStart,t.navEnd,e,o);S&&(e.disableNavigation&&!t.days.some(D=>D.isEqualTo(S))||(t.goToDay(S),d(S)))}}}function Ka(e,t){const{selected:n,required:r,onSelect:o}=e,[a,s]=Ee(n,o?n:void 0),i=o?n:a,{isSameDay:c}=t,u=p=>i?.some(M=>c(M,p))??!1,{min:d,max:l}=e;return{selected:i,select:(p,M,x)=>{let k=[...i??[]];if(u(p)){if(i?.length===d||r&&i?.length===1)return;k=i?.filter(S=>!c(S,p))}else i?.length===l?k=[p]:k=[...k,p];return o||s(k),o?.(k,p,M,x),k},isSelected:u}}function Ja(e,t,n=0,r=0,o=!1,a=ee){const{from:s,to:i}=t||{},{isSameDay:c,isAfter:u,isBefore:d}=a;let l;if(!s&&!i)l={from:e,to:n>0?void 0:e};else if(s&&!i)c(s,e)?n===0?l={from:s,to:e}:o?l={from:s,to:void 0}:l=void 0:d(e,s)?l={from:e,to:s}:l={from:s,to:e};else if(s&&i)if(c(s,e)&&c(i,e))o?l={from:s,to:i}:l=void 0;else if(c(s,e))l={from:s,to:n>0?void 0:e};else if(c(i,e))l={from:e,to:n>0?void 0:e};else if(d(e,s))l={from:e,to:i};else if(u(e,s))l={from:s,to:e};else if(u(e,i))l={from:s,to:e};else throw new Error("Invalid range");if(l?.from&&l?.to){const h=a.differenceInCalendarDays(l.to,l.from);r>0&&h>r?l={from:e,to:void 0}:n>1&&h<n&&(l={from:e,to:void 0})}return l}function La(e,t,n=ee){const r=Array.isArray(t)?t:[t];let o=e.from;const a=n.differenceInCalendarDays(e.to,e.from),s=Math.min(a,6);for(let i=0;i<=s;i++){if(r.includes(o.getDay()))return!0;o=n.addDays(o,1)}return!1}function Mt(e,t,n=ee){return re(e,t.from,!1,n)||re(e,t.to,!1,n)||re(t,e.from,!1,n)||re(t,e.to,!1,n)}function es(e,t,n=ee){const r=Array.isArray(t)?t:[t];if(r.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?re(e,i,!1,n):Ut(i,n)?i.some(c=>re(e,c,!1,n)):_e(i)?i.from&&i.to?Mt(e,{from:i.from,to:i.to},n):!1:Qt(i)?La(e,i.dayOfWeek,n):Je(i)?n.isAfter(i.before,i.after)?Mt(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):oe(e.from,i,n)||oe(e.to,i,n):Le(i)||et(i)?oe(e.from,i,n)||oe(e.to,i,n):!1))return!0;const s=r.filter(i=>typeof i=="function");if(s.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let u=0;u<=c;u++){if(s.some(d=>d(i)))return!0;i=n.addDays(i,1)}}return!1}function ts(e,t){const{disabled:n,excludeDisabled:r,selected:o,required:a,onSelect:s}=e,[i,c]=Ee(o,s?o:void 0),u=s?o:i;return{selected:u,select:(h,p,M)=>{const{min:x,max:k}=e,S=h?Ja(h,u,x,k,a,t):void 0;return r&&n&&S?.from&&S.to&&es({from:S.from,to:S.to},n,t)&&(S.from=h,S.to=void 0),s||c(S),s?.(S,h,p,M),S},isSelected:h=>u&&re(u,h,!1,t)}}function ns(e,t){const{selected:n,required:r,onSelect:o}=e,[a,s]=Ee(n,o?n:void 0),i=o?n:a,{isSameDay:c}=t;return{selected:i,select:(l,h,p)=>{let M=l;return!r&&i&&i&&c(l,i)&&(M=void 0),o||s(M),o?.(M,l,h,p),M},isSelected:l=>i?c(i,l):!1}}function rs(e,t){const n=ns(e,t),r=Ka(e,t),o=ts(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return o;default:return}}function V(e,t){return e instanceof H&&e.timeZone===t?e:new H(e,t)}function fe(e,t,n){return V(e,t)}function Ot(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?fe(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?fe(r,t):r):_e(e)?{...e,from:e.from?V(e.from,t):e.from,to:e.to?V(e.to,t):e.to}:Je(e)?{before:fe(e.before,t),after:fe(e.after,t)}:Le(e)?{after:fe(e.after,t)}:et(e)?{before:fe(e.before,t)}:e}function Qe(e,t,n){return e&&(Array.isArray(e)?e.map(r=>Ot(r,t)):Ot(e,t))}function os(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=V(t.today,n)),t.month&&(t.month=V(t.month,n)),t.defaultMonth&&(t.defaultMonth=V(t.defaultMonth,n)),t.startMonth&&(t.startMonth=V(t.startMonth,n)),t.endMonth&&(t.endMonth=V(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=V(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(C=>V(C,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?V(t.selected.from,n):t.selected.from,to:t.selected.to?V(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=Qe(t.disabled,n)),t.hidden!==void 0&&(t.hidden=Qe(t.hidden,n)),t.modifiers)){const C={};Object.keys(t.modifiers).forEach(T=>{C[T]=Qe(t.modifiers?.[T],n)}),t.modifiers=C}const{components:r,formatters:o,labels:a,dateLib:s,locale:i,classNames:c}=m.useMemo(()=>{const C={...$t,...t.locale},T=t.broadcastCalendar?1:t.weekStartsOn,v=t.noonSafe&&t.timeZone?Ta(t.timeZone,{weekStartsOn:T,locale:C}):void 0,E=t.dateLib&&v?{...v,...t.dateLib}:t.dateLib??v,q=new $({locale:C,weekStartsOn:T,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},E);return{dateLib:q,components:ma(t.components),formatters:Oa(t.formatters),labels:Na(t.labels,q.options),locale:C,classNames:{...tt(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:s.today()});const{captionLayout:u,mode:d,navLayout:l,numberOfMonths:h=1,onDayBlur:p,onDayClick:M,onDayFocus:x,onDayKeyDown:k,onDayMouseEnter:S,onDayMouseLeave:_,onNextClick:D,onPrevClick:W,showWeekNumber:w,styles:f}=t,{formatCaption:b,formatDay:O,formatMonthDropdown:A,formatWeekNumber:B,formatWeekNumberHeader:K,formatWeekdayName:ae,formatYearDropdown:te}=o,G=Qa(t,s),{days:le,months:xe,navStart:Te,navEnd:Fe,previousMonth:Q,nextMonth:U,goToMonth:ne}=G,Ie=fa(le,t,Te,Fe,s),{isSelected:Be,select:Ae,selected:Ne}=rs(t,s)??{},{blur:at,focused:st,isFocusTarget:bn,moveFocus:it,setFocused:Pe}=Za(t,G,Ie,Be??(()=>!1),s),{labelDayButton:wn,labelGridcell:vn,labelGrid:kn,labelMonthDropdown:Dn,labelNav:ct,labelPrevious:Mn,labelNext:On,labelWeekday:Cn,labelWeekNumber:Sn,labelWeekNumberHeader:Wn,labelYearDropdown:xn}=a,Nn=m.useMemo(()=>Ea(s,t.ISOWeek,t.broadcastCalendar,t.today),[s,t.ISOWeek,t.broadcastCalendar,t.today]),ut=d!==void 0||M!==void 0,Re=m.useCallback(()=>{Q&&(ne(Q),W?.(Q))},[Q,ne,W]),je=m.useCallback(()=>{U&&(ne(U),D?.(U))},[ne,U,D]),Pn=m.useCallback((C,T)=>v=>{v.preventDefault(),v.stopPropagation(),Pe(C),!T.disabled&&(Ae?.(C.date,T,v),M?.(C.date,T,v))},[Ae,M,Pe]),_n=m.useCallback((C,T)=>v=>{Pe(C),x?.(C.date,T,v)},[x,Pe]),En=m.useCallback((C,T)=>v=>{at(),p?.(C.date,T,v)},[at,p]),Yn=m.useCallback((C,T)=>v=>{const E={ArrowLeft:[v.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[v.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[v.shiftKey?"year":"week","after"],ArrowUp:[v.shiftKey?"year":"week","before"],PageUp:[v.shiftKey?"year":"month","before"],PageDown:[v.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(E[v.key]){v.preventDefault(),v.stopPropagation();const[q,P]=E[v.key];it(q,P)}k?.(C.date,T,v)},[it,k,t.dir]),Tn=m.useCallback((C,T)=>v=>{S?.(C.date,T,v)},[S]),Fn=m.useCallback((C,T)=>v=>{_?.(C.date,T,v)},[_]),In=m.useCallback(C=>T=>{const v=Number(T.target.value),E=s.setMonth(s.startOfMonth(C),v);ne(E)},[s,ne]),Bn=m.useCallback(C=>T=>{const v=Number(T.target.value),E=s.setYear(s.startOfMonth(C),v);ne(E)},[s,ne]),{className:An,style:Rn}=m.useMemo(()=>({className:[c[g.Root],t.className].filter(Boolean).join(" "),style:{...f?.[g.Root],...t.style}}),[c,t.className,t.style,f]),jn=ya(t),lt=m.useRef(null);Aa(lt,!!t.animate,{classNames:c,months:xe,focused:st,dateLib:s});const Hn={dayPickerProps:t,selected:Ne,select:Ae,isSelected:Be,months:xe,nextMonth:U,previousMonth:Q,goToMonth:ne,getModifiers:Ie,components:r,classNames:c,styles:f,labels:a,formatters:o};return y.createElement(Vt.Provider,{value:Hn},y.createElement(r.Root,{rootRef:t.animate?lt:void 0,className:An,style:Rn,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...jn},y.createElement(r.Months,{className:c[g.Months],style:f?.[g.Months]},!t.hideNavigation&&!l&&y.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[g.Nav],style:f?.[g.Nav],"aria-label":ct(),onPreviousClick:Re,onNextClick:je,previousMonth:Q,nextMonth:U}),xe.map((C,T)=>y.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:c[g.Month],style:f?.[g.Month],key:T,displayIndex:T,calendarMonth:C},l==="around"&&!t.hideNavigation&&T===0&&y.createElement(r.PreviousMonthButton,{type:"button",className:c[g.PreviousMonthButton],tabIndex:Q?void 0:-1,"aria-disabled":Q?void 0:!0,"aria-label":Mn(Q),onClick:Re,"data-animated-button":t.animate?"true":void 0},y.createElement(r.Chevron,{disabled:Q?void 0:!0,className:c[g.Chevron],orientation:t.dir==="rtl"?"right":"left"})),y.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[g.MonthCaption],style:f?.[g.MonthCaption],calendarMonth:C,displayIndex:T},u?.startsWith("dropdown")?y.createElement(r.DropdownNav,{className:c[g.Dropdowns],style:f?.[g.Dropdowns]},(()=>{const v=u==="dropdown"||u==="dropdown-months"?y.createElement(r.MonthsDropdown,{key:"month",className:c[g.MonthsDropdown],"aria-label":Dn(),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:In(C.date),options:Pa(C.date,Te,Fe,o,s),style:f?.[g.Dropdown],value:s.getMonth(C.date)}):y.createElement("span",{key:"month"},A(C.date,s)),E=u==="dropdown"||u==="dropdown-years"?y.createElement(r.YearsDropdown,{key:"year",className:c[g.YearsDropdown],"aria-label":xn(s.options),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:Bn(C.date),options:Ya(Te,Fe,o,s,!!t.reverseYears),style:f?.[g.Dropdown],value:s.getYear(C.date)}):y.createElement("span",{key:"year"},te(C.date,s));return s.getMonthYearOrder()==="year-first"?[E,v]:[v,E]})(),y.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},b(C.date,s.options,s))):y.createElement(r.CaptionLabel,{className:c[g.CaptionLabel],role:"status","aria-live":"polite"},b(C.date,s.options,s))),l==="around"&&!t.hideNavigation&&T===h-1&&y.createElement(r.NextMonthButton,{type:"button",className:c[g.NextMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":On(U),onClick:je,"data-animated-button":t.animate?"true":void 0},y.createElement(r.Chevron,{disabled:U?void 0:!0,className:c[g.Chevron],orientation:t.dir==="rtl"?"left":"right"})),T===h-1&&l==="after"&&!t.hideNavigation&&y.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[g.Nav],style:f?.[g.Nav],"aria-label":ct(),onPreviousClick:Re,onNextClick:je,previousMonth:Q,nextMonth:U}),y.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":kn(C.date,s.options,s)||void 0,className:c[g.MonthGrid],style:f?.[g.MonthGrid]},!t.hideWeekdays&&y.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[g.Weekdays],style:f?.[g.Weekdays]},w&&y.createElement(r.WeekNumberHeader,{"aria-label":Wn(s.options),className:c[g.WeekNumberHeader],style:f?.[g.WeekNumberHeader],scope:"col"},K()),Nn.map(v=>y.createElement(r.Weekday,{"aria-label":Cn(v,s.options,s),className:c[g.Weekday],key:String(v),style:f?.[g.Weekday],scope:"col"},ae(v,s.options,s)))),y.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[g.Weeks],style:f?.[g.Weeks]},C.weeks.map(v=>y.createElement(r.Week,{className:c[g.Week],key:v.weekNumber,style:f?.[g.Week],week:v},w&&y.createElement(r.WeekNumber,{week:v,style:f?.[g.WeekNumber],"aria-label":Sn(v.weekNumber,{locale:i}),className:c[g.WeekNumber],scope:"row",role:"rowheader"},B(v.weekNumber,s)),v.days.map(E=>{const{date:q}=E,P=Ie(E);if(P[R.focused]=!P.hidden&&!!st?.isEqualTo(E),P[Z.selected]=Be?.(q)||P.selected,_e(Ne)){const{from:He,to:qe}=Ne;P[Z.range_start]=!!(He&&qe&&s.isSameDay(q,He)),P[Z.range_end]=!!(He&&qe&&s.isSameDay(q,qe)),P[Z.range_middle]=re(Ne,q,!0,s)}const qn=_a(P,f,t.modifiersStyles),zn=ha(P,c,t.modifiersClassNames),$n=!ut&&!P.hidden?vn(q,P,s.options,s):void 0;return y.createElement(r.Day,{key:`${E.isoDate}_${E.displayMonthId}`,day:E,modifiers:P,className:zn.join(" "),style:qn,role:"gridcell","aria-selected":P.selected||void 0,"aria-label":$n,"data-day":E.isoDate,"data-month":E.outside?E.dateMonthId:void 0,"data-selected":P.selected||void 0,"data-disabled":P.disabled||void 0,"data-hidden":P.hidden||void 0,"data-outside":E.outside||void 0,"data-focused":P.focused||void 0,"data-today":P.today||void 0},!P.hidden&&ut?y.createElement(r.DayButton,{className:c[g.DayButton],style:f?.[g.DayButton],type:"button",day:E,modifiers:P,disabled:!P.focused&&P.disabled||void 0,"aria-disabled":P.focused&&P.disabled||void 0,tabIndex:bn(E)?0:-1,"aria-label":wn(q,P,s.options,s),onClick:Pn(E,P),onBlur:En(E,P),onFocus:_n(E,P),onKeyDown:Yn(E,P),onMouseEnter:Tn(E,P),onMouseLeave:Fn(E,P)},O(q,s.options,s)):!P.hidden&&O(E.date,s.options,s))})))))))),t.footer&&y.createElement(r.Footer,{className:c[g.Footer],style:f?.[g.Footer],role:"status","aria-live":"polite"},t.footer)))}function as({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:o="ghost",formatters:a,components:s,...i}){const c=tt();return N.jsx(os,{showOutsideDays:n,className:Y("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:u=>u.toLocaleString("default",{month:"short"}),...a},classNames:{root:Y("w-fit",c.root),months:Y("flex gap-4 flex-col md:flex-row relative",c.months),month:Y("flex flex-col w-full gap-4",c.month),nav:Y("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",c.nav),button_previous:Y(dt({variant:o}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_previous),button_next:Y(dt({variant:o}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_next),month_caption:Y("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",c.month_caption),dropdowns:Y("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",c.dropdowns),dropdown_root:Y("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",c.dropdown_root),dropdown:Y("absolute bg-popover inset-0 opacity-0",c.dropdown),caption_label:Y("select-none font-medium",r==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",c.caption_label),table:"w-full border-collapse",weekdays:Y("flex",c.weekdays),weekday:Y("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",c.weekday),week:Y("flex w-full mt-2",c.week),week_number_header:Y("select-none w-(--cell-size)",c.week_number_header),week_number:Y("text-[0.8rem] select-none text-muted-foreground",c.week_number),day:Y("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",c.day),range_start:Y("rounded-l-md bg-accent",c.range_start),range_middle:Y("rounded-none",c.range_middle),range_end:Y("rounded-r-md bg-accent",c.range_end),today:Y("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",c.today),outside:Y("text-muted-foreground aria-selected:text-muted-foreground",c.outside),disabled:Y("text-muted-foreground opacity-50",c.disabled),hidden:Y("invisible",c.hidden),...t},components:{Root:({className:u,rootRef:d,...l})=>N.jsx("div",{"data-slot":"calendar",ref:d,className:Y(u),...l}),Chevron:({className:u,orientation:d,...l})=>d==="left"?N.jsx(ir,{className:Y("size-4",u),...l}):d==="right"?N.jsx(ur,{className:Y("size-4",u),...l}):N.jsx(Qn,{className:Y("size-4",u),...l}),DayButton:ss,WeekNumber:({children:u,...d})=>N.jsx("td",{...d,children:N.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:u})}),...s},...i})}function ss({className:e,day:t,modifiers:n,...r}){const o=tt(),a=m.useRef(null);return m.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),N.jsx(Vn,{ref:a,variant:"ghost",size:"icon",type:"button","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:Y("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",o.day,e),...r})}function is(e){const t=cs(e),n=m.forwardRef((r,o)=>{const{children:a,...s}=r,i=m.Children.toArray(a),c=i.find(ls);if(c){const u=c.props.children,d=i.map(l=>l===c?m.Children.count(u)>1?m.Children.only(null):m.isValidElement(u)?u.props.children:null:l);return N.jsx(t,{...s,ref:o,children:m.isValidElement(u)?m.cloneElement(u,void 0,d):null})}return N.jsx(t,{...s,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function cs(e){const t=m.forwardRef((n,r)=>{const{children:o,...a}=n;if(m.isValidElement(o)){const s=fs(o),i=ds(a,o.props);return o.type!==m.Fragment&&(i.ref=r?Gn(r,s):s),m.cloneElement(o,i)}return m.Children.count(o)>1?m.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var us=Symbol("radix.slottable");function ls(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===us}function ds(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...i)=>{const c=a(...i);return o(...i),c}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function fs(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ye="Popover",[cn]=Zn(Ye,[Wt]),We=Wt(),[hs,ie]=cn(Ye),un=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:s=!1}=e,i=We(t),c=m.useRef(null),[u,d]=m.useState(!1),[l,h]=Un({prop:r,defaultProp:o??!1,onChange:a,caller:Ye});return N.jsx(Xn,{...i,children:N.jsx(hs,{scope:t,contentId:Kn(),triggerRef:c,open:l,onOpenChange:h,onOpenToggle:m.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:u,onCustomAnchorAdd:m.useCallback(()=>d(!0),[]),onCustomAnchorRemove:m.useCallback(()=>d(!1),[]),modal:s,children:n})})};un.displayName=Ye;var ln="PopoverAnchor",ms=m.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=ie(ln,n),a=We(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:i}=o;return m.useEffect(()=>(s(),()=>i()),[s,i]),N.jsx(Nt,{...a,...r,ref:t})});ms.displayName=ln;var dn="PopoverTrigger",fn=m.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=ie(dn,n),a=We(n),s=Ct(t,o.triggerRef),i=N.jsx(xt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":pn(o.open),...r,ref:s,onClick:ke(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?i:N.jsx(Nt,{asChild:!0,...a,children:i})});fn.displayName=dn;var ot="PopoverPortal",[ys,gs]=cn(ot,{forceMount:void 0}),hn=e=>{const{__scopePopover:t,forceMount:n,children:r,container:o}=e,a=ie(ot,t);return N.jsx(ys,{scope:t,forceMount:n,children:N.jsx(Pt,{present:n||a.open,children:N.jsx(Jn,{asChild:!0,container:o,children:r})})})};hn.displayName=ot;var ye="PopoverContent",mn=m.forwardRef((e,t)=>{const n=gs(ye,e.__scopePopover),{forceMount:r=n.forceMount,...o}=e,a=ie(ye,e.__scopePopover);return N.jsx(Pt,{present:r||a.open,children:a.modal?N.jsx(bs,{...o,ref:t}):N.jsx(ws,{...o,ref:t})})});mn.displayName=ye;var ps=is("PopoverContent.RemoveScroll"),bs=m.forwardRef((e,t)=>{const n=ie(ye,e.__scopePopover),r=m.useRef(null),o=Ct(t,r),a=m.useRef(!1);return m.useEffect(()=>{const s=r.current;if(s)return Ln(s)},[]),N.jsx(er,{as:ps,allowPinchZoom:!0,children:N.jsx(yn,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ke(e.onCloseAutoFocus,s=>{s.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:ke(e.onPointerDownOutside,s=>{const i=s.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0,u=i.button===2||c;a.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:ke(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})})}),ws=m.forwardRef((e,t)=>{const n=ie(ye,e.__scopePopover),r=m.useRef(!1),o=m.useRef(!1);return N.jsx(yn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(r.current||n.triggerRef.current?.focus(),a.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=a.target;n.triggerRef.current?.contains(s)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),yn=m.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:d,...l}=e,h=ie(ye,n),p=We(n);return tr(),N.jsx(nr,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:N.jsx(rr,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:u,onDismiss:()=>h.onOpenChange(!1),children:N.jsx(or,{"data-state":pn(h.open),role:"dialog",id:h.contentId,...p,...l,ref:t,style:{...l.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),gn="PopoverClose",vs=m.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=ie(gn,n);return N.jsx(xt.button,{type:"button",...r,ref:t,onClick:ke(e.onClick,()=>o.onOpenChange(!1))})});vs.displayName=gn;var ks="PopoverArrow",Ds=m.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=We(n);return N.jsx(ar,{...o,...r,ref:t})});Ds.displayName=ks;function pn(e){return e?"open":"closed"}var Ms=un,Os=fn,Cs=hn,Ss=mn;function Ws({...e}){return N.jsx(Ms,{"data-slot":"popover",...e})}function xs({...e}){return N.jsx(Os,{"data-slot":"popover-trigger",...e})}function Ns({className:e,align:t="center",sideOffset:n=4,...r}){return N.jsx(Cs,{children:N.jsx(Ss,{"data-slot":"popover-content",align:t,sideOffset:n,className:Y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...r})})}function As({buttonRef:e,onApply:t,open:n,onOpenChange:r,initialFrom:o,initialTo:a}){const[s,i]=m.useState(void 0),[c,u]=m.useState(!1),[d,l]=m.useState(!1),h=m.useMemo(()=>typeof n=="boolean",[n]),p=m.useRef(0),M=m.useRef(!1),x=m.useCallback(f=>{const b=f.getFullYear(),O=String(f.getMonth()+1).padStart(2,"0"),A=String(f.getDate()).padStart(2,"0");return`${b}-${O}-${A}`},[]),k=m.useCallback(f=>{const[b,O,A]=String(f).slice(0,10).split("-").map(B=>Number(B));return new Date(b,(O||1)-1,A||1,12)},[]);m.useEffect(()=>{n&&(o&&a?(i({from:k(o),to:k(a)}),u(!1),l(!0)):(i(void 0),u(!1),l(!1)),p.current=performance.now()+250,M.current=!1)},[n,o,a,k]);const S=m.useCallback(f=>{if(r)r(f);else if(!f&&e.current)try{e.current.click()}catch{}},[r,e]),_=m.useCallback(()=>{M.current=!0,S(!1)},[S]),D=f=>{f&&(p.current=performance.now()+250),!f&&M.current&&(M.current=!1),h&&r?.(f)},W=m.useCallback(f=>{const b=new Date(f.getFullYear(),f.getMonth(),f.getDate(),12);if(d||!c||!s?.from){i({from:b,to:b}),u(!0),l(!1);return}const O=s.from;b<O?(i({from:b,to:O}),t(x(b),x(O))):(i({from:O,to:b}),t(x(O),x(b))),requestAnimationFrame(()=>_())},[s?.from,c,d,t,_,x]),w=m.useMemo(()=>{if(!s?.from)return{};const f={range_start:s.from,range_end:s.to||s.from};if(s.from&&s.to&&s.from<s.to){const b=[],O=new Date(s.from);for(O.setDate(O.getDate()+1);O<s.to;)b.push(new Date(O)),O.setDate(O.getDate()+1);b.length>0&&(f.range_middle=b)}return f},[s]);return N.jsxs(Ws,{open:n,onOpenChange:D,modal:!0,children:[N.jsx(xs,{asChild:!0,children:N.jsx("button",{ref:e,className:"h-9 w-0 outline-none opacity-0 pointer-events-none",tabIndex:-1,"aria-hidden":"true"})}),N.jsx(Ns,{className:"w-auto p-0",align:"end",sideOffset:8,onOpenAutoFocus:f=>f.preventDefault(),onInteractOutside:f=>{if(performance.now()<p.current){f.preventDefault();return}},children:N.jsx("div",{className:"flex flex-col",children:N.jsx(as,{modifiers:w,onDayClick:W,numberOfMonths:1,disabled:{after:new Date},toDate:new Date,className:"border-b border-border"})})})]})}export{As as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./jsx-runtime-u17CrQMm.js";function n({className:t,children:r,...o}){return e.jsxs("button",{type:"button",...o,className:["inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground transition hover:text-primary focus:outline-2 focus:outline-primary",t].filter(Boolean).join(" "),children:[e.jsxs("svg",{"aria-hidden":"true",className:"size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("circle",{cx:"11",cy:"11",r:"7"}),e.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),r??"Details"]})}export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s}from"./jsx-runtime-u17CrQMm.js";import{r as a}from"./analytics-ui-DMSkNqd6.js";import{u as P,b as R,a as w}from"./query-context-B-PgE00D.js";import{useSiteContext as A}from"./site-context-BNteYRlR.js";import{M as F}from"./list-table-ChHEzzF9.js";import{PanelTabs as W,PanelTab as $}from"./panel-tabs-B2kvGFJx.js";import U from"./remote-details-dialog-DDTcKaM5.js";import{p as V,d as G,c as O,b as L,a as q}from"./dialog-path-BBPNlB4Z.js";import K from"./details-button-NqKfSGEG.js";/* empty css */import"./createLucideIcon-BGzacY2v.js";import"./dropdown-menu-Adj3O5fh.js";import"./Combination-BpSXUjp9.js";import"./index-vX97OY1J.js";import"./index-BcHeb-Rh.js";import"./index-DzpzLoG4.js";import"./input-e4v_v0kE.js";import"./button-JVCrlR4s.js";import"./use-debounce-VBpXQRL8.js";const Q=[{value:"browser",label:"Browser"},{value:"os",label:"OS"},{value:"size",label:"Size"}],X={browser:"browsers",os:"operating-systems",size:"screen-sizes"},h={browsers:"browser","browser-versions":"browser","operating-systems":"os","operating-system-versions":"os","screen-sizes":"size"},D="admin.analytics.devices";function ye({initialData:o}){const{query:r,updateQuery:i}=P(),l=A(),[t,x]=a.useState(()=>{if(typeof window>"u")return"browsers";const e=localStorage.getItem(`${D}.${l.domain}`);return e&&Object.keys(h).includes(e)?e:"browsers"}),[d,M]=a.useState(o),[N,v]=a.useState(!1),[z,u]=a.useState(!1);a.useEffect(()=>{const e=new AbortController;return v(!0),R(r,{mode:t},e.signal).then(M).catch(n=>{n.name!=="AbortError"&&console.error(n)}).finally(()=>v(!1)),()=>e.abort()},[t,r]),a.useEffect(()=>{const e=V(window.location.pathname);if(e.type==="segment"){const n=G(e.segment);n&&(t!==n&&x(n),u(!0))}},[]);const _=a.useMemo(()=>"visitors",[]),T=a.useMemo(()=>{switch(t){case"browser-versions":return"Browser Versions";case"operating-systems":return"Operating Systems";case"operating-system-versions":return"OS Versions";case"screen-sizes":return"Screen Sizes";default:return"Browsers"}},[t]),m=a.useMemo(()=>h[t]??"browser",[t]),b=a.useMemo(()=>{switch(m){case"browser":return"Browser";case"os":return"OS";case"size":return"Screen Size";default:return"Item"}},[m]),E=a.useCallback(e=>{x(e),typeof window<"u"&&localStorage.setItem(`${D}.${l.domain}`,e)},[l.domain]),y=a.useCallback(e=>{i(n=>{const c={...n.filters};return t==="browser-versions"?c.browser_version=e:t==="operating-system-versions"?c.os_version=e:t==="operating-systems"?c.os=e:t==="screen-sizes"?c.size=e:c.browser=e,{...n,filters:c}})},[t,i]),I=a.useMemo(()=>{const e="visitors",c=[...d.results].sort((S,j)=>{const k=Number(S[e]??0),C=Number(j[e]??0);return k===C?String(S.name).localeCompare(String(j.name)):C-k}).slice(0,9),g=d.metrics.includes("percentage")?["visitors","percentage"]:["visitors"];return{...d,metrics:g,results:c,meta:{...d.meta,hasMore:d.results.length>9}}},[d]);return s.jsxs("section",{className:"flex flex-col gap-5 rounded-xl border border-border bg-card p-5 shadow-[0_12px_26px_rgba(7,9,16,0.32)]","data-testid":"devices-panel",children:[s.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsx("h2",{className:"text-lg/6 font-semibold text-foreground/80",children:"Devices"}),s.jsx(W,{children:Q.map(e=>s.jsx($,{active:m===e.value,onClick:()=>E(X[e.value]),children:e.label},e.value))})]}),N?s.jsx("div",{className:"flex h-40 items-center justify-center text-sm text-muted-foreground",children:"Loading…"}):d.results.length===0?s.jsx("div",{className:"flex h-40 items-center justify-center text-sm text-muted-foreground",children:"No data yet"}):s.jsxs(s.Fragment,{children:[s.jsx(F,{data:I,highlightedMetric:_??"percentage",onRowClick:e=>y(String(e.name)),renderLeading:e=>B(t,e),displayBars:!1,firstColumnLabel:b,barColorTheme:"cyan",testId:"devices"}),s.jsx("div",{className:"mt-auto flex justify-center pt-3",children:s.jsx(K,{"data-testid":"devices-details-btn",onClick:()=>{u(!0);try{const e=new URLSearchParams(window.location.search);e.delete("dialog"),e.delete("mode");const n=O(t);window.history.pushState({},"",L(n,e.toString()))}catch{}},children:"Details"})})]}),s.jsx(U,{open:z,onOpenChange:e=>{u(e);try{const n=new URLSearchParams(window.location.search);n.delete("dialog"),n.delete("mode");const c=n.toString();if(e){const g=O(t);window.history.pushState({},"",L(g,c))}else window.history.pushState({},"",q(c))}catch{}},title:`Top ${T}`,endpoint:w("devices"),extras:{mode:t},firstColumnLabel:b,defaultSortKey:"visitors",onRowClick:e=>{y(String(e.name)),u(!1)},renderLeading:e=>B(t,e)})]})}const f={Chrome:"chrome.svg",Safari:"safari.png",Firefox:"firefox.svg","Microsoft Edge":"edge.svg",Edge:"edge.svg",Vivaldi:"vivaldi.svg",Opera:"opera.svg","Samsung Browser":"samsung-internet.svg",Chromium:"chromium.svg","UC Browser":"uc.svg","Yandex Browser":"yandex.png","DuckDuckGo Privacy Browser":"duckduckgo.svg",Brave:"brave.svg"};function Y(o){const r=o.split(/\s+\d/)[0].trim();if(f[r])return f[r];for(const[i,l]of Object.entries(f))if(o.toLowerCase().includes(i.toLowerCase()))return l;return"fallback.svg"}const p={iOS:"ios.png",Mac:"mac.png",macOS:"mac.png",Windows:"windows.png","Windows Phone":"windows.png",Android:"android.png","GNU/Linux":"gnu_linux.png",Linux:"gnu_linux.png",Ubuntu:"ubuntu.png","Chrome OS":"chrome_os.png",iPadOS:"ipad_os.png",Fedora:"fedora.png",FreeBSD:"freebsd.png"};function H(o){const r=o.split(/\s+\d/)[0].trim();if(p[r])return p[r];for(const[i,l]of Object.entries(p))if(o.toLowerCase().includes(i.toLowerCase()))return l;return"fallback.svg"}function B(o,r){const i=h[o]??"browser";if(i==="browser"){const t=String(r.browser??r.name??"");return s.jsx(J,{name:t})}if(i==="os"){const t=String(r.os??r.name??"");return s.jsx(Z,{name:t})}const l=String(r.name??"");return s.jsx(ee,{screenSize:l})}function J({name:o}){const r=Y(o);return s.jsx("img",{alt:"",src:w(`images/icon/browser/${r}`),className:"h-5 w-5 mr-2 shrink-0 object-contain"})}function Z({name:o}){const r=H(o);return s.jsx("img",{alt:"",src:w(`images/icon/os/${r}`),className:"h-5 w-5 mr-2 shrink-0 object-contain"})}function ee({screenSize:o}){const r=se(o);return r==="Mobile"?s.jsx("span",{className:"mr-2",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"size-4",children:[s.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",ry:"2"}),s.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"18"})]})}):r==="Tablet"?s.jsx("span",{className:"mr-2",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"size-4",children:[s.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",ry:"2",transform:"rotate(180 12 12)"}),s.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"18"})]})}):r==="Laptop"?s.jsx("span",{className:"mr-2",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"size-4",children:[s.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),s.jsx("line",{x1:"2",y1:"20",x2:"22",y2:"20"})]})}):r==="Desktop"?s.jsx("span",{className:"mr-2",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"size-4",children:[s.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),s.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),s.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]})}):null}function se(o){if(["Mobile","Tablet","Laptop","Desktop"].includes(o))return o;const r=o.match(/(\d+)x(\d+)/);if(!r)return"Desktop";const i=parseInt(r[1],10);return i<=768?"Mobile":i<=1024?"Tablet":i<=1440?"Laptop":"Desktop"}export{ye as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as n}from"./query-context-B-PgE00D.js";const a={channels:"channels",all:"sources","utm-medium":"utm_mediums","utm-source":"utm_sources","utm-campaign":"utm_campaigns","utm-content":"utm_contents","utm-term":"utm_terms"},m={channels:"channels",sources:"sources","utm-medium":"utm_mediums",utm_medium:"utm_mediums","utm-mediums":"utm_mediums",utm_mediums:"utm_mediums","utm-source":"utm_sources",utm_source:"utm_sources","utm-sources":"utm_sources",utm_sources:"utm_sources","utm-campaign":"utm_campaigns",utm_campaign:"utm_campaigns","utm-campaigns":"utm_campaigns",utm_campaigns:"utm_campaigns","utm-content":"utm_contents",utm_content:"utm_contents","utm-contents":"utm_contents",utm_contents:"utm_contents","utm-term":"utm_terms",utm_term:"utm_terms","utm-terms":"utm_terms",utm_terms:"utm_terms",pages:"pages","entry-pages":"entry-pages",entry_pages:"entry-pages",entry:"entry-pages","exit-pages":"exit-pages",exit_pages:"exit-pages",exit:"exit-pages",browsers:"browsers","operating-systems":"operating-systems",operating_systems:"operating-systems","screen-sizes":"screen-sizes",screen_sizes:"screen-sizes",countries:"countries",regions:"regions",cities:"cities",devices:"devices",locations:"locations",behaviors:"behaviors"};function o(e){return a[e]||"sources"}function g(e){const s=n(),t=`${s}/_/referrers/`;if(e.startsWith(t)){const r=e.slice(t.length);if(r)try{return{type:"referrers",source:decodeURIComponent(r)}}catch{return{type:"referrers",source:r}}}const u=`${s}/_/`;if(e.startsWith(u)){const r=e.slice(u.length),c=m[r];if(c)return{type:"segment",segment:c}}return{type:"none"}}function _(e,s=""){const t=`${n()}/_/${e}`;return s?`${t}?${s}`:t}function p(e,s=""){const t=`${n()}/_/referrers/${encodeURIComponent(e)}`;return s?`${t}?${s}`:t}function l(e=""){const s=n();return e?`${s}?${e}`:s}function d(e){switch(e){case"channels":return"channels";case"sources":return"all";case"utm_mediums":return"utm-medium";case"utm_sources":return"utm-source";case"utm_campaigns":return"utm-campaign";case"utm_contents":return"utm-content";case"utm_terms":return"utm-term";default:return null}}function f(e){switch(e){case"entry":return"entry-pages";case"exit":return"exit-pages";default:return"pages"}}function y(e){switch(e){case"pages":return"pages";case"entry-pages":return"entry";case"exit-pages":return"exit";default:return null}}function h(e){switch(e){case"operating-systems":return"operating-systems";case"screen-sizes":return"screen-sizes";default:return"browsers"}}function b(e){switch(e){case"browsers":return"browsers";case"operating-systems":return"operating-systems";case"screen-sizes":return"screen-sizes";default:return null}}function w(e){switch(e){case"regions":return"regions";case"cities":return"cities";default:return"countries"}}function x(e){switch(e){case"countries":return"countries";case"regions":return"regions";case"cities":return"cities";default:return null}}export{l as a,_ as b,h as c,b as d,w as e,y as f,f as g,p as h,o as i,x as l,d as m,g as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as c}from"./jsx-runtime-u17CrQMm.js";import{r as a}from"./analytics-ui-DMSkNqd6.js";import{a as me,b as le,P as D,d as g,u as Se,l as ve,c as ye,R as hn,A as xn,e as _n,h as Cn,m as Rn,g as In,f as bn,F as En,D as Sn,i as yn,j as Dn}from"./Combination-BpSXUjp9.js";import{u as L,a as ge,c as te}from"./index-vX97OY1J.js";import{c as De,u as Pe}from"./index-BcHeb-Rh.js";import{P as oe}from"./index-DzpzLoG4.js";var de="rovingFocusGroup.onEntryFocus",Pn={bubbles:!1,cancelable:!0},X="RovingFocusGroup",[fe,Te,Tn]=De(X),[An,Ae]=me(X,[Tn]),[Nn,On]=An(X),Ne=a.forwardRef((e,t)=>c.jsx(fe.Provider,{scope:e.__scopeRovingFocusGroup,children:c.jsx(fe.Slot,{scope:e.__scopeRovingFocusGroup,children:c.jsx(jn,{...e,ref:t})})}));Ne.displayName=X;var jn=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:l=!1,...u}=e,v=a.useRef(null),h=L(t,v),w=Pe(s),[E,M]=Se({prop:i,defaultProp:d??null,onChange:m,caller:X}),[x,G]=a.useState(!1),R=ve(p),S=Te(n),K=a.useRef(!1),[q,P]=a.useState(0);return a.useEffect(()=>{const _=v.current;if(_)return _.addEventListener(de,R),()=>_.removeEventListener(de,R)},[R]),c.jsx(Nn,{scope:n,orientation:o,dir:w,loop:r,currentTabStopId:E,onItemFocus:a.useCallback(_=>M(_),[M]),onItemShiftTab:a.useCallback(()=>G(!0),[]),onFocusableItemAdd:a.useCallback(()=>P(_=>_+1),[]),onFocusableItemRemove:a.useCallback(()=>P(_=>_-1),[]),children:c.jsx(D.div,{tabIndex:x||q===0?-1:0,"data-orientation":o,...u,ref:h,style:{outline:"none",...e.style},onMouseDown:g(e.onMouseDown,()=>{K.current=!0}),onFocus:g(e.onFocus,_=>{const j=!K.current;if(_.target===_.currentTarget&&j&&!x){const T=new CustomEvent(de,Pn);if(_.currentTarget.dispatchEvent(T),!T.defaultPrevented){const $=S().filter(y=>y.focusable),U=$.find(y=>y.active),J=$.find(y=>y.id===E),ce=[U,J,...$].filter(Boolean).map(y=>y.ref.current);Fe(ce,l)}}K.current=!1}),onBlur:g(e.onBlur,()=>G(!1))})})}),Oe="RovingFocusGroupItem",je=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:s,children:i,...d}=e,m=le(),p=s||m,l=On(Oe,n),u=l.currentTabStopId===p,v=Te(n),{onFocusableItemAdd:h,onFocusableItemRemove:w,currentTabStopId:E}=l;return a.useEffect(()=>{if(o)return h(),()=>w()},[o,h,w]),c.jsx(fe.ItemSlot,{scope:n,id:p,focusable:o,active:r,children:c.jsx(D.span,{tabIndex:u?0:-1,"data-orientation":l.orientation,...d,ref:t,onMouseDown:g(e.onMouseDown,M=>{o?l.onItemFocus(p):M.preventDefault()}),onFocus:g(e.onFocus,()=>l.onItemFocus(p)),onKeyDown:g(e.onKeyDown,M=>{if(M.key==="Tab"&&M.shiftKey){l.onItemShiftTab();return}if(M.target!==M.currentTarget)return;const x=Ln(M,l.orientation,l.dir);if(x!==void 0){if(M.metaKey||M.ctrlKey||M.altKey||M.shiftKey)return;M.preventDefault();let R=v().filter(S=>S.focusable).map(S=>S.ref.current);if(x==="last")R.reverse();else if(x==="prev"||x==="next"){x==="prev"&&R.reverse();const S=R.indexOf(M.currentTarget);R=l.loop?Gn(R,S+1):R.slice(S+1)}setTimeout(()=>Fe(R))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:E!=null}):i})})});je.displayName=Oe;var Fn={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function kn(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Ln(e,t,n){const o=kn(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Fn[o]}function Fe(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function Gn(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Kn=Ne,$n=je;function Un(e){const t=Bn(e),n=a.forwardRef((o,r)=>{const{children:s,...i}=o,d=a.Children.toArray(s),m=d.find(Yn);if(m){const p=m.props.children,l=d.map(u=>u===m?a.Children.count(p)>1?a.Children.only(null):a.isValidElement(p)?p.props.children:null:u);return c.jsx(t,{...i,ref:r,children:a.isValidElement(p)?a.cloneElement(p,void 0,l):null})}return c.jsx(t,{...i,ref:r,children:s})});return n.displayName=`${e}.Slot`,n}function Bn(e){const t=a.forwardRef((n,o)=>{const{children:r,...s}=n;if(a.isValidElement(r)){const i=Hn(r),d=Wn(s,r.props);return r.type!==a.Fragment&&(d.ref=o?ge(o,i):i),a.cloneElement(r,d)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Vn=Symbol("radix.slottable");function Yn(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Vn}function Wn(e,t){const n={...t};for(const o in t){const r=e[o],s=t[o];/^on[A-Z]/.test(o)?r&&s?n[o]=(...d)=>{const m=s(...d);return r(...d),m}:r&&(n[o]=r):o==="style"?n[o]={...r,...s}:o==="className"&&(n[o]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}function Hn(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var pe=["Enter"," "],Xn=["ArrowDown","PageUp","Home"],ke=["ArrowUp","PageDown","End"],zn=[...Xn,...ke],Zn={ltr:[...pe,"ArrowRight"],rtl:[...pe,"ArrowLeft"]},qn={ltr:["ArrowLeft"],rtl:["ArrowRight"]},z="Menu",[W,Jn,Qn]=De(z),[N,Le]=me(z,[Qn,ye,Ae]),re=ye(),Ge=Ae(),[et,O]=N(z),[nt,Z]=N(z),Ke=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:i=!0}=e,d=re(t),[m,p]=a.useState(null),l=a.useRef(!1),u=ve(s),v=Pe(r);return a.useEffect(()=>{const h=()=>{l.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>l.current=!1;return document.addEventListener("keydown",h,{capture:!0}),()=>{document.removeEventListener("keydown",h,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),c.jsx(hn,{...d,children:c.jsx(et,{scope:t,open:n,onOpenChange:u,content:m,onContentChange:p,children:c.jsx(nt,{scope:t,onClose:a.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:l,dir:v,modal:i,children:o})})})};Ke.displayName=z;var tt="MenuAnchor",we=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=re(n);return c.jsx(xn,{...r,...o,ref:t})});we.displayName=tt;var Me="MenuPortal",[ot,$e]=N(Me,{forceMount:void 0}),Ue=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=O(Me,t);return c.jsx(ot,{scope:t,forceMount:n,children:c.jsx(oe,{present:n||s.open,children:c.jsx(_n,{asChild:!0,container:r,children:o})})})};Ue.displayName=Me;var b="MenuContent",[rt,he]=N(b),Be=a.forwardRef((e,t)=>{const n=$e(b,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=O(b,e.__scopeMenu),i=Z(b,e.__scopeMenu);return c.jsx(W.Provider,{scope:e.__scopeMenu,children:c.jsx(oe,{present:o||s.open,children:c.jsx(W.Slot,{scope:e.__scopeMenu,children:i.modal?c.jsx(at,{...r,ref:t}):c.jsx(st,{...r,ref:t})})})})}),at=a.forwardRef((e,t)=>{const n=O(b,e.__scopeMenu),o=a.useRef(null),r=L(t,o);return a.useEffect(()=>{const s=o.current;if(s)return Cn(s)},[]),c.jsx(xe,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:g(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),st=a.forwardRef((e,t)=>{const n=O(b,e.__scopeMenu);return c.jsx(xe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),ct=Un("MenuContent.ScrollLock"),xe=a.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:v,onDismiss:h,disableOutsideScroll:w,...E}=e,M=O(b,n),x=Z(b,n),G=re(n),R=Ge(n),S=Jn(n),[K,q]=a.useState(null),P=a.useRef(null),_=L(t,P,M.onContentChange),j=a.useRef(0),T=a.useRef(""),$=a.useRef(0),U=a.useRef(null),J=a.useRef("right"),Q=a.useRef(0),ce=w?bn:a.Fragment,y=w?{as:ct,allowPinchZoom:!0}:void 0,Mn=f=>{const k=T.current+f,A=S().filter(I=>!I.disabled),B=document.activeElement,ue=A.find(I=>I.ref.current===B)?.textValue,ie=A.map(I=>I.textValue),Ie=ht(ie,k,ue),V=A.find(I=>I.textValue===Ie)?.ref.current;(function I(be){T.current=be,window.clearTimeout(j.current),be!==""&&(j.current=window.setTimeout(()=>I(""),1e3))})(k),V&&setTimeout(()=>V.focus())};a.useEffect(()=>()=>window.clearTimeout(j.current),[]),In();const F=a.useCallback(f=>J.current===U.current?.side&&_t(f,U.current?.area),[]);return c.jsx(rt,{scope:n,searchRef:T,onItemEnter:a.useCallback(f=>{F(f)&&f.preventDefault()},[F]),onItemLeave:a.useCallback(f=>{F(f)||(P.current?.focus(),q(null))},[F]),onTriggerLeave:a.useCallback(f=>{F(f)&&f.preventDefault()},[F]),pointerGraceTimerRef:$,onPointerGraceIntentChange:a.useCallback(f=>{U.current=f},[]),children:c.jsx(ce,{...y,children:c.jsx(En,{asChild:!0,trapped:r,onMountAutoFocus:g(s,f=>{f.preventDefault(),P.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:c.jsx(Sn,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:v,onDismiss:h,children:c.jsx(Kn,{asChild:!0,...R,dir:x.dir,orientation:"vertical",loop:o,currentTabStopId:K,onCurrentTabStopIdChange:q,onEntryFocus:g(m,f=>{x.isUsingKeyboardRef.current||f.preventDefault()}),preventScrollOnEntryFocus:!0,children:c.jsx(yn,{role:"menu","aria-orientation":"vertical","data-state":an(M.open),"data-radix-menu-content":"",dir:x.dir,...G,...E,ref:_,style:{outline:"none",...E.style},onKeyDown:g(E.onKeyDown,f=>{const A=f.target.closest("[data-radix-menu-content]")===f.currentTarget,B=f.ctrlKey||f.altKey||f.metaKey,ue=f.key.length===1;A&&(f.key==="Tab"&&f.preventDefault(),!B&&ue&&Mn(f.key));const ie=P.current;if(f.target!==ie||!zn.includes(f.key))return;f.preventDefault();const V=S().filter(I=>!I.disabled).map(I=>I.ref.current);ke.includes(f.key)&&V.reverse(),wt(V)}),onBlur:g(e.onBlur,f=>{f.currentTarget.contains(f.target)||(window.clearTimeout(j.current),T.current="")}),onPointerMove:g(e.onPointerMove,H(f=>{const k=f.target,A=Q.current!==f.clientX;if(f.currentTarget.contains(k)&&A){const B=f.clientX>Q.current?"right":"left";J.current=B,Q.current=f.clientX}}))})})})})})})});Be.displayName=b;var ut="MenuGroup",_e=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(D.div,{role:"group",...o,ref:t})});_e.displayName=ut;var it="MenuLabel",Ve=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(D.div,{...o,ref:t})});Ve.displayName=it;var ee="MenuItem",Ee="menu.itemSelect",ae=a.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=a.useRef(null),i=Z(ee,e.__scopeMenu),d=he(ee,e.__scopeMenu),m=L(t,s),p=a.useRef(!1),l=()=>{const u=s.current;if(!n&&u){const v=new CustomEvent(Ee,{bubbles:!0,cancelable:!0});u.addEventListener(Ee,h=>o?.(h),{once:!0}),Rn(u,v),v.defaultPrevented?p.current=!1:i.onClose()}};return c.jsx(Ye,{...r,ref:m,disabled:n,onClick:g(e.onClick,l),onPointerDown:u=>{e.onPointerDown?.(u),p.current=!0},onPointerUp:g(e.onPointerUp,u=>{p.current||u.currentTarget?.click()}),onKeyDown:g(e.onKeyDown,u=>{const v=d.searchRef.current!=="";n||v&&u.key===" "||pe.includes(u.key)&&(u.currentTarget.click(),u.preventDefault())})})});ae.displayName=ee;var Ye=a.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,i=he(ee,n),d=Ge(n),m=a.useRef(null),p=L(t,m),[l,u]=a.useState(!1),[v,h]=a.useState("");return a.useEffect(()=>{const w=m.current;w&&h((w.textContent??"").trim())},[s.children]),c.jsx(W.ItemSlot,{scope:n,disabled:o,textValue:r??v,children:c.jsx($n,{asChild:!0,...d,focusable:!o,children:c.jsx(D.div,{role:"menuitem","data-highlighted":l?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:p,onPointerMove:g(e.onPointerMove,H(w=>{o?i.onItemLeave(w):(i.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:g(e.onPointerLeave,H(w=>i.onItemLeave(w))),onFocus:g(e.onFocus,()=>u(!0)),onBlur:g(e.onBlur,()=>u(!1))})})})}),dt="MenuCheckboxItem",We=a.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return c.jsx(qe,{scope:e.__scopeMenu,checked:n,children:c.jsx(ae,{role:"menuitemcheckbox","aria-checked":ne(n)?"mixed":n,...r,ref:t,"data-state":Re(n),onSelect:g(r.onSelect,()=>o?.(ne(n)?!0:!n),{checkForDefaultPrevented:!1})})})});We.displayName=dt;var He="MenuRadioGroup",[lt,ft]=N(He,{value:void 0,onValueChange:()=>{}}),Xe=a.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=ve(o);return c.jsx(lt,{scope:e.__scopeMenu,value:n,onValueChange:s,children:c.jsx(_e,{...r,ref:t})})});Xe.displayName=He;var ze="MenuRadioItem",Ze=a.forwardRef((e,t)=>{const{value:n,...o}=e,r=ft(ze,e.__scopeMenu),s=n===r.value;return c.jsx(qe,{scope:e.__scopeMenu,checked:s,children:c.jsx(ae,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":Re(s),onSelect:g(o.onSelect,()=>r.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ze.displayName=ze;var Ce="MenuItemIndicator",[qe,pt]=N(Ce,{checked:!1}),Je=a.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=pt(Ce,n);return c.jsx(oe,{present:o||ne(s.checked)||s.checked===!0,children:c.jsx(D.span,{...r,ref:t,"data-state":Re(s.checked)})})});Je.displayName=Ce;var mt="MenuSeparator",Qe=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(D.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});Qe.displayName=mt;var vt="MenuArrow",en=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=re(n);return c.jsx(Dn,{...r,...o,ref:t})});en.displayName=vt;var gt="MenuSub",[ho,nn]=N(gt),Y="MenuSubTrigger",tn=a.forwardRef((e,t)=>{const n=O(Y,e.__scopeMenu),o=Z(Y,e.__scopeMenu),r=nn(Y,e.__scopeMenu),s=he(Y,e.__scopeMenu),i=a.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=s,p={__scopeMenu:e.__scopeMenu},l=a.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return a.useEffect(()=>l,[l]),a.useEffect(()=>{const u=d.current;return()=>{window.clearTimeout(u),m(null)}},[d,m]),c.jsx(we,{asChild:!0,...p,children:c.jsx(Ye,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":r.contentId,"data-state":an(n.open),...e,ref:ge(t,r.onTriggerChange),onClick:u=>{e.onClick?.(u),!(e.disabled||u.defaultPrevented)&&(u.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:g(e.onPointerMove,H(u=>{s.onItemEnter(u),!u.defaultPrevented&&!e.disabled&&!n.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),l()},100))})),onPointerLeave:g(e.onPointerLeave,H(u=>{l();const v=n.content?.getBoundingClientRect();if(v){const h=n.content?.dataset.side,w=h==="right",E=w?-5:5,M=v[w?"left":"right"],x=v[w?"right":"left"];s.onPointerGraceIntentChange({area:[{x:u.clientX+E,y:u.clientY},{x:M,y:v.top},{x,y:v.top},{x,y:v.bottom},{x:M,y:v.bottom}],side:h}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(u),u.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:g(e.onKeyDown,u=>{const v=s.searchRef.current!=="";e.disabled||v&&u.key===" "||Zn[o.dir].includes(u.key)&&(n.onOpenChange(!0),n.content?.focus(),u.preventDefault())})})})});tn.displayName=Y;var on="MenuSubContent",rn=a.forwardRef((e,t)=>{const n=$e(b,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=O(b,e.__scopeMenu),i=Z(b,e.__scopeMenu),d=nn(on,e.__scopeMenu),m=a.useRef(null),p=L(t,m);return c.jsx(W.Provider,{scope:e.__scopeMenu,children:c.jsx(oe,{present:o||s.open,children:c.jsx(W.Slot,{scope:e.__scopeMenu,children:c.jsx(xe,{id:d.contentId,"aria-labelledby":d.triggerId,...r,ref:p,align:"start",side:i.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:l=>{i.isUsingKeyboardRef.current&&m.current?.focus(),l.preventDefault()},onCloseAutoFocus:l=>l.preventDefault(),onFocusOutside:g(e.onFocusOutside,l=>{l.target!==d.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:g(e.onEscapeKeyDown,l=>{i.onClose(),l.preventDefault()}),onKeyDown:g(e.onKeyDown,l=>{const u=l.currentTarget.contains(l.target),v=qn[i.dir].includes(l.key);u&&v&&(s.onOpenChange(!1),d.trigger?.focus(),l.preventDefault())})})})})})});rn.displayName=on;function an(e){return e?"open":"closed"}function ne(e){return e==="indeterminate"}function Re(e){return ne(e)?"indeterminate":e?"checked":"unchecked"}function wt(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Mt(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function ht(e,t,n){const r=t.length>1&&Array.from(t).every(p=>p===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let i=Mt(e,Math.max(s,0));r.length===1&&(i=i.filter(p=>p!==n));const m=i.find(p=>p.toLowerCase().startsWith(r.toLowerCase()));return m!==n?m:void 0}function xt(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,i=t.length-1;s<t.length;i=s++){const d=t[s],m=t[i],p=d.x,l=d.y,u=m.x,v=m.y;l>o!=v>o&&n<(u-p)*(o-l)/(v-l)+p&&(r=!r)}return r}function _t(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return xt(n,t)}function H(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Ct=Ke,Rt=we,It=Ue,bt=Be,Et=_e,St=Ve,yt=ae,Dt=We,Pt=Xe,Tt=Ze,At=Je,Nt=Qe,Ot=en,jt=tn,Ft=rn,se="DropdownMenu",[kt]=me(se,[Le]),C=Le(),[Lt,sn]=kt(se),cn=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:i,modal:d=!0}=e,m=C(t),p=a.useRef(null),[l,u]=Se({prop:r,defaultProp:s??!1,onChange:i,caller:se});return c.jsx(Lt,{scope:t,triggerId:le(),triggerRef:p,contentId:le(),open:l,onOpenChange:u,onOpenToggle:a.useCallback(()=>u(v=>!v),[u]),modal:d,children:c.jsx(Ct,{...m,open:l,onOpenChange:u,dir:o,modal:d,children:n})})};cn.displayName=se;var un="DropdownMenuTrigger",dn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=sn(un,n),i=C(n);return c.jsx(Rt,{asChild:!0,...i,children:c.jsx(D.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:ge(t,s.triggerRef),onPointerDown:g(e.onPointerDown,d=>{!o&&d.button===0&&d.ctrlKey===!1&&(s.onOpenToggle(),s.open||d.preventDefault())}),onKeyDown:g(e.onKeyDown,d=>{o||(["Enter"," "].includes(d.key)&&s.onOpenToggle(),d.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(d.key)&&d.preventDefault())})})})});dn.displayName=un;var Gt="DropdownMenuPortal",ln=e=>{const{__scopeDropdownMenu:t,...n}=e,o=C(t);return c.jsx(It,{...o,...n})};ln.displayName=Gt;var fn="DropdownMenuContent",pn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=sn(fn,n),s=C(n),i=a.useRef(!1);return c.jsx(bt,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:g(e.onCloseAutoFocus,d=>{i.current||r.triggerRef.current?.focus(),i.current=!1,d.preventDefault()}),onInteractOutside:g(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,l=m.button===2||p;(!r.modal||l)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pn.displayName=fn;var Kt="DropdownMenuGroup",mn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Et,{...r,...o,ref:t})});mn.displayName=Kt;var $t="DropdownMenuLabel",vn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(St,{...r,...o,ref:t})});vn.displayName=$t;var Ut="DropdownMenuItem",gn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(yt,{...r,...o,ref:t})});gn.displayName=Ut;var Bt="DropdownMenuCheckboxItem",Vt=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Dt,{...r,...o,ref:t})});Vt.displayName=Bt;var Yt="DropdownMenuRadioGroup",Wt=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Pt,{...r,...o,ref:t})});Wt.displayName=Yt;var Ht="DropdownMenuRadioItem",Xt=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Tt,{...r,...o,ref:t})});Xt.displayName=Ht;var zt="DropdownMenuItemIndicator",Zt=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(At,{...r,...o,ref:t})});Zt.displayName=zt;var qt="DropdownMenuSeparator",wn=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Nt,{...r,...o,ref:t})});wn.displayName=qt;var Jt="DropdownMenuArrow",Qt=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Ot,{...r,...o,ref:t})});Qt.displayName=Jt;var eo="DropdownMenuSubTrigger",no=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(jt,{...r,...o,ref:t})});no.displayName=eo;var to="DropdownMenuSubContent",oo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=C(n);return c.jsx(Ft,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});oo.displayName=to;var ro=cn,ao=dn,so=ln,co=pn,uo=mn,io=vn,lo=gn,fo=wn;function xo({...e}){return c.jsx(ro,{"data-slot":"dropdown-menu",...e})}function _o({...e}){return c.jsx(ao,{"data-slot":"dropdown-menu-trigger",...e})}function Co({className:e,sideOffset:t=4,...n}){return c.jsx(so,{children:c.jsx(co,{"data-slot":"dropdown-menu-content",sideOffset:t,className:te("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",e),...n})})}function Ro({...e}){return c.jsx(uo,{"data-slot":"dropdown-menu-group",...e})}function Io({className:e,inset:t,variant:n="default",...o}){return c.jsx(lo,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:te("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o})}function bo({className:e,inset:t,...n}){return c.jsx(io,{"data-slot":"dropdown-menu-label","data-inset":t,className:te("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...n})}function Eo({className:e,...t}){return c.jsx(fo,{"data-slot":"dropdown-menu-separator",className:te("bg-border -mx-1 my-1 h-px",e),...t})}export{xo as D,_o as a,Co as b,Io as c,bo as d,Ro as e,Eo as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as n}from"./jsx-runtime-u17CrQMm.js";import{r as o,a as Oe}from"./analytics-ui-DMSkNqd6.js";import{a as gt,B as Ce}from"./button-JVCrlR4s.js";import{X as vt,I as xt}from"./input-e4v_v0kE.js";import{c as te,a as St,u as G}from"./index-vX97OY1J.js";import{P as z,c as Fe,u as Ae,R as yt,a as wt,b as Me,A as bt,d as V,k as Y,e as Ct,l as jt,h as Nt,g as Tt,f as It,F as Et,D as Pt,i as Rt,j as _t,C as Le}from"./Combination-BpSXUjp9.js";import{u as Ot,c as Mt}from"./index-BcHeb-Rh.js";import{c as Be}from"./createLucideIcon-BGzacY2v.js";import{u as $,j as ie,a as ue}from"./query-context-B-PgE00D.js";import{u as Vt}from"./use-debounce-VBpXQRL8.js";/* empty css */const At=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Dt=Be("check",At);const kt=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Ft=Be("chevron-up",kt);var Lt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Bt=Lt.reduce((e,t)=>{const r=gt(`Primitive.${t}`),s=o.forwardRef((a,l)=>{const{asChild:i,...c}=a,u=i?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(u,{...c,ref:l})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),Ht="Label",He=o.forwardRef((e,t)=>n.jsx(Bt.label,{...e,ref:t,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));He.displayName=Ht;var zt=He;function Ut({className:e,...t}){return n.jsx(zt,{"data-slot":"label",className:te("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}function De(e,[t,r]){return Math.min(r,Math.max(t,e))}function Wt(e){const t=Kt(e),r=o.forwardRef((s,a)=>{const{children:l,...i}=s,c=o.Children.toArray(l),u=c.find(qt);if(u){const d=u.props.children,p=c.map(f=>f===u?o.Children.count(d)>1?o.Children.only(null):o.isValidElement(d)?d.props.children:null:f);return n.jsx(t,{...i,ref:a,children:o.isValidElement(d)?o.cloneElement(d,void 0,p):null})}return n.jsx(t,{...i,ref:a,children:l})});return r.displayName=`${e}.Slot`,r}function Kt(e){const t=o.forwardRef((r,s)=>{const{children:a,...l}=r;if(o.isValidElement(a)){const i=Qt(a),c=Gt(l,a.props);return a.type!==o.Fragment&&(c.ref=s?St(s,i):i),o.cloneElement(a,c)}return o.Children.count(a)>1?o.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var $t=Symbol("radix.slottable");function qt(e){return o.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$t}function Gt(e,t){const r={...t};for(const s in t){const a=e[s],l=t[s];/^on[A-Z]/.test(s)?a&&l?r[s]=(...c)=>{const u=l(...c);return a(...c),u}:a&&(r[s]=a):s==="style"?r[s]={...a,...l}:s==="className"&&(r[s]=[a,l].filter(Boolean).join(" "))}return{...e,...r}}function Qt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Yt(e){const t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var ze=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Xt="VisuallyHidden",Zt=o.forwardRef((e,t)=>n.jsx(z.span,{...e,ref:t,style:{...ze,...e.style}}));Zt.displayName=Xt;var Jt=[" ","Enter","ArrowUp","ArrowDown"],er=[" ","Enter"],re="Select",[me,he,tr]=Mt(re),[ae]=wt(re,[tr,Fe]),ge=Fe(),[rr,X]=ae(re),[or,nr]=ae(re),Ue=e=>{const{__scopeSelect:t,children:r,open:s,defaultOpen:a,onOpenChange:l,value:i,defaultValue:c,onValueChange:u,dir:d,name:p,autoComplete:f,disabled:v,required:g,form:x}=e,m=ge(t),[y,w]=o.useState(null),[h,b]=o.useState(null),[T,C]=o.useState(!1),O=Ot(d),[j,M]=Ae({prop:s,defaultProp:a??!1,onChange:l,caller:re}),[I,E]=Ae({prop:i,defaultProp:c,onChange:u,caller:re}),U=o.useRef(null),D=y?x||!!y.closest("form"):!0,[F,L]=o.useState(new Set),K=Array.from(F).map(A=>A.props.value).join(";");return n.jsx(yt,{...m,children:n.jsxs(rr,{required:g,scope:t,trigger:y,onTriggerChange:w,valueNode:h,onValueNodeChange:b,valueNodeHasChildren:T,onValueNodeHasChildrenChange:C,contentId:Me(),value:I,onValueChange:E,open:j,onOpenChange:M,dir:O,triggerPointerDownPosRef:U,disabled:v,children:[n.jsx(me.Provider,{scope:t,children:n.jsx(or,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(A=>{L(B=>new Set(B).add(A))},[]),onNativeOptionRemove:o.useCallback(A=>{L(B=>{const H=new Set(B);return H.delete(A),H})},[]),children:r})}),D?n.jsxs(dt,{"aria-hidden":!0,required:g,tabIndex:-1,name:p,autoComplete:f,value:I,onChange:A=>E(A.target.value),disabled:v,form:x,children:[I===void 0?n.jsx("option",{value:""}):null,Array.from(F)]},K):null]})})};Ue.displayName=re;var We="SelectTrigger",Ke=o.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:s=!1,...a}=e,l=ge(r),i=X(We,r),c=i.disabled||s,u=G(t,i.onTriggerChange),d=he(r),p=o.useRef("touch"),[f,v,g]=ft(m=>{const y=d().filter(b=>!b.disabled),w=y.find(b=>b.value===i.value),h=mt(y,m,w);h!==void 0&&i.onValueChange(h.value)}),x=m=>{c||(i.onOpenChange(!0),g()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return n.jsx(bt,{asChild:!0,...l,children:n.jsx(z.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":pt(i.value)?"":void 0,...a,ref:u,onClick:V(a.onClick,m=>{m.currentTarget.focus(),p.current!=="mouse"&&x(m)}),onPointerDown:V(a.onPointerDown,m=>{p.current=m.pointerType;const y=m.target;y.hasPointerCapture(m.pointerId)&&y.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(x(m),m.preventDefault())}),onKeyDown:V(a.onKeyDown,m=>{const y=f.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&v(m.key),!(y&&m.key===" ")&&Jt.includes(m.key)&&(x(),m.preventDefault())})})})});Ke.displayName=We;var $e="SelectValue",qe=o.forwardRef((e,t)=>{const{__scopeSelect:r,className:s,style:a,children:l,placeholder:i="",...c}=e,u=X($e,r),{onValueNodeHasChildrenChange:d}=u,p=l!==void 0,f=G(t,u.onValueNodeChange);return Y(()=>{d(p)},[d,p]),n.jsx(z.span,{...c,ref:f,style:{pointerEvents:"none"},children:pt(u.value)?n.jsx(n.Fragment,{children:i}):l})});qe.displayName=$e;var sr="SelectIcon",Ge=o.forwardRef((e,t)=>{const{__scopeSelect:r,children:s,...a}=e;return n.jsx(z.span,{"aria-hidden":!0,...a,ref:t,children:s||"▼"})});Ge.displayName=sr;var ar="SelectPortal",Qe=e=>n.jsx(Ct,{asChild:!0,...e});Qe.displayName=ar;var oe="SelectContent",Ye=o.forwardRef((e,t)=>{const r=X(oe,e.__scopeSelect),[s,a]=o.useState();if(Y(()=>{a(new DocumentFragment)},[]),!r.open){const l=s;return l?Oe.createPortal(n.jsx(Xe,{scope:e.__scopeSelect,children:n.jsx(me.Slot,{scope:e.__scopeSelect,children:n.jsx("div",{children:e.children})})}),l):null}return n.jsx(Ze,{...e,ref:t})});Ye.displayName=oe;var q=10,[Xe,Z]=ae(oe),lr="SelectContentImpl",cr=Wt("SelectContent.RemoveScroll"),Ze=o.forwardRef((e,t)=>{const{__scopeSelect:r,position:s="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:l,onPointerDownOutside:i,side:c,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:v,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:y,...w}=e,h=X(oe,r),[b,T]=o.useState(null),[C,O]=o.useState(null),j=G(t,S=>T(S)),[M,I]=o.useState(null),[E,U]=o.useState(null),D=he(r),[F,L]=o.useState(!1),K=o.useRef(!1);o.useEffect(()=>{if(b)return Nt(b)},[b]),Tt();const A=o.useCallback(S=>{const[R,...W]=D().map(_=>_.ref.current),[N]=W.slice(-1),P=document.activeElement;for(const _ of S)if(_===P||(_?.scrollIntoView({block:"nearest"}),_===R&&C&&(C.scrollTop=0),_===N&&C&&(C.scrollTop=C.scrollHeight),_?.focus(),document.activeElement!==P))return},[D,C]),B=o.useCallback(()=>A([M,b]),[A,M,b]);o.useEffect(()=>{F&&B()},[F,B]);const{onOpenChange:H,triggerPointerDownPosRef:Q}=h;o.useEffect(()=>{if(b){let S={x:0,y:0};const R=N=>{S={x:Math.abs(Math.round(N.pageX)-(Q.current?.x??0)),y:Math.abs(Math.round(N.pageY)-(Q.current?.y??0))}},W=N=>{S.x<=10&&S.y<=10?N.preventDefault():b.contains(N.target)||H(!1),document.removeEventListener("pointermove",R),Q.current=null};return Q.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",W,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",W,{capture:!0})}}},[b,H,Q]),o.useEffect(()=>{const S=()=>H(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[H]);const[ve,de]=ft(S=>{const R=D().filter(P=>!P.disabled),W=R.find(P=>P.ref.current===document.activeElement),N=mt(R,S,W);N&&setTimeout(()=>N.ref.current.focus())}),xe=o.useCallback((S,R,W)=>{const N=!K.current&&!W;(h.value!==void 0&&h.value===R||N)&&(I(S),N&&(K.current=!0))},[h.value]),Se=o.useCallback(()=>b?.focus(),[b]),ne=o.useCallback((S,R,W)=>{const N=!K.current&&!W;(h.value!==void 0&&h.value===R||N)&&U(S)},[h.value]),pe=s==="popper"?Ie:Je,le=pe===Ie?{side:c,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:v,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:y}:{};return n.jsx(Xe,{scope:r,content:b,viewport:C,onViewportChange:O,itemRefCallback:xe,selectedItem:M,onItemLeave:Se,itemTextRefCallback:ne,focusSelectedItem:B,selectedItemText:E,position:s,isPositioned:F,searchRef:ve,children:n.jsx(It,{as:cr,allowPinchZoom:!0,children:n.jsx(Et,{asChild:!0,trapped:h.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:V(a,S=>{h.trigger?.focus({preventScroll:!0}),S.preventDefault()}),children:n.jsx(Pt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:i,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:n.jsx(pe,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed",dir:h.dir,onContextMenu:S=>S.preventDefault(),...w,...le,onPlaced:()=>L(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:V(w.onKeyDown,S=>{const R=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!R&&S.key.length===1&&de(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let N=D().filter(P=>!P.disabled).map(P=>P.ref.current);if(["ArrowUp","End"].includes(S.key)&&(N=N.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const P=S.target,_=N.indexOf(P);N=N.slice(_+1)}setTimeout(()=>A(N)),S.preventDefault()}})})})})})})});Ze.displayName=lr;var ir="SelectItemAlignedPosition",Je=o.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:s,...a}=e,l=X(oe,r),i=Z(oe,r),[c,u]=o.useState(null),[d,p]=o.useState(null),f=G(t,j=>p(j)),v=he(r),g=o.useRef(!1),x=o.useRef(!0),{viewport:m,selectedItem:y,selectedItemText:w,focusSelectedItem:h}=i,b=o.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&d&&m&&y&&w){const j=l.trigger.getBoundingClientRect(),M=d.getBoundingClientRect(),I=l.valueNode.getBoundingClientRect(),E=w.getBoundingClientRect();if(l.dir!=="rtl"){const P=E.left-M.left,_=I.left-P,J=j.left-_,ee=j.width+J,ye=Math.max(ee,M.width),we=window.innerWidth-q,be=De(_,[q,Math.max(q,we-ye)]);c.style.minWidth=ee+"px",c.style.left=be+"px"}else{const P=M.right-E.right,_=window.innerWidth-I.right-P,J=window.innerWidth-j.right-_,ee=j.width+J,ye=Math.max(ee,M.width),we=window.innerWidth-q,be=De(_,[q,Math.max(q,we-ye)]);c.style.minWidth=ee+"px",c.style.right=be+"px"}const U=v(),D=window.innerHeight-q*2,F=m.scrollHeight,L=window.getComputedStyle(d),K=parseInt(L.borderTopWidth,10),A=parseInt(L.paddingTop,10),B=parseInt(L.borderBottomWidth,10),H=parseInt(L.paddingBottom,10),Q=K+A+F+H+B,ve=Math.min(y.offsetHeight*5,Q),de=window.getComputedStyle(m),xe=parseInt(de.paddingTop,10),Se=parseInt(de.paddingBottom,10),ne=j.top+j.height/2-q,pe=D-ne,le=y.offsetHeight/2,S=y.offsetTop+le,R=K+A+S,W=Q-R;if(R<=ne){const P=U.length>0&&y===U[U.length-1].ref.current;c.style.bottom="0px";const _=d.clientHeight-m.offsetTop-m.offsetHeight,J=Math.max(pe,le+(P?Se:0)+_+B),ee=R+J;c.style.height=ee+"px"}else{const P=U.length>0&&y===U[0].ref.current;c.style.top="0px";const J=Math.max(ne,K+m.offsetTop+(P?xe:0)+le)+W;c.style.height=J+"px",m.scrollTop=R-ne+m.offsetTop}c.style.margin=`${q}px 0`,c.style.minHeight=ve+"px",c.style.maxHeight=D+"px",s?.(),requestAnimationFrame(()=>g.current=!0)}},[v,l.trigger,l.valueNode,c,d,m,y,w,l.dir,s]);Y(()=>b(),[b]);const[T,C]=o.useState();Y(()=>{d&&C(window.getComputedStyle(d).zIndex)},[d]);const O=o.useCallback(j=>{j&&x.current===!0&&(b(),h?.(),x.current=!1)},[b,h]);return n.jsx(dr,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:O,children:n.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:T},children:n.jsx(z.div,{...a,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});Je.displayName=ir;var ur="SelectPopperPosition",Ie=o.forwardRef((e,t)=>{const{__scopeSelect:r,align:s="start",collisionPadding:a=q,...l}=e,i=ge(r);return n.jsx(Rt,{...i,...l,ref:t,align:s,collisionPadding:a,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Ie.displayName=ur;var[dr,Ve]=ae(oe,{}),Ee="SelectViewport",et=o.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:s,...a}=e,l=Z(Ee,r),i=Ve(Ee,r),c=G(t,l.onViewportChange),u=o.useRef(0);return n.jsxs(n.Fragment,{children:[n.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),n.jsx(me.Slot,{scope:r,children:n.jsx(z.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:V(a.onScroll,d=>{const p=d.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:v}=i;if(v?.current&&f){const g=Math.abs(u.current-p.scrollTop);if(g>0){const x=window.innerHeight-q*2,m=parseFloat(f.style.minHeight),y=parseFloat(f.style.height),w=Math.max(m,y);if(w<x){const h=w+g,b=Math.min(x,h),T=h-b;f.style.height=b+"px",f.style.bottom==="0px"&&(p.scrollTop=T>0?T:0,f.style.justifyContent="flex-end")}}}u.current=p.scrollTop})})})]})});et.displayName=Ee;var tt="SelectGroup",[pr,fr]=ae(tt),mr=o.forwardRef((e,t)=>{const{__scopeSelect:r,...s}=e,a=Me();return n.jsx(pr,{scope:r,id:a,children:n.jsx(z.div,{role:"group","aria-labelledby":a,...s,ref:t})})});mr.displayName=tt;var rt="SelectLabel",hr=o.forwardRef((e,t)=>{const{__scopeSelect:r,...s}=e,a=fr(rt,r);return n.jsx(z.div,{id:a.id,...s,ref:t})});hr.displayName=rt;var fe="SelectItem",[gr,ot]=ae(fe),nt=o.forwardRef((e,t)=>{const{__scopeSelect:r,value:s,disabled:a=!1,textValue:l,...i}=e,c=X(fe,r),u=Z(fe,r),d=c.value===s,[p,f]=o.useState(l??""),[v,g]=o.useState(!1),x=G(t,h=>u.itemRefCallback?.(h,s,a)),m=Me(),y=o.useRef("touch"),w=()=>{a||(c.onValueChange(s),c.onOpenChange(!1))};if(s==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return n.jsx(gr,{scope:r,value:s,disabled:a,textId:m,isSelected:d,onItemTextChange:o.useCallback(h=>{f(b=>b||(h?.textContent??"").trim())},[]),children:n.jsx(me.ItemSlot,{scope:r,value:s,disabled:a,textValue:p,children:n.jsx(z.div,{role:"option","aria-labelledby":m,"data-highlighted":v?"":void 0,"aria-selected":d&&v,"data-state":d?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:x,onFocus:V(i.onFocus,()=>g(!0)),onBlur:V(i.onBlur,()=>g(!1)),onClick:V(i.onClick,()=>{y.current!=="mouse"&&w()}),onPointerUp:V(i.onPointerUp,()=>{y.current==="mouse"&&w()}),onPointerDown:V(i.onPointerDown,h=>{y.current=h.pointerType}),onPointerMove:V(i.onPointerMove,h=>{y.current=h.pointerType,a?u.onItemLeave?.():y.current==="mouse"&&h.currentTarget.focus({preventScroll:!0})}),onPointerLeave:V(i.onPointerLeave,h=>{h.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:V(i.onKeyDown,h=>{u.searchRef?.current!==""&&h.key===" "||(er.includes(h.key)&&w(),h.key===" "&&h.preventDefault())})})})})});nt.displayName=fe;var ce="SelectItemText",st=o.forwardRef((e,t)=>{const{__scopeSelect:r,className:s,style:a,...l}=e,i=X(ce,r),c=Z(ce,r),u=ot(ce,r),d=nr(ce,r),[p,f]=o.useState(null),v=G(t,w=>f(w),u.onItemTextChange,w=>c.itemTextRefCallback?.(w,u.value,u.disabled)),g=p?.textContent,x=o.useMemo(()=>n.jsx("option",{value:u.value,disabled:u.disabled,children:g},u.value),[u.disabled,u.value,g]),{onNativeOptionAdd:m,onNativeOptionRemove:y}=d;return Y(()=>(m(x),()=>y(x)),[m,y,x]),n.jsxs(n.Fragment,{children:[n.jsx(z.span,{id:u.textId,...l,ref:v}),u.isSelected&&i.valueNode&&!i.valueNodeHasChildren?Oe.createPortal(l.children,i.valueNode):null]})});st.displayName=ce;var at="SelectItemIndicator",lt=o.forwardRef((e,t)=>{const{__scopeSelect:r,...s}=e;return ot(at,r).isSelected?n.jsx(z.span,{"aria-hidden":!0,...s,ref:t}):null});lt.displayName=at;var Pe="SelectScrollUpButton",ct=o.forwardRef((e,t)=>{const r=Z(Pe,e.__scopeSelect),s=Ve(Pe,e.__scopeSelect),[a,l]=o.useState(!1),i=G(t,s.onScrollButtonChange);return Y(()=>{if(r.viewport&&r.isPositioned){let c=function(){const d=u.scrollTop>0;l(d)};const u=r.viewport;return c(),u.addEventListener("scroll",c),()=>u.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),a?n.jsx(ut,{...e,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:u}=r;c&&u&&(c.scrollTop=c.scrollTop-u.offsetHeight)}}):null});ct.displayName=Pe;var Re="SelectScrollDownButton",it=o.forwardRef((e,t)=>{const r=Z(Re,e.__scopeSelect),s=Ve(Re,e.__scopeSelect),[a,l]=o.useState(!1),i=G(t,s.onScrollButtonChange);return Y(()=>{if(r.viewport&&r.isPositioned){let c=function(){const d=u.scrollHeight-u.clientHeight,p=Math.ceil(u.scrollTop)<d;l(p)};const u=r.viewport;return c(),u.addEventListener("scroll",c),()=>u.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),a?n.jsx(ut,{...e,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:u}=r;c&&u&&(c.scrollTop=c.scrollTop+u.offsetHeight)}}):null});it.displayName=Re;var ut=o.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:s,...a}=e,l=Z("SelectScrollButton",r),i=o.useRef(null),c=he(r),u=o.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return o.useEffect(()=>()=>u(),[u]),Y(()=>{c().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),n.jsx(z.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:V(a.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(s,50))}),onPointerMove:V(a.onPointerMove,()=>{l.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(s,50))}),onPointerLeave:V(a.onPointerLeave,()=>{u()})})}),vr="SelectSeparator",xr=o.forwardRef((e,t)=>{const{__scopeSelect:r,...s}=e;return n.jsx(z.div,{"aria-hidden":!0,...s,ref:t})});xr.displayName=vr;var _e="SelectArrow",Sr=o.forwardRef((e,t)=>{const{__scopeSelect:r,...s}=e,a=ge(r),l=X(_e,r),i=Z(_e,r);return l.open&&i.position==="popper"?n.jsx(_t,{...a,...s,ref:t}):null});Sr.displayName=_e;var yr="SelectBubbleInput",dt=o.forwardRef(({__scopeSelect:e,value:t,...r},s)=>{const a=o.useRef(null),l=G(s,a),i=Yt(t);return o.useEffect(()=>{const c=a.current;if(!c)return;const u=window.HTMLSelectElement.prototype,p=Object.getOwnPropertyDescriptor(u,"value").set;if(i!==t&&p){const f=new Event("change",{bubbles:!0});p.call(c,t),c.dispatchEvent(f)}},[i,t]),n.jsx(z.select,{...r,style:{...ze,...r.style},ref:l,defaultValue:t})});dt.displayName=yr;function pt(e){return e===""||e===void 0}function ft(e){const t=jt(e),r=o.useRef(""),s=o.useRef(0),a=o.useCallback(i=>{const c=r.current+i;t(c),(function u(d){r.current=d,window.clearTimeout(s.current),d!==""&&(s.current=window.setTimeout(()=>u(""),1e3))})(c)},[t]),l=o.useCallback(()=>{r.current="",window.clearTimeout(s.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(s.current),[]),[r,a,l]}function mt(e,t,r){const a=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,l=r?e.indexOf(r):-1;let i=wr(e,Math.max(l,0));a.length===1&&(i=i.filter(d=>d!==r));const u=i.find(d=>d.textValue.toLowerCase().startsWith(a.toLowerCase()));return u!==r?u:void 0}function wr(e,t){return e.map((r,s)=>e[(t+s)%e.length])}var br=Ue,Cr=Ke,jr=qe,Nr=Ge,Tr=Qe,Ir=Ye,Er=et,Pr=nt,Rr=st,_r=lt,Or=ct,Mr=it;function Vr({...e}){return n.jsx(br,{"data-slot":"select",...e})}function Ar({...e}){return n.jsx(jr,{"data-slot":"select-value",...e})}function Dr({className:e,size:t="default",children:r,...s}){return n.jsxs(Cr,{"data-slot":"select-trigger","data-size":t,className:te("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...s,children:[r,n.jsx(Nr,{asChild:!0,children:n.jsx(Le,{className:"size-4 opacity-50"})})]})}function kr({className:e,children:t,position:r="popper",...s}){return n.jsx(Tr,{children:n.jsxs(Ir,{"data-slot":"select-content",className:te("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...s,children:[n.jsx(Fr,{}),n.jsx(Er,{className:te("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),n.jsx(Lr,{})]})})}function je({className:e,children:t,...r}){return n.jsxs(Pr,{"data-slot":"select-item",className:te("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[n.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:n.jsx(_r,{children:n.jsx(Dt,{className:"size-4"})})}),n.jsx(Rr,{children:t})]})}function Fr({className:e,...t}){return n.jsx(Or,{"data-slot":"select-scroll-up-button",className:te("flex cursor-default items-center justify-center py-1",e),...t,children:n.jsx(Ft,{className:"size-4"})})}function Lr({className:e,...t}){return n.jsx(Mr,{"data-slot":"select-scroll-down-button",className:te("flex cursor-default items-center justify-center py-1",e),...t,children:n.jsx(Le,{className:"size-4"})})}function ao({open:e,onOpenChange:t,type:r}){const[s,a]=o.useState(!1),l=o.useRef(null),i=o.useRef(null),[c,u]=o.useState(!1),d=o.useRef(null);return o.useEffect(()=>a(!0),[]),o.useEffect(()=>{if(!e){l.current!=null&&(document.body.style.overflow=l.current,l.current=null);return}return l.current=document.body.style.overflow,document.body.style.overflow="hidden",()=>{l.current!=null&&(document.body.style.overflow=l.current,l.current=null)}},[e]),o.useEffect(()=>{if(!e)return;const p=f=>{f.key==="Escape"&&(f.preventDefault(),t(!1))};return window.addEventListener("keydown",p),setTimeout(()=>i.current?.focus(),0),()=>window.removeEventListener("keydown",p)},[e,t]),!s||!e?null:Oe.createPortal(n.jsx("div",{className:"fixed inset-0 z-[60] flex items-start justify-center bg-slate-950/80 p-4 pt-10 sm:pt-10 md:pt-12 lg:pt-16 backdrop-blur-sm",onClick:()=>t(!1),children:n.jsxs("div",{ref:i,role:"dialog","aria-modal":"true",tabIndex:-1,className:"relative mx-auto flex h-[84vh] max-h-[84vh] w-full max-w-6xl flex-col rounded-xl border border-border bg-card shadow-[0_16px_48px_rgba(7,9,16,0.5)] outline-none",onClick:p=>p.stopPropagation(),onKeyDown:p=>{p.key==="Enter"&&(p.metaKey||p.ctrlKey||p.shiftKey||p.altKey)===!1&&c&&d.current&&(p.preventDefault(),d.current())},children:[n.jsxs("header",{className:"flex flex-col gap-2 border-b border-border px-6 py-4 sm:flex-row sm:items-center sm:justify-between md:px-8 md:py-5",children:[n.jsx("h2",{className:"text-xl font-semibold text-foreground/90",children:Br(r)}),n.jsx("div",{className:"flex items-center gap-3",children:n.jsx(Ce,{variant:"ghost",size:"icon",onClick:()=>t(!1),"aria-label":"Close filter dialog",children:n.jsx(vt,{className:"size-5"})})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsxs("div",{className:"h-full overflow-y-auto p-6 md:p-8",children:[r==="page"?n.jsx(Hr,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="location"?n.jsx(zr,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="source"?n.jsx(Ur,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="utm"?n.jsx(Wr,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="browser"?n.jsx(ke,{dim:"browser",onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="os"?n.jsx(ke,{dim:"os",onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="size"?n.jsx(Kr,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null,r==="goal"?n.jsx($r,{onDone:()=>t(!1),onProvideControls:(p,f)=>{d.current=p,u(f)}}):null]})}),n.jsxs("footer",{className:"flex shrink-0 items-center justify-end gap-3 border-t border-border px-6 py-3 md:px-8 md:py-4",children:[n.jsx(Ce,{variant:"ghost",onClick:()=>t(!1),children:"Cancel"}),n.jsx(Ce,{disabled:!c,onClick:()=>d.current&&d.current(),children:"Apply filter"})]})]})}),document.body)}function Br(e){switch(e){case"page":return"Filter by Page";case"location":return"Filter by Location";case"source":return"Filter by Source";case"utm":return"Filter by UTM tags";default:return"Filter"}}function Hr({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState("is"),[c,u]=o.useState("is"),[d,p]=o.useState(""),[f,v]=o.useState(""),[g,x]=o.useState(""),m=o.useMemo(()=>[d,f,g].every(w=>w.trim()===""),[d,f,g]),y=o.useCallback(()=>{r(w=>{let h={...w};const b={...h.filters},T=Array.isArray(h.advancedFilters)?[...h.advancedFilters]:[];function C(O,j,M){const I=M.trim();if(I){delete b[O];for(let E=T.length-1;E>=0;E--)T[E][1]===O&&T.splice(E,1);j==="is"?b[O]=I:T.push([j,O,I])}}return C("page",s,d),C("entry_page",l,f),C("exit_page",c,g),h={...h,filters:b,advancedFilters:T},h}),e()},[r,s,l,c,d,f,g,e]);return o.useEffect(()=>{t(y,!m)},[y,m,t]),n.jsxs("form",{className:"flex flex-col gap-3 md:gap-4",onSubmit:w=>{w.preventDefault()},children:[n.jsx(k,{label:"Page",operator:s,onOperatorChange:a,value:d,onValueChange:p,fetcher:Te("default"),placeholder:"Select a Page"}),n.jsx(k,{label:"Entry Page",operator:l,onOperatorChange:i,value:f,onValueChange:v,fetcher:Te("entry"),placeholder:"Select an Entry Page"}),n.jsx(k,{label:"Exit Page",operator:c,onOperatorChange:u,value:g,onValueChange:x,fetcher:Te("exit"),placeholder:"Select an Exit Page"})]})}function zr({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState("is"),[c,u]=o.useState("is"),[d,p]=o.useState(""),[f,v]=o.useState(""),[g,x]=o.useState(""),m=[d,f,g].every(w=>w.trim()===""),y=o.useCallback(()=>{r(w=>{let h={...w};const b={...h.filters},T=Array.isArray(h.advancedFilters)?[...h.advancedFilters]:[];function C(O,j,M){const I=M.trim();if(I){delete b[O];for(let E=T.length-1;E>=0;E--)T[E][1]===O&&T.splice(E,1);j==="is"?b[O]=I:T.push([j,O,I])}}return C("country",s,d),C("region",l,f),C("city",c,g),h={...h,filters:b,advancedFilters:T},h}),e()},[r,s,l,c,d,f,g,e]);return o.useEffect(()=>{t(y,!m)},[y,m,t]),n.jsxs("form",{className:"flex flex-col gap-4",onSubmit:w=>{w.preventDefault()},children:[n.jsx(k,{label:"Country",operator:s,onOperatorChange:a,value:d,onValueChange:p,fetcher:Ne("countries"),placeholder:"Select a Country"}),n.jsx(k,{label:"Region",operator:l,onOperatorChange:i,value:f,onValueChange:v,fetcher:Ne("regions"),placeholder:"Select a Region"}),n.jsx(k,{label:"City",operator:c,onOperatorChange:u,value:g,onValueChange:x,fetcher:Ne("cities"),placeholder:"Select a City"})]})}function Ne(e){const{query:t}=$();return o.useCallback(async r=>{try{return(await ie(ue("locations"),t,{mode:e},{limit:20,page:1,search:r})).results.map(a=>({label:String(a.name),value:String(a.code??a.name)}))}catch{return[]}},[t,e])}function Ur({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState(""),c=l.trim()==="",u=o.useCallback(()=>{r(d=>{let p={...d};const f={...p.filters},v=Array.isArray(p.advancedFilters)?[...p.advancedFilters]:[];delete f.source;for(let g=v.length-1;g>=0;g--)v[g][1]==="source"&&v.splice(g,1);return s==="is"?f.source=l.trim():v.push([s,"source",l.trim()]),{...p,filters:f,advancedFilters:v}}),e()},[r,s,l,e]);return o.useEffect(()=>{t(u,!c)},[u,c,t]),n.jsx("form",{className:"flex flex-col gap-4",onSubmit:d=>{d.preventDefault()},children:n.jsx(k,{label:"Source",operator:s,onOperatorChange:a,value:l,onValueChange:i,fetcher:se("all"),placeholder:"Select a Source"})})}function se(e){const{query:t}=$();return o.useCallback(async r=>{try{return(await ie(ue("sources"),t,{mode:e},{limit:20,page:1,search:r})).results.map(a=>({label:String(a.name),value:String(a.name)}))}catch{return[]}},[t,e])}function Wr({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState(""),[c,u]=o.useState("is"),[d,p]=o.useState(""),[f,v]=o.useState("is"),[g,x]=o.useState(""),[m,y]=o.useState("is"),[w,h]=o.useState(""),[b,T]=o.useState("is"),[C,O]=o.useState(""),j=[l,d,g,w,C].every(I=>I.trim()===""),M=o.useCallback(()=>{r(I=>{let E={...I};const U={...E.filters},D=Array.isArray(E.advancedFilters)?[...E.advancedFilters]:[];function F(L,K,A){const B=A.trim();if(B){delete U[L];for(let H=D.length-1;H>=0;H--)D[H][1]===L&&D.splice(H,1);K==="is"?U[L]=B:D.push([K,L,B])}}return F("utm_source",s,l),F("utm_medium",c,d),F("utm_campaign",f,g),F("utm_content",m,w),F("utm_term",b,C),{...E,filters:U,advancedFilters:D}}),e()},[r,s,l,c,d,f,g,m,w,b,C,e]);return o.useEffect(()=>{t(M,!j)},[M,j,t]),n.jsxs("form",{className:"flex flex-col gap-4",onSubmit:I=>{I.preventDefault()},children:[n.jsx(k,{label:"UTM Source",operator:s,onOperatorChange:a,value:l,onValueChange:i,fetcher:se("utm-source"),placeholder:"Select a UTM Source"}),n.jsx(k,{label:"UTM Medium",operator:c,onOperatorChange:u,value:d,onValueChange:p,fetcher:se("utm-medium"),placeholder:"Select a UTM Medium"}),n.jsx(k,{label:"UTM Campaign",operator:f,onOperatorChange:v,value:g,onValueChange:x,fetcher:se("utm-campaign"),placeholder:"Select a UTM Campaign"}),n.jsx(k,{label:"UTM Content",operator:m,onOperatorChange:y,value:w,onValueChange:h,fetcher:se("utm-content"),placeholder:"Select a UTM Content"}),n.jsx(k,{label:"UTM Term",operator:b,onOperatorChange:T,value:C,onValueChange:O,fetcher:se("utm-term"),placeholder:"Select a UTM Term"})]})}function ke({dim:e,onDone:t,onProvideControls:r}){const{updateQuery:s}=$(),[a,l]=o.useState("is"),[i,c]=o.useState(""),u=i.trim()==="",d=o.useCallback(()=>{s(f=>{let v={...f};const g={...v.filters},x=Array.isArray(v.advancedFilters)?[...v.advancedFilters]:[];delete g[e];for(let m=x.length-1;m>=0;m--)x[m][1]===e&&x.splice(m,1);return a==="is"?g[e]=i.trim():x.push([a,e,i.trim()]),{...v,filters:g,advancedFilters:x}}),t()},[s,a,i,e,t]);o.useEffect(()=>{r(d,!u)},[d,u,r]);const p=e==="browser"?"browsers":"operating-systems";return n.jsx("form",{className:"flex flex-col gap-4",onSubmit:f=>{f.preventDefault()},children:n.jsx(k,{label:e==="browser"?"Browser":"Operating System",operator:a,onOperatorChange:l,value:i,onValueChange:c,fetcher:ht(p),placeholder:`Select a ${e==="browser"?"Browser":"OS"}`})})}function ht(e){const{query:t}=$();return o.useCallback(async r=>{try{return(await ie(ue("devices"),t,{mode:e},{limit:20,page:1,search:r})).results.map(a=>({label:String(a.name),value:String(a.name)}))}catch{return[]}},[t,e])}function Kr({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState(""),c=l.trim()==="",u=o.useCallback(()=>{r(d=>{let p={...d};const f={...p.filters},v=Array.isArray(p.advancedFilters)?[...p.advancedFilters]:[];delete f.size;for(let g=v.length-1;g>=0;g--)v[g][1]==="size"&&v.splice(g,1);return s==="is"?f.size=l.trim():v.push([s,"size",l.trim()]),{...p,filters:f,advancedFilters:v}}),e()},[r,s,l,e]);return o.useEffect(()=>{t(u,!c)},[u,c,t]),n.jsx("form",{className:"flex flex-col gap-4",onSubmit:d=>{d.preventDefault()},children:n.jsx(k,{label:"Screen Size",operator:s,onOperatorChange:a,value:l,onValueChange:i,fetcher:ht("screen-sizes"),placeholder:"Select a Screen Size"})})}function $r({onDone:e,onProvideControls:t}){const{updateQuery:r}=$(),[s,a]=o.useState("is"),[l,i]=o.useState(""),c=l.trim()==="",u=o.useCallback(()=>{r(d=>{let p={...d};const f={...p.filters},v=Array.isArray(p.advancedFilters)?[...p.advancedFilters]:[];delete f.goal;for(let g=v.length-1;g>=0;g--)v[g][1]==="goal"&&v.splice(g,1);return s==="is"?f.goal=l.trim():v.push([s,"goal",l.trim()]),{...p,filters:f,advancedFilters:v}}),e()},[r,s,l,e]);return o.useEffect(()=>{t(u,!c)},[u,c,t]),n.jsx("form",{className:"flex flex-col gap-4",onSubmit:d=>{d.preventDefault()},children:n.jsx(k,{label:"Goal",operator:s,onOperatorChange:a,value:l,onValueChange:i,fetcher:qr("conversions"),placeholder:"Select a Goal"})})}function qr(e){const{query:t}=$();return o.useCallback(async r=>{try{return(await ie(ue("behaviors"),t,{mode:e},{limit:20,page:1,search:r})).results.map(a=>({label:String(a.name),value:String(a.name)}))}catch{return[]}},[t,e])}function k({label:e,operator:t,onOperatorChange:r,value:s,onValueChange:a,fetcher:l,placeholder:i}){return n.jsxs("div",{className:"grid grid-cols-1 gap-1.5 md:grid-cols-[max-content_minmax(0,1fr)] md:items-center",children:[n.jsx(Ut,{className:"text-sm text-muted-foreground md:self-center",children:e}),n.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[n.jsxs(Vr,{value:t,onValueChange:c=>r(c),children:[n.jsx(Dr,{className:"h-9 w-24 md:w-28 shrink-0 rounded-md",children:n.jsx(Ar,{})}),n.jsxs(kr,{className:"z-[70]",children:[n.jsx(je,{value:"is",children:"is"}),n.jsx(je,{value:"is_not",children:"is not"}),n.jsx(je,{value:"contains",children:"contains"})]})]}),n.jsx("div",{className:"min-w-0 flex-1",children:n.jsx(Gr,{value:s,onChange:a,fetcher:l,placeholder:i})})]})]})}function Te(e){const{query:t}=$();return o.useCallback(async r=>{const s={};e==="entry"&&(s.mode="entry"),e==="exit"&&(s.mode="exit");try{return(await ie(ue("pages"),t,s,{limit:20,page:1,search:r})).results.map(l=>({label:String(l.name),value:String(l.name)}))}catch{return[]}},[t,e])}function Gr({value:e,onChange:t,fetcher:r,placeholder:s,disabled:a}){const[l,i]=o.useState(!1),[c,u]=o.useState([]),[d,p]=o.useState(!1),[f,v]=o.useState(""),g=Vt(async x=>{p(!0);const m=await r(x);u(m),p(!1)},250);return o.useEffect(()=>{l&&g(f)},[l,f]),n.jsxs("div",{className:"relative",children:[n.jsx(xt,{value:e,onChange:x=>{i(!0),v(x.target.value),t(x.target.value)},onFocus:()=>i(!0),onBlur:()=>setTimeout(()=>i(!1),120),placeholder:s,disabled:a,className:"h-9"}),l&&n.jsx("div",{className:"absolute z-50 mt-1 w-full overflow-hidden rounded-md border border-border bg-background shadow-lg",children:n.jsx("div",{className:"max-h-60 overflow-auto text-sm",children:d?n.jsx("div",{className:"px-3 py-2 text-muted-foreground",children:"Searching…"}):c.length===0?n.jsx("div",{className:"px-3 py-2 text-muted-foreground",children:"No matches"}):c.map(x=>n.jsx("button",{type:"button",className:"block w-full cursor-pointer px-3 py-2 text-left hover:bg-muted/50",onMouseDown:m=>m.preventDefault(),onClick:()=>{t(x.value),i(!1)},children:x.label},x.value))})})]})}export{ao as default};
|