agent-relay-server 0.113.0 → 0.114.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.
- package/docs/openapi.json +1 -1
- package/package.json +2 -2
- package/public/assets/MessageBubble-CxqPFLGP.js +4 -0
- package/public/assets/{MessageBubble-CFujR6_L.js.map → MessageBubble-CxqPFLGP.js.map} +1 -1
- package/public/assets/PlanGraphPanel-gQ_lb6zP.js +2 -0
- package/public/assets/PlanGraphPanel-gQ_lb6zP.js.map +1 -0
- package/public/assets/{activity-C7-gIF9O.js → activity-Dw15HMdi.js} +2 -2
- package/public/assets/{activity-C7-gIF9O.js.map → activity-Dw15HMdi.js.map} +1 -1
- package/public/assets/{agent-profiles-BGPa2-BZ.js → agent-profiles-DNtXbS77.js} +2 -2
- package/public/assets/{agent-profiles-BGPa2-BZ.js.map → agent-profiles-DNtXbS77.js.map} +1 -1
- package/public/assets/agents-DOwnLE42.js +2 -0
- package/public/assets/{agents-CWCbBuq6.js.map → agents-DOwnLE42.js.map} +1 -1
- package/public/assets/{analytics-BhGpT0JR.js → analytics-CRwxJWuV.js} +3 -3
- package/public/assets/{analytics-BhGpT0JR.js.map → analytics-CRwxJWuV.js.map} +1 -1
- package/public/assets/{automation-DnpahVqs.js → automation-BQk8XQEj.js} +2 -2
- package/public/assets/{automation-DnpahVqs.js.map → automation-BQk8XQEj.js.map} +1 -1
- package/public/assets/{badge-kdQDWO6e.js → badge-oaCc6hVH.js} +2 -2
- package/public/assets/{badge-kdQDWO6e.js.map → badge-oaCc6hVH.js.map} +1 -1
- package/public/assets/branch-state-badge-JDaHO2fG.js +2 -0
- package/public/assets/{branch-state-badge-CcAq2Igv.js.map → branch-state-badge-JDaHO2fG.js.map} +1 -1
- package/public/assets/{button-BKFvNXa3.js → button-Cx0NiToX.js} +2 -2
- package/public/assets/{button-BKFvNXa3.js.map → button-Cx0NiToX.js.map} +1 -1
- package/public/assets/card-DkHdS68K.js +2 -0
- package/public/assets/{card-B0y1i_2D.js.map → card-DkHdS68K.js.map} +1 -1
- package/public/assets/{channels-DBP3-Gg0.js → channels-wQha9YA6.js} +2 -2
- package/public/assets/{channels-DBP3-Gg0.js.map → channels-wQha9YA6.js.map} +1 -1
- package/public/assets/chat-BTmgzO_g.js +2 -0
- package/public/assets/{chat-Bue-qNx_.js.map → chat-BTmgzO_g.js.map} +1 -1
- package/public/assets/{connectors-BJxbuxoU.js → connectors-BF-XDm0s.js} +2 -2
- package/public/assets/{connectors-BJxbuxoU.js.map → connectors-BF-XDm0s.js.map} +1 -1
- package/public/assets/copy-button-CsCBPQzj.js +2 -0
- package/public/assets/{copy-button-aLaiAkv2.js.map → copy-button-CsCBPQzj.js.map} +1 -1
- package/public/assets/{dist-BDYU37NZ.js → dist-1g1lCjVb.js} +2 -2
- package/public/assets/{dist-BDYU37NZ.js.map → dist-1g1lCjVb.js.map} +1 -1
- package/public/assets/{dist-DnyQI0qt.js → dist-AbnkNPcD.js} +2 -2
- package/public/assets/{dist-DnyQI0qt.js.map → dist-AbnkNPcD.js.map} +1 -1
- package/public/assets/{dist-EO8jbi2F.js → dist-BJnh7VkB.js} +2 -2
- package/public/assets/{dist-EO8jbi2F.js.map → dist-BJnh7VkB.js.map} +1 -1
- package/public/assets/dist-C7VlX6hz.js +2 -0
- package/public/assets/{dist-BnfqT2cl.js.map → dist-C7VlX6hz.js.map} +1 -1
- package/public/assets/{dist-DKoRwEZq.js → dist-DBti5--U.js} +2 -2
- package/public/assets/{dist-DKoRwEZq.js.map → dist-DBti5--U.js.map} +1 -1
- package/public/assets/{dist-DDh8a_SK.js → dist-DJpDTmGg.js} +2 -2
- package/public/assets/{dist-DDh8a_SK.js.map → dist-DJpDTmGg.js.map} +1 -1
- package/public/assets/{dist-D_qcpfbI.js → dist-DLOrqIs-.js} +2 -2
- package/public/assets/{dist-D_qcpfbI.js.map → dist-DLOrqIs-.js.map} +1 -1
- package/public/assets/dist-DjJMNrsj.js +2 -0
- package/public/assets/{dist-cyag2tir.js.map → dist-DjJMNrsj.js.map} +1 -1
- package/public/assets/{dist-avJPT3qF.js → dist-Pak9TL_I.js} +2 -2
- package/public/assets/{dist-avJPT3qF.js.map → dist-Pak9TL_I.js.map} +1 -1
- package/public/assets/dist-QY_EIkcd.js +2 -0
- package/public/assets/{dist-CF28Y5wI.js.map → dist-QY_EIkcd.js.map} +1 -1
- package/public/assets/{dist-DQPz52Zx.js → dist-REUlCFee.js} +2 -2
- package/public/assets/{dist-DQPz52Zx.js.map → dist-REUlCFee.js.map} +1 -1
- package/public/assets/{es2015-C9FSEGd7.js → es2015-GhJvD7eR.js} +2 -2
- package/public/assets/{es2015-C9FSEGd7.js.map → es2015-GhJvD7eR.js.map} +1 -1
- package/public/assets/formatted-body-impl-2ZWd80_S.js +3 -0
- package/public/assets/formatted-body-impl-2ZWd80_S.js.map +1 -0
- package/public/assets/index-D4mb_LKw.js +23 -0
- package/public/assets/index-D4mb_LKw.js.map +1 -0
- package/public/assets/index-DYwuv_Na.css +2 -0
- package/public/assets/{input-DfN6sUbX.js → input-CPfrBmej.js} +2 -2
- package/public/assets/{input-DfN6sUbX.js.map → input-CPfrBmej.js.map} +1 -1
- package/public/assets/{insights-CZ_JrJ8M.js → insights-DwS0svZy.js} +2 -2
- package/public/assets/{insights-CZ_JrJ8M.js.map → insights-DwS0svZy.js.map} +1 -1
- package/public/assets/{integrations-L75xhZd5.js → integrations-De1_UHQE.js} +2 -2
- package/public/assets/{integrations-L75xhZd5.js.map → integrations-De1_UHQE.js.map} +1 -1
- package/public/assets/{lib-DRRHEqRZ.js → lib-Bi-xeh6t.js} +2 -2
- package/public/assets/{lib-DRRHEqRZ.js.map → lib-Bi-xeh6t.js.map} +1 -1
- package/public/assets/{lucide-react-DmbfpRvJ.js → lucide-react-De5edQpl.js} +2 -2
- package/public/assets/{lucide-react-DmbfpRvJ.js.map → lucide-react-De5edQpl.js.map} +1 -1
- package/public/assets/{maintenance-Dpb87NaB.js → maintenance-B5qrcsDt.js} +2 -2
- package/public/assets/{maintenance-Dpb87NaB.js.map → maintenance-B5qrcsDt.js.map} +1 -1
- package/public/assets/{managed-agents-DyGbrKwJ.js → managed-agents-BGMWAUfG.js} +4 -4
- package/public/assets/{managed-agents-DyGbrKwJ.js.map → managed-agents-BGMWAUfG.js.map} +1 -1
- package/public/assets/{markdown-preview-impl-Bx4AcI8G.js → markdown-preview-impl-DsZ4Ek80.js} +2 -2
- package/public/assets/{markdown-preview-impl-Bx4AcI8G.js.map → markdown-preview-impl-DsZ4Ek80.js.map} +1 -1
- package/public/assets/memory-CouN7Y4r.js +2 -0
- package/public/assets/{memory-2l6G_m1p.js.map → memory-CouN7Y4r.js.map} +1 -1
- package/public/assets/messages-D9mYFxhU.js +2 -0
- package/public/assets/{messages-DC-QXNwz.js.map → messages-D9mYFxhU.js.map} +1 -1
- package/public/assets/{orchestrators-D_X3a0dm.js → orchestrators-B_SD_mhI.js} +2 -2
- package/public/assets/{orchestrators-D_X3a0dm.js.map → orchestrators-B_SD_mhI.js.map} +1 -1
- package/public/assets/overview-C8hVsCqz.js +2 -0
- package/public/assets/{overview-76JPEbGZ.js.map → overview-C8hVsCqz.js.map} +1 -1
- package/public/assets/{pairs-IeLXl-Z8.js → pairs-B6vWKXnX.js} +2 -2
- package/public/assets/{pairs-IeLXl-Z8.js.map → pairs-B6vWKXnX.js.map} +1 -1
- package/public/assets/{projects-D8ClXDUg.js → projects-C2gHOdEY.js} +2 -2
- package/public/assets/{projects-D8ClXDUg.js.map → projects-C2gHOdEY.js.map} +1 -1
- package/public/assets/prompt-settings-D4SXk0af.js +2 -0
- package/public/assets/{prompt-settings-BRduaHOj.js.map → prompt-settings-D4SXk0af.js.map} +1 -1
- package/public/assets/{react-dom-jQ4Vs380.js → react-dom-FNIdlE_z.js} +2 -2
- package/public/assets/{react-dom-jQ4Vs380.js.map → react-dom-FNIdlE_z.js.map} +1 -1
- package/public/assets/registry-CMPhWcx3.js +2 -0
- package/public/assets/{registry-CXyaPToV.js.map → registry-CMPhWcx3.js.map} +1 -1
- package/public/assets/{security-8n8VEsf5.js → security-C1fE4DVg.js} +2 -2
- package/public/assets/{security-8n8VEsf5.js.map → security-C1fE4DVg.js.map} +1 -1
- package/public/assets/{select-D-wcg_2U.js → select-D9j1MBVi.js} +2 -2
- package/public/assets/{select-D-wcg_2U.js.map → select-D9j1MBVi.js.map} +1 -1
- package/public/assets/settings-CduSwUr9.js +6 -0
- package/public/assets/{settings-BhnCGXgo.js.map → settings-CduSwUr9.js.map} +1 -1
- package/public/assets/{store-Du8k5mLJ.js → store-Bk6Lku_S.js} +5 -5
- package/public/assets/store-Bk6Lku_S.js.map +1 -0
- package/public/assets/{tasks-DEKQqgPB.js → tasks-Bi456f7f.js} +2 -2
- package/public/assets/{tasks-DEKQqgPB.js.map → tasks-Bi456f7f.js.map} +1 -1
- package/public/assets/{teams-DoRSWZRQ.js → teams-ZEXvcAz_.js} +2 -2
- package/public/assets/{teams-DoRSWZRQ.js.map → teams-ZEXvcAz_.js.map} +1 -1
- package/public/assets/{terminal-viewer-impl-C_o3BOpu.js → terminal-viewer-impl-tktfofs3.js} +3 -3
- package/public/assets/{terminal-viewer-impl-C_o3BOpu.js.map → terminal-viewer-impl-tktfofs3.js.map} +1 -1
- package/public/assets/{use-keyboard-viewport-Dw2CHZ50.js → use-keyboard-viewport-wzkGlTqU.js} +2 -2
- package/public/assets/{use-keyboard-viewport-Dw2CHZ50.js.map → use-keyboard-viewport-wzkGlTqU.js.map} +1 -1
- package/public/assets/user-avatar-_Dq16BWV.js +2 -0
- package/public/assets/{user-avatar-BQoM4jPT.js.map → user-avatar-_Dq16BWV.js.map} +1 -1
- package/public/assets/{work-queue-CWnf1_iE.js → work-queue-Bk8g7t9K.js} +2 -2
- package/public/assets/{work-queue-CWnf1_iE.js.map → work-queue-Bk8g7t9K.js.map} +1 -1
- package/public/assets/workspaces-D2bYW3zl.js +3 -0
- package/public/assets/workspaces-D2bYW3zl.js.map +1 -0
- package/public/index.html +21 -21
- package/runner/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/src/db/provisioning-registry.ts +39 -15
- package/src/db/task-entity.ts +2 -0
- package/src/routes/tasks.ts +1 -0
- package/public/assets/MessageBubble-CFujR6_L.js +0 -4
- package/public/assets/PlanGraphPanel-BfxvqmNS.js +0 -2
- package/public/assets/PlanGraphPanel-BfxvqmNS.js.map +0 -1
- package/public/assets/agents-CWCbBuq6.js +0 -2
- package/public/assets/branch-state-badge-CcAq2Igv.js +0 -2
- package/public/assets/card-B0y1i_2D.js +0 -2
- package/public/assets/chat-Bue-qNx_.js +0 -2
- package/public/assets/copy-button-aLaiAkv2.js +0 -2
- package/public/assets/dist-BnfqT2cl.js +0 -2
- package/public/assets/dist-CF28Y5wI.js +0 -2
- package/public/assets/dist-cyag2tir.js +0 -2
- package/public/assets/formatted-body-impl-CTz6wch8.js +0 -3
- package/public/assets/formatted-body-impl-CTz6wch8.js.map +0 -1
- package/public/assets/index-BMAblAKQ.js +0 -23
- package/public/assets/index-BMAblAKQ.js.map +0 -1
- package/public/assets/index-D-Ntiy3M.css +0 -2
- package/public/assets/memory-2l6G_m1p.js +0 -2
- package/public/assets/messages-DC-QXNwz.js +0 -2
- package/public/assets/overview-76JPEbGZ.js +0 -2
- package/public/assets/prompt-settings-BRduaHOj.js +0 -2
- package/public/assets/registry-CXyaPToV.js +0 -2
- package/public/assets/settings-BhnCGXgo.js +0 -6
- package/public/assets/store-Du8k5mLJ.js.map +0 -1
- package/public/assets/user-avatar-BQoM4jPT.js +0 -2
- package/public/assets/workspaces-C_fFCoCu.js +0 -3
- package/public/assets/workspaces-C_fFCoCu.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=connectors-
|
|
1
|
+
import{B as e,N as t,U as n,b as r,er as i,y as a,z as o}from"./lucide-react-De5edQpl.js";import{t as s}from"./store-Bk6Lku_S.js";import{J as c,Y as l,l as u}from"./display-_5kFrHJh.js";import{t as d}from"./badge-oaCc6hVH.js";import{t as f}from"./button-Cx0NiToX.js";import{o as p,r as m,s as h,t as g}from"./card-DkHdS68K.js";var _=i();function v({connector:i}){let v=s(e=>e.runConnectorAction),y=s(e=>e.openConfirm),b=s(e=>e.showNotification),x=u(i),S=i.runtime,C=i.manifest?.commands||{},w=S.installed,T=!!C.start&&w&&!S.running,E=!!C.stop&&S.running,D=!!C.restart&&w,O=!!C.doctor&&w,k=i.displayName||i.id,A=async e=>{try{await v(i.id,e),b(`${e.charAt(0).toUpperCase()+e.slice(1)} completed for ${k}`)}catch{}};return(0,_.jsxs)(g,{className:`hover:border-zinc-600 transition-colors`,children:[(0,_.jsx)(p,{className:`pb-2 pt-4 px-4`,children:(0,_.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,_.jsx)(`div`,{className:`p-1.5 rounded-md ${S.running?`bg-emerald-500/10`:`bg-zinc-800`}`,children:(0,_.jsx)(e,{className:`w-4 h-4 ${S.running?`text-emerald-400`:`text-zinc-500`}`})}),(0,_.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,_.jsx)(h,{className:`text-sm font-medium truncate`,children:i.displayName||i.id}),(0,_.jsx)(`div`,{className:`text-xs text-muted-foreground mt-0.5`,children:i.kind})]}),(0,_.jsx)(d,{className:`text-[10px] shrink-0 ${c(x.tone)}`,children:x.label})]})}),(0,_.jsxs)(m,{className:`px-4 pb-4 space-y-2.5`,children:[i.description&&(0,_.jsx)(`p`,{className:`text-xs text-muted-foreground leading-relaxed line-clamp-2`,children:i.description}),S.detail&&(0,_.jsx)(`div`,{className:`text-xs px-2 py-1 rounded ${S.status===`error`?`bg-red-500/10 text-red-400`:S.status===`warn`?`bg-yellow-500/10 text-yellow-400`:`bg-zinc-800 text-muted-foreground`}`,children:S.detail}),l(i.capabilities).length>0&&(0,_.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:l(i.capabilities).map(e=>(0,_.jsx)(d,{variant:`secondary`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))}),i.version&&(0,_.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`v`,i.version]}),(0,_.jsxs)(`div`,{className:`flex flex-wrap gap-1.5 pt-0.5`,children:[T&&(0,_.jsxs)(f,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1 text-emerald-400 border-emerald-500/30 hover:text-emerald-300`,onClick:()=>A(`start`),children:[(0,_.jsx)(n,{className:`w-3 h-3`}),`Start`]}),E&&(0,_.jsxs)(f,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1 text-red-400 border-red-500/30 hover:text-red-300`,onClick:()=>y(`Stop Connector`,`Stop ${i.displayName||i.id}?`,()=>A(`stop`)),children:[(0,_.jsx)(r,{className:`w-3 h-3`}),`Stop`]}),D&&(0,_.jsxs)(f,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,onClick:()=>y(`Restart Connector`,`Restart ${i.displayName||i.id}?`,()=>A(`restart`)),children:[(0,_.jsx)(t,{className:`w-3 h-3`}),`Restart`]}),O&&(0,_.jsxs)(f,{size:`sm`,variant:`ghost`,className:`h-7 text-xs gap-1 text-muted-foreground`,onClick:()=>A(`doctor`),children:[(0,_.jsx)(a,{className:`w-3 h-3`}),`Doctor`]}),!w&&C.install&&(0,_.jsxs)(f,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,onClick:()=>A(`install`),children:[(0,_.jsx)(o,{className:`w-3 h-3`}),`Install`]}),w&&C.uninstall&&(0,_.jsx)(f,{size:`sm`,variant:`ghost`,className:`h-7 text-xs text-muted-foreground hover:text-red-400`,onClick:()=>y(`Uninstall Connector`,`Uninstall ${i.displayName||i.id}? This will remove the systemd service.`,()=>A(`uninstall`)),children:`Uninstall`})]})]})]})}function y(){let e=s(e=>e.connectors),t=e.filter(e=>e.runtime.running).length;return(0,_.jsxs)(`div`,{className:`space-y-4`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`h2`,{className:`text-base font-semibold`,children:`Connectors`}),(0,_.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Installed service connectors and integrations`})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[(0,_.jsxs)(d,{variant:`outline`,className:`text-xs`,children:[e.length,` total`]}),t>0&&(0,_.jsxs)(d,{className:`text-xs bg-emerald-500/15 text-emerald-400 border-emerald-500/30`,children:[t,` running`]})]})]}),e.length===0?(0,_.jsx)(`div`,{className:`text-center py-16 text-muted-foreground text-sm`,children:`No connectors registered.`}):(0,_.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4`,children:e.map(e=>(0,_.jsx)(v,{connector:e},e.id))})]})}export{y as ConnectorsView};
|
|
2
|
+
//# sourceMappingURL=connectors-BF-XDm0s.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors-BJxbuxoU.js","names":[],"sources":["../../dashboard/src/components/views/connectors.tsx"],"sourcesContent":["import { useRelayStore } from '@/store'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { connectorPresence, toneToColor, userFacingCapabilities } from '@/lib/display'\nimport { Plug, Play, Square, RotateCw, Stethoscope, Power } from 'lucide-react'\nimport type { ConnectorSummary } from '@/types'\n\nfunction ConnectorCard({ connector }: { connector: ConnectorSummary }) {\n const runConnectorAction = useRelayStore((s) => s.runConnectorAction)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const showNotification = useRelayStore((s) => s.showNotification)\n\n const presence = connectorPresence(connector)\n const runtime = connector.runtime\n const commands = connector.manifest?.commands || {}\n const installed = runtime.installed\n\n const canStart = Boolean(commands.start) && installed && !runtime.running\n const canStop = Boolean(commands.stop) && runtime.running\n const canRestart = Boolean(commands.restart) && installed\n const canDoctor = Boolean(commands.doctor) && installed\n\n const name = connector.displayName || connector.id\n const run = async (action: string) => {\n try {\n await runConnectorAction(connector.id, action)\n showNotification(`${action.charAt(0).toUpperCase() + action.slice(1)} completed for ${name}`)\n } catch { /* error modal already shown by store */ }\n }\n\n return (\n <Card className=\"hover:border-zinc-600 transition-colors\">\n <CardHeader className=\"pb-2 pt-4 px-4\">\n <div className=\"flex items-start gap-2\">\n <div className={`p-1.5 rounded-md ${runtime.running ? 'bg-emerald-500/10' : 'bg-zinc-800'}`}>\n <Plug className={`w-4 h-4 ${runtime.running ? 'text-emerald-400' : 'text-zinc-500'}`} />\n </div>\n <div className=\"flex-1 min-w-0\">\n <CardTitle className=\"text-sm font-medium truncate\">{connector.displayName || connector.id}</CardTitle>\n <div className=\"text-xs text-muted-foreground mt-0.5\">{connector.kind}</div>\n </div>\n <Badge className={`text-[10px] shrink-0 ${toneToColor(presence.tone)}`}>\n {presence.label}\n </Badge>\n </div>\n </CardHeader>\n\n <CardContent className=\"px-4 pb-4 space-y-2.5\">\n {/* Description */}\n {connector.description && (\n <p className=\"text-xs text-muted-foreground leading-relaxed line-clamp-2\">{connector.description}</p>\n )}\n\n {/* Runtime status detail */}\n {runtime.detail && (\n <div className={`text-xs px-2 py-1 rounded ${runtime.status === 'error' ? 'bg-red-500/10 text-red-400' : runtime.status === 'warn' ? 'bg-yellow-500/10 text-yellow-400' : 'bg-zinc-800 text-muted-foreground'}`}>\n {runtime.detail}\n </div>\n )}\n\n {/* Capabilities */}\n {userFacingCapabilities(connector.capabilities).length > 0 && (\n <div className=\"flex flex-wrap gap-1\">\n {userFacingCapabilities(connector.capabilities).map((c) => (\n <Badge key={c} variant=\"secondary\" className=\"text-[9px] px-1 py-0 h-4\">{c}</Badge>\n ))}\n </div>\n )}\n\n {/* Version */}\n {connector.version && (\n <div className=\"text-xs text-muted-foreground\">v{connector.version}</div>\n )}\n\n {/* Action buttons */}\n <div className=\"flex flex-wrap gap-1.5 pt-0.5\">\n {canStart && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1 text-emerald-400 border-emerald-500/30 hover:text-emerald-300\"\n onClick={() => run('start')}\n >\n <Play className=\"w-3 h-3\" />\n Start\n </Button>\n )}\n {canStop && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1 text-red-400 border-red-500/30 hover:text-red-300\"\n onClick={() => openConfirm('Stop Connector', `Stop ${connector.displayName || connector.id}?`, () => run('stop'))}\n >\n <Square className=\"w-3 h-3\" />\n Stop\n </Button>\n )}\n {canRestart && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1\"\n onClick={() => openConfirm('Restart Connector', `Restart ${connector.displayName || connector.id}?`, () => run('restart'))}\n >\n <RotateCw className=\"w-3 h-3\" />\n Restart\n </Button>\n )}\n {canDoctor && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-7 text-xs gap-1 text-muted-foreground\"\n onClick={() => run('doctor')}\n >\n <Stethoscope className=\"w-3 h-3\" />\n Doctor\n </Button>\n )}\n {!installed && commands.install && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1\"\n onClick={() => run('install')}\n >\n <Power className=\"w-3 h-3\" />\n Install\n </Button>\n )}\n {installed && commands.uninstall && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-7 text-xs text-muted-foreground hover:text-red-400\"\n onClick={() => openConfirm('Uninstall Connector', `Uninstall ${connector.displayName || connector.id}? This will remove the systemd service.`, () => run('uninstall'))}\n >\n Uninstall\n </Button>\n )}\n </div>\n </CardContent>\n </Card>\n )\n}\n\nexport function ConnectorsView() {\n const connectors = useRelayStore((s) => s.connectors)\n\n const runningCount = connectors.filter((c) => c.runtime.running).length\n\n return (\n <div className=\"space-y-4\">\n {/* Header */}\n <div className=\"flex items-center gap-3\">\n <div>\n <h2 className=\"text-base font-semibold\">Connectors</h2>\n <p className=\"text-xs text-muted-foreground\">Installed service connectors and integrations</p>\n </div>\n <div className=\"flex items-center gap-2 ml-auto\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {connectors.length} total\n </Badge>\n {runningCount > 0 && (\n <Badge className=\"text-xs bg-emerald-500/15 text-emerald-400 border-emerald-500/30\">\n {runningCount} running\n </Badge>\n )}\n </div>\n </div>\n\n {/* Cards */}\n {connectors.length === 0 ? (\n <div className=\"text-center py-16 text-muted-foreground text-sm\">\n No connectors registered.\n </div>\n ) : (\n <div className=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\n {connectors.map((connector) => (\n <ConnectorCard key={connector.id} connector={connector} />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connectors-BF-XDm0s.js","names":[],"sources":["../../dashboard/src/components/views/connectors.tsx"],"sourcesContent":["import { useRelayStore } from '@/store'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { connectorPresence, toneToColor, userFacingCapabilities } from '@/lib/display'\nimport { Plug, Play, Square, RotateCw, Stethoscope, Power } from 'lucide-react'\nimport type { ConnectorSummary } from '@/types'\n\nfunction ConnectorCard({ connector }: { connector: ConnectorSummary }) {\n const runConnectorAction = useRelayStore((s) => s.runConnectorAction)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const showNotification = useRelayStore((s) => s.showNotification)\n\n const presence = connectorPresence(connector)\n const runtime = connector.runtime\n const commands = connector.manifest?.commands || {}\n const installed = runtime.installed\n\n const canStart = Boolean(commands.start) && installed && !runtime.running\n const canStop = Boolean(commands.stop) && runtime.running\n const canRestart = Boolean(commands.restart) && installed\n const canDoctor = Boolean(commands.doctor) && installed\n\n const name = connector.displayName || connector.id\n const run = async (action: string) => {\n try {\n await runConnectorAction(connector.id, action)\n showNotification(`${action.charAt(0).toUpperCase() + action.slice(1)} completed for ${name}`)\n } catch { /* error modal already shown by store */ }\n }\n\n return (\n <Card className=\"hover:border-zinc-600 transition-colors\">\n <CardHeader className=\"pb-2 pt-4 px-4\">\n <div className=\"flex items-start gap-2\">\n <div className={`p-1.5 rounded-md ${runtime.running ? 'bg-emerald-500/10' : 'bg-zinc-800'}`}>\n <Plug className={`w-4 h-4 ${runtime.running ? 'text-emerald-400' : 'text-zinc-500'}`} />\n </div>\n <div className=\"flex-1 min-w-0\">\n <CardTitle className=\"text-sm font-medium truncate\">{connector.displayName || connector.id}</CardTitle>\n <div className=\"text-xs text-muted-foreground mt-0.5\">{connector.kind}</div>\n </div>\n <Badge className={`text-[10px] shrink-0 ${toneToColor(presence.tone)}`}>\n {presence.label}\n </Badge>\n </div>\n </CardHeader>\n\n <CardContent className=\"px-4 pb-4 space-y-2.5\">\n {/* Description */}\n {connector.description && (\n <p className=\"text-xs text-muted-foreground leading-relaxed line-clamp-2\">{connector.description}</p>\n )}\n\n {/* Runtime status detail */}\n {runtime.detail && (\n <div className={`text-xs px-2 py-1 rounded ${runtime.status === 'error' ? 'bg-red-500/10 text-red-400' : runtime.status === 'warn' ? 'bg-yellow-500/10 text-yellow-400' : 'bg-zinc-800 text-muted-foreground'}`}>\n {runtime.detail}\n </div>\n )}\n\n {/* Capabilities */}\n {userFacingCapabilities(connector.capabilities).length > 0 && (\n <div className=\"flex flex-wrap gap-1\">\n {userFacingCapabilities(connector.capabilities).map((c) => (\n <Badge key={c} variant=\"secondary\" className=\"text-[9px] px-1 py-0 h-4\">{c}</Badge>\n ))}\n </div>\n )}\n\n {/* Version */}\n {connector.version && (\n <div className=\"text-xs text-muted-foreground\">v{connector.version}</div>\n )}\n\n {/* Action buttons */}\n <div className=\"flex flex-wrap gap-1.5 pt-0.5\">\n {canStart && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1 text-emerald-400 border-emerald-500/30 hover:text-emerald-300\"\n onClick={() => run('start')}\n >\n <Play className=\"w-3 h-3\" />\n Start\n </Button>\n )}\n {canStop && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1 text-red-400 border-red-500/30 hover:text-red-300\"\n onClick={() => openConfirm('Stop Connector', `Stop ${connector.displayName || connector.id}?`, () => run('stop'))}\n >\n <Square className=\"w-3 h-3\" />\n Stop\n </Button>\n )}\n {canRestart && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1\"\n onClick={() => openConfirm('Restart Connector', `Restart ${connector.displayName || connector.id}?`, () => run('restart'))}\n >\n <RotateCw className=\"w-3 h-3\" />\n Restart\n </Button>\n )}\n {canDoctor && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-7 text-xs gap-1 text-muted-foreground\"\n onClick={() => run('doctor')}\n >\n <Stethoscope className=\"w-3 h-3\" />\n Doctor\n </Button>\n )}\n {!installed && commands.install && (\n <Button\n size=\"sm\"\n variant=\"outline\"\n className=\"h-7 text-xs gap-1\"\n onClick={() => run('install')}\n >\n <Power className=\"w-3 h-3\" />\n Install\n </Button>\n )}\n {installed && commands.uninstall && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-7 text-xs text-muted-foreground hover:text-red-400\"\n onClick={() => openConfirm('Uninstall Connector', `Uninstall ${connector.displayName || connector.id}? This will remove the systemd service.`, () => run('uninstall'))}\n >\n Uninstall\n </Button>\n )}\n </div>\n </CardContent>\n </Card>\n )\n}\n\nexport function ConnectorsView() {\n const connectors = useRelayStore((s) => s.connectors)\n\n const runningCount = connectors.filter((c) => c.runtime.running).length\n\n return (\n <div className=\"space-y-4\">\n {/* Header */}\n <div className=\"flex items-center gap-3\">\n <div>\n <h2 className=\"text-base font-semibold\">Connectors</h2>\n <p className=\"text-xs text-muted-foreground\">Installed service connectors and integrations</p>\n </div>\n <div className=\"flex items-center gap-2 ml-auto\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {connectors.length} total\n </Badge>\n {runningCount > 0 && (\n <Badge className=\"text-xs bg-emerald-500/15 text-emerald-400 border-emerald-500/30\">\n {runningCount} running\n </Badge>\n )}\n </div>\n </div>\n\n {/* Cards */}\n {connectors.length === 0 ? (\n <div className=\"text-center py-16 text-muted-foreground text-sm\">\n No connectors registered.\n </div>\n ) : (\n <div className=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\n {connectors.map((connector) => (\n <ConnectorCard key={connector.id} connector={connector} />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./chunk-CilyBKbf.js";import{Qn as t,Tn as n,an as r,er as i,pr as a}from"./lucide-react-De5edQpl.js";import{t as o}from"./button-Cx0NiToX.js";var s=e(a(),1),c=i();function l({value:e,label:i=`Copy`,copiedLabel:a=`Copied`,showText:l=!1,size:u,variant:d=`ghost`,className:f,iconClassName:p,disabled:m,onCopied:h}){let[g,_]=(0,s.useState)(!1),v=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{v.current&&clearTimeout(v.current)},[]);async function y(t){t.preventDefault(),t.stopPropagation();try{await navigator.clipboard?.writeText(typeof e==`function`?e():e),_(!0),h?.(),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>_(!1),1400)}catch{_(!1)}}let b=u??(l?`sm`:`icon-sm`),x=t(`h-3.5 w-3.5`,p);return(0,c.jsxs)(o,{type:`button`,size:b,variant:d,className:f,disabled:m,title:g?a:i,"aria-label":g?a:i,onClick:e=>void y(e),children:[g?(0,c.jsx)(n,{className:x}):(0,c.jsx)(r,{className:x}),l&&(g?a:i)]})}export{l as t};
|
|
2
|
+
//# sourceMappingURL=copy-button-CsCBPQzj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button-
|
|
1
|
+
{"version":3,"file":"copy-button-CsCBPQzj.js","names":[],"sources":["../../dashboard/src/components/shared/copy-button.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { Check, Copy } from 'lucide-react'\nimport { Button } from '@/components/ui/button'\nimport { cn } from '@/lib/utils'\n\ntype ButtonSize = 'default' | 'xs' | 'sm' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg'\ntype ButtonVariant = 'default' | 'outline' | 'secondary' | 'ghost' | 'destructive' | 'link'\n\ninterface CopyButtonProps {\n /** The text written to the clipboard — a string, or a thunk for lazily-built content. */\n value: string | (() => string)\n /** Title/aria-label before copying. Defaults to \"Copy\". */\n label?: string\n /** Title/aria-label after copying. Defaults to \"Copied\". */\n copiedLabel?: string\n /** Render the label text next to the icon (otherwise icon-only). */\n showText?: boolean\n size?: ButtonSize\n variant?: ButtonVariant\n className?: string\n iconClassName?: string\n disabled?: boolean\n /** Called after a successful copy (e.g. to surface a toast). */\n onCopied?: () => void\n}\n\n/**\n * Shared copy-to-clipboard button with a transient \"copied\" check state.\n * Consolidates the duplicated clipboard + timeout pattern used across views.\n */\nexport function CopyButton({\n value,\n label = 'Copy',\n copiedLabel = 'Copied',\n showText = false,\n size,\n variant = 'ghost',\n className,\n iconClassName,\n disabled,\n onCopied,\n}: CopyButtonProps) {\n const [copied, setCopied] = useState(false)\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n useEffect(() => () => { if (timer.current) clearTimeout(timer.current) }, [])\n\n async function copy(e: React.MouseEvent) {\n // Copy buttons frequently sit inside clickable cards/rows — never trigger the parent.\n e.preventDefault()\n e.stopPropagation()\n try {\n await navigator.clipboard?.writeText(typeof value === 'function' ? value() : value)\n setCopied(true)\n onCopied?.()\n if (timer.current) clearTimeout(timer.current)\n timer.current = setTimeout(() => setCopied(false), 1400)\n } catch {\n setCopied(false)\n }\n }\n\n const resolvedSize = size ?? (showText ? 'sm' : 'icon-sm')\n const iconCls = cn('h-3.5 w-3.5', iconClassName)\n\n return (\n <Button\n type=\"button\"\n size={resolvedSize}\n variant={variant}\n className={className}\n disabled={disabled}\n title={copied ? copiedLabel : label}\n aria-label={copied ? copiedLabel : label}\n onClick={(e) => void copy(e)}\n >\n {copied ? <Check className={iconCls} /> : <Copy className={iconCls} />}\n {showText && (copied ? copiedLabel : label)}\n </Button>\n )\n}\n"],"mappings":"sLA8BA,SAAgB,EAAW,CACzB,QACA,QAAQ,OACR,cAAc,SACd,WAAW,GACX,OACA,UAAU,QACV,YACA,gBACA,WACA,YACkB,CAClB,GAAM,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAsB,GAAM,CACrC,GAAA,EAAA,EAAA,QAAqD,KAAK,EAEhE,EAAA,EAAA,mBAAsB,CAAM,EAAM,SAAS,aAAa,EAAM,QAAQ,EAAI,EAAE,CAAC,CAE7E,eAAe,EAAK,EAAqB,CAEvC,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,CACnB,GAAI,CACF,MAAM,UAAU,WAAW,UAAU,OAAO,GAAU,WAAa,GAAO,CAAG,EAAM,CACnF,EAAU,GAAK,CACf,KAAY,CACR,EAAM,SAAS,aAAa,EAAM,QAAQ,CAC9C,EAAM,QAAU,eAAiB,EAAU,GAAM,CAAE,KAAK,MAClD,CACN,EAAU,GAAM,EAIpB,IAAM,EAAe,IAAS,EAAW,KAAO,WAC1C,EAAU,EAAG,cAAe,EAAc,CAEhD,OACE,EAAA,EAAA,MAAC,EAAD,CACE,KAAK,SACL,KAAM,EACG,UACE,YACD,WACV,MAAO,EAAS,EAAc,EAC9B,aAAY,EAAS,EAAc,EACnC,QAAU,GAAM,KAAK,EAAK,EAAE,UAR9B,CAUG,GAAS,EAAA,EAAA,KAAC,EAAD,CAAO,UAAW,EAAW,CAAA,EAAG,EAAA,EAAA,KAAC,EAAD,CAAM,UAAW,EAAW,CAAA,CACrE,IAAa,EAAS,EAAc,GAC9B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./chunk-CilyBKbf.js";import{$n as t,fr as n}from"./lucide-react-DmbfpRvJ.js";import{t as r}from"./react-dom-jQ4Vs380.js";import{o as i}from"./dist-DKoRwEZq.js";import{t as a}from"./dist-DnyQI0qt.js";import{i as o,t as s}from"./dist-DQPz52Zx.js";import{t as c}from"./dist-cyag2tir.js";import{t as l}from"./dist-avJPT3qF.js";var u=e(n(),1),d=[`top`,`right`,`bottom`,`left`],f=Math.min,p=Math.max,m=Math.round,h=Math.floor,g=e=>({x:e,y:e}),_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function v(e,t,n){return p(e,f(t,n))}function y(e,t){return typeof e==`function`?e(t):e}function b(e){return e.split(`-`)[0]}function x(e){return e.split(`-`)[1]}function S(e){return e===`x`?`y`:`x`}function C(e){return e===`y`?`height`:`width`}function w(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function T(e){return S(w(e))}function E(e,t,n){n===void 0&&(n=!1);let r=x(e),i=T(e),a=C(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=F(o)),[o,F(o)]}function D(e){let t=F(e);return[O(e),t,O(t)]}function O(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var k=[`left`,`right`],A=[`right`,`left`],j=[`top`,`bottom`],M=[`bottom`,`top`];function N(e,t,n){switch(e){case`top`:case`bottom`:return n?t?A:k:t?k:A;case`left`:case`right`:return t?j:M;default:return[]}}function P(e,t,n,r){let i=x(e),a=N(b(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(O)))),a}function F(e){let t=b(e);return _[t]+e.slice(t.length)}function I(e){return{top:0,right:0,bottom:0,left:0,...e}}function ee(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:I(e)}function L(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function R(e,t,n){let{reference:r,floating:i}=e,a=w(t),o=T(t),s=C(o),c=b(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(x(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function z(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=y(t,e),p=ee(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=L(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},b=L(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-b.top+p.top)/v.y,bottom:(b.bottom-h.bottom+p.bottom)/v.y,left:(h.left-b.left+p.left)/v.x,right:(b.right-h.right+p.right)/v.x}}var te=50,ne=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:z},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=R(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<te&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=R(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},re=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=y(e,t)||{};if(l==null)return{};let d=ee(u),p={x:n,y:r},m=T(i),h=C(m),g=await o.getDimensions(l),_=m===`y`,b=_?`top`:`left`,S=_?`bottom`:`right`,w=_?`clientHeight`:`clientWidth`,E=a.reference[h]+a.reference[m]-p[m]-a.floating[h],D=p[m]-a.reference[m],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=O?O[w]:0;(!k||!await(o.isElement==null?void 0:o.isElement(O)))&&(k=s.floating[w]||a.floating[h]);let A=E/2-D/2,j=k/2-g[h]/2-1,M=f(d[b],j),N=f(d[S],j),P=M,F=k-g[h]-N,I=k/2-g[h]/2+A,L=v(P,I,F),R=!c.arrow&&x(i)!=null&&I!==L&&a.reference[h]/2-(I<P?M:N)-g[h]/2<0,z=R?I<P?I-P:I-F:0;return{[m]:p[m]+z,data:{[m]:L,centerOffset:I-L-z,...R&&{alignmentOffset:z}},reset:R}}}),ie=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=y(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=b(r),_=w(o),v=b(o)===o,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),S=d||(v||!m?[F(o)]:D(o)),C=p!==`none`;!d&&C&&S.push(...P(o,m,p,x));let T=[o,...S],O=await s.detectOverflow(t,h),k=[],A=i.flip?.overflows||[];if(l&&k.push(O[g]),u){let e=E(r,a,x);k.push(O[e[0]],O[e[1]])}if(A=[...A,{placement:r,overflows:k}],!k.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=T[e];if(t&&(!(u===`alignment`&&_!==w(t))||A.every(e=>w(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:A},reset:{placement:t}};let n=A.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=A.filter(e=>{if(C){let t=w(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ae(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function oe(e){return d.some(t=>e[t]>=0)}var se=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=y(e,t);switch(i){case`referenceHidden`:{let e=ae(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:oe(e)}}}case`escaped`:{let e=ae(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:oe(e)}}}default:return{}}}}},ce=new Set([`left`,`top`]);async function le(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=b(n),s=x(n),c=w(n)===`y`,l=ce.has(o)?-1:1,u=a&&c?-1:1,d=y(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ue=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await le(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},de=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=y(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=w(b(i)),p=S(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=v(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=v(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},fe=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=y(e,t),u={x:n,y:r},d=w(i),f=S(d),p=u[f],m=u[d],h=y(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ce.has(b(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},pe=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=y(e,t),u=await o.detectOverflow(t,l),d=b(i),m=x(i),h=w(i)===`y`,{width:g,height:_}=a.floating,v,S;d===`top`||d===`bottom`?(v=d,S=m===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(S=d,v=m===`end`?`top`:`bottom`);let C=_-u.top-u.bottom,T=g-u.left-u.right,E=f(_-u[v],C),D=f(g-u[S],T),O=!t.middlewareData.shift,k=E,A=D;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=T),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=C),O&&!m){let e=p(u.left,0),t=p(u.right,0),n=p(u.top,0),r=p(u.bottom,0);h?A=g-2*(e!==0||t!==0?e+t:p(u.left,u.right)):k=_-2*(n!==0||r!==0?n+r:p(u.top,u.bottom))}await c({...t,availableWidth:A,availableHeight:k});let j=await o.getDimensions(s.floating);return g!==j.width||_!==j.height?{reset:{rects:!0}}:{}}}};function me(){return typeof window<`u`}function B(e){return he(e)?(e.nodeName||``).toLowerCase():`#document`}function V(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function H(e){return((he(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function he(e){return me()?e instanceof Node||e instanceof V(e).Node:!1}function U(e){return me()?e instanceof Element||e instanceof V(e).Element:!1}function W(e){return me()?e instanceof HTMLElement||e instanceof V(e).HTMLElement:!1}function ge(e){return!me()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof V(e).ShadowRoot}function G(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function _e(e){return/^(table|td|th)$/.test(B(e))}function ve(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ye=/transform|translate|scale|rotate|perspective|filter/,be=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,xe;function Se(e){let t=U(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!we()&&(K(t.backdropFilter)||K(t.filter))||ye.test(t.willChange||``)||be.test(t.contain||``)}function Ce(e){let t=Y(e);for(;W(t)&&!q(t);){if(Se(t))return t;if(ve(t))return null;t=Y(t)}return null}function we(){return xe??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),xe}function q(e){return/^(html|body|#document)$/.test(B(e))}function J(e){return V(e).getComputedStyle(e)}function Te(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(B(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ge(e)&&e.host||H(e);return ge(t)?t.host:t}function Ee(e){let t=Y(e);return q(t)?e.ownerDocument?e.ownerDocument.body:e.body:W(t)&&G(t)?t:Ee(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ee(e),i=r===e.ownerDocument?.body,a=V(r);if(i){let e=De(a);return t.concat(a,a.visualViewport||[],G(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function De(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Oe(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=W(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=m(n)!==a||m(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ke(e){return U(e)?e:e.contextElement}function Z(e){let t=ke(e);if(!W(t))return g(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Oe(t),o=(a?m(n.width):n.width)/r,s=(a?m(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ae=g(0);function je(e){let t=V(e);return!we()||!t.visualViewport?Ae:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Me(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==V(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ke(e),o=g(1);t&&(r?U(r)&&(o=Z(r)):o=Z(e));let s=Me(a,n,r)?je(a):g(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=V(a),t=r&&U(r)?V(r):r,n=e,i=De(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=V(i),i=De(n)}}return L({width:u,height:d,x:c,y:l})}function Ne(e,t){let n=Te(e).scrollLeft;return t?t.left+n:Q(H(e)).left+n}function Pe(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ne(e,n),y:n.top+t.scrollTop}}function Fe(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=H(r),s=t?ve(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=g(1),u=g(0),d=W(r);if((d||!d&&!a)&&((B(r)!==`body`||G(o))&&(c=Te(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pe(o,c):g(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ie(e){return Array.from(e.getClientRects())}function Le(e){let t=H(e),n=Te(e),r=e.ownerDocument.body,i=p(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=p(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ne(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=p(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Re=25;function ze(e,t){let n=V(e),r=H(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=we();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Ne(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Re&&(a-=o)}else l<=Re&&(a+=l);return{width:a,height:o,x:s,y:c}}function Be(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=W(e)?Z(e):g(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ve(e,t,n){let r;if(t===`viewport`)r=ze(e,n);else if(t===`document`)r=Le(H(e));else if(U(t))r=Be(t,n);else{let n=je(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return L(r)}function He(e,t){let n=Y(e);return n===t||!U(n)||q(n)?!1:J(n).position===`fixed`||He(n,t)}function Ue(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>U(e)&&B(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;U(o)&&!q(o);){let t=J(o),n=Se(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G(o)&&!n&&He(e,o))?r=r.filter(e=>e!==o):i=t,o=Y(o)}return t.set(e,r),r}function We(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ve(t)?[]:Ue(t,this._c):[].concat(n),r],o=Ve(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ve(t,a[e],i);s=p(n.top,s),c=f(n.right,c),l=f(n.bottom,l),u=p(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ge(e){let{width:t,height:n}=Oe(e);return{width:t,height:n}}function Ke(e,t,n){let r=W(t),i=H(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=g(0);function l(){c.x=Ne(i)}if(r||!r&&!a)if((B(t)!==`body`||G(i))&&(s=Te(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Pe(i,s):g(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function qe(e){return J(e).position===`static`}function Je(e,t){if(!W(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return H(e)===n&&(n=n.ownerDocument.body),n}function Ye(e,t){let n=V(e);if(ve(e))return n;if(!W(e)){let t=Y(e);for(;t&&!q(t);){if(U(t)&&!qe(t))return t;t=Y(t)}return n}let r=Je(e,t);for(;r&&_e(r)&&qe(r);)r=Je(r,t);return r&&q(r)&&qe(r)&&!Se(r)?n:r||Ce(e)||n}var Xe=async function(e){let t=this.getOffsetParent||Ye,n=this.getDimensions,r=await n(e.floating);return{reference:Ke(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Ze(e){return J(e).direction===`rtl`}var Qe={convertOffsetParentRelativeRectToViewportRelativeRect:Fe,getDocumentElement:H,getClippingRect:We,getOffsetParent:Ye,getElementRects:Xe,getClientRects:Ie,getDimensions:Ge,getScale:Z,isElement:U,isRTL:Ze};function $e(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function et(e,t){let n=null,r,i=H(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:m,height:g}=l;if(s||t(),!m||!g)return;let _=h(d),v=h(i.clientWidth-(u+m)),y=h(i.clientHeight-(d+g)),b=h(u),x={rootMargin:-_+`px `+-v+`px `+-y+`px `+-b+`px`,threshold:p(0,f(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(n!==c){if(!S)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!$e(l,e.getBoundingClientRect())&&o(),S=!1}try{n=new IntersectionObserver(C,{...x,root:i.ownerDocument})}catch{n=new IntersectionObserver(C,x)}n.observe(e)}return o(!0),a}function tt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ke(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?et(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!$e(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var nt=ue,rt=de,it=ie,at=pe,ot=se,st=re,ct=fe,lt=(e,t,n)=>{let r=new Map,i={platform:Qe,...n},a={...i.platform,_c:r};return ne(e,t,{...i,platform:a})},ut=e(r(),1),dt=typeof document<`u`?u.useLayoutEffect:function(){};function ft(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ft(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!ft(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function pt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mt(e,t){let n=pt(e);return Math.round(t*n)/n}function ht(e){let t=u.useRef(e);return dt(()=>{t.current=e}),t}function gt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[d,f]=u.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=u.useState(r);ft(p,r)||m(r);let[h,g]=u.useState(null),[_,v]=u.useState(null),y=u.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=u.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=u.useRef(null),w=u.useRef(null),T=u.useRef(d),E=c!=null,D=ht(c),O=ht(i),k=ht(l),A=u.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),lt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!ft(T.current,t)&&(T.current=t,ut.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);dt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[l]);let j=u.useRef(!1);dt(()=>(j.current=!0,()=>{j.current=!1}),[]),dt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=u.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=u.useMemo(()=>({reference:x,floating:S}),[x,S]),P=u.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=mt(N.floating,d.x),r=mt(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...pt(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return u.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var _t=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:st({element:r.current,padding:i}).fn(n):r?st({element:r,padding:i}).fn(n):{}}}},vt=(e,t)=>{let n=nt(e);return{name:n.name,fn:n.fn,options:[e,t]}},yt=(e,t)=>{let n=rt(e);return{name:n.name,fn:n.fn,options:[e,t]}},bt=(e,t)=>({fn:ct(e).fn,options:[e,t]}),xt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=_t(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=t(),Tt=`Arrow`,Et=u.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,$.jsx)(a.svg,{...o,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Et.displayName=Tt;var Dt=Et,Ot=`Popper`,[kt,At]=o(Ot),[jt,Mt]=kt(Ot),Nt=e=>{let{__scopePopper:t,children:n}=e,[r,i]=u.useState(null);return(0,$.jsx)(jt,{scope:t,anchor:r,onAnchorChange:i,children:n})};Nt.displayName=Ot;var Pt=`PopperAnchor`,Ft=u.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,s=Mt(Pt,n),c=u.useRef(null),l=i(t,c),d=u.useRef(null);return u.useEffect(()=>{let e=d.current;d.current=r?.current||c.current,e!==d.current&&s.onAnchorChange(d.current)}),r?null:(0,$.jsx)(a.div,{...o,ref:l})});Ft.displayName=Pt;var It=`PopperContent`,[Lt,Rt]=kt(It),zt=u.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:o=0,align:d=`center`,alignOffset:f=0,arrowPadding:p=0,avoidCollisions:m=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:_=`partial`,hideWhenDetached:v=!1,updatePositionStrategy:y=`optimized`,onPlaced:b,...x}=e,S=Mt(It,n),[C,w]=u.useState(null),T=i(t,e=>w(e)),[E,D]=u.useState(null),O=l(E),k=O?.width??0,A=O?.height??0,j=r+(d===`center`?``:`-`+d),M=typeof g==`number`?g:{top:0,right:0,bottom:0,left:0,...g},N=Array.isArray(h)?h:[h],P=N.length>0,F={padding:M,boundary:N.filter(Ut),altBoundary:P},{refs:I,floatingStyles:ee,placement:L,isPositioned:R,middlewareData:z}=gt({strategy:`fixed`,placement:j,whileElementsMounted:(...e)=>tt(...e,{animationFrame:y===`always`}),elements:{reference:S.anchor},middleware:[vt({mainAxis:o+A,alignmentAxis:f}),m&&yt({mainAxis:!0,crossAxis:!1,limiter:_===`partial`?bt():void 0,...F}),m&&xt({...F}),St({...F,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),E&&wt({element:E,padding:p}),Wt({arrowWidth:k,arrowHeight:A}),v&&Ct({strategy:`referenceHidden`,...F})]}),[te,ne]=Gt(L),re=c(b);s(()=>{R&&re?.()},[R,re]);let ie=z.arrow?.x,ae=z.arrow?.y,oe=z.arrow?.centerOffset!==0,[se,ce]=u.useState();return s(()=>{C&&ce(window.getComputedStyle(C).zIndex)},[C]),(0,$.jsx)(`div`,{ref:I.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:R?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Lt,{scope:n,placedSide:te,onArrowChange:D,arrowX:ie,arrowY:ae,shouldHideArrow:oe,children:(0,$.jsx)(a.div,{"data-side":te,"data-align":ne,...x,ref:T,style:{...x.style,animation:R?void 0:`none`}})})})});zt.displayName=It;var Bt=`PopperArrow`,Vt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Ht=u.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Rt(Bt,n),a=Vt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(Dt,{...r,ref:t,style:{...r.style,display:`block`}})})});Ht.displayName=Bt;function Ut(e){return e!==null}var Wt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Gt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Gt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Kt=Nt,qt=Ft,Jt=zt,Yt=Ht;export{At as a,Kt as i,Yt as n,Jt as r,qt as t};
|
|
2
|
-
//# sourceMappingURL=dist-
|
|
1
|
+
import{r as e}from"./chunk-CilyBKbf.js";import{er as t,pr as n}from"./lucide-react-De5edQpl.js";import{t as r}from"./react-dom-FNIdlE_z.js";import{o as i}from"./dist-DBti5--U.js";import{t as a}from"./dist-AbnkNPcD.js";import{i as o,t as s}from"./dist-REUlCFee.js";import{t as c}from"./dist-DjJMNrsj.js";import{t as l}from"./dist-Pak9TL_I.js";var u=e(n(),1),d=[`top`,`right`,`bottom`,`left`],f=Math.min,p=Math.max,m=Math.round,h=Math.floor,g=e=>({x:e,y:e}),_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function v(e,t,n){return p(e,f(t,n))}function y(e,t){return typeof e==`function`?e(t):e}function b(e){return e.split(`-`)[0]}function x(e){return e.split(`-`)[1]}function S(e){return e===`x`?`y`:`x`}function C(e){return e===`y`?`height`:`width`}function w(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function T(e){return S(w(e))}function E(e,t,n){n===void 0&&(n=!1);let r=x(e),i=T(e),a=C(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=F(o)),[o,F(o)]}function D(e){let t=F(e);return[O(e),t,O(t)]}function O(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var k=[`left`,`right`],A=[`right`,`left`],j=[`top`,`bottom`],M=[`bottom`,`top`];function N(e,t,n){switch(e){case`top`:case`bottom`:return n?t?A:k:t?k:A;case`left`:case`right`:return t?j:M;default:return[]}}function P(e,t,n,r){let i=x(e),a=N(b(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(O)))),a}function F(e){let t=b(e);return _[t]+e.slice(t.length)}function I(e){return{top:0,right:0,bottom:0,left:0,...e}}function ee(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:I(e)}function L(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function R(e,t,n){let{reference:r,floating:i}=e,a=w(t),o=T(t),s=C(o),c=b(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(x(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function z(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=y(t,e),p=ee(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=L(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},b=L(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-b.top+p.top)/v.y,bottom:(b.bottom-h.bottom+p.bottom)/v.y,left:(h.left-b.left+p.left)/v.x,right:(b.right-h.right+p.right)/v.x}}var te=50,ne=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:z},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=R(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<te&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=R(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},re=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=y(e,t)||{};if(l==null)return{};let d=ee(u),p={x:n,y:r},m=T(i),h=C(m),g=await o.getDimensions(l),_=m===`y`,b=_?`top`:`left`,S=_?`bottom`:`right`,w=_?`clientHeight`:`clientWidth`,E=a.reference[h]+a.reference[m]-p[m]-a.floating[h],D=p[m]-a.reference[m],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=O?O[w]:0;(!k||!await(o.isElement==null?void 0:o.isElement(O)))&&(k=s.floating[w]||a.floating[h]);let A=E/2-D/2,j=k/2-g[h]/2-1,M=f(d[b],j),N=f(d[S],j),P=M,F=k-g[h]-N,I=k/2-g[h]/2+A,L=v(P,I,F),R=!c.arrow&&x(i)!=null&&I!==L&&a.reference[h]/2-(I<P?M:N)-g[h]/2<0,z=R?I<P?I-P:I-F:0;return{[m]:p[m]+z,data:{[m]:L,centerOffset:I-L-z,...R&&{alignmentOffset:z}},reset:R}}}),ie=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=y(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=b(r),_=w(o),v=b(o)===o,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),S=d||(v||!m?[F(o)]:D(o)),C=p!==`none`;!d&&C&&S.push(...P(o,m,p,x));let T=[o,...S],O=await s.detectOverflow(t,h),k=[],A=i.flip?.overflows||[];if(l&&k.push(O[g]),u){let e=E(r,a,x);k.push(O[e[0]],O[e[1]])}if(A=[...A,{placement:r,overflows:k}],!k.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=T[e];if(t&&(!(u===`alignment`&&_!==w(t))||A.every(e=>w(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:A},reset:{placement:t}};let n=A.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=A.filter(e=>{if(C){let t=w(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ae(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function oe(e){return d.some(t=>e[t]>=0)}var se=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=y(e,t);switch(i){case`referenceHidden`:{let e=ae(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:oe(e)}}}case`escaped`:{let e=ae(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:oe(e)}}}default:return{}}}}},ce=new Set([`left`,`top`]);async function le(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=b(n),s=x(n),c=w(n)===`y`,l=ce.has(o)?-1:1,u=a&&c?-1:1,d=y(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ue=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await le(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},de=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=y(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=w(b(i)),p=S(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=v(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=v(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},fe=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=y(e,t),u={x:n,y:r},d=w(i),f=S(d),p=u[f],m=u[d],h=y(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ce.has(b(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},pe=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=y(e,t),u=await o.detectOverflow(t,l),d=b(i),m=x(i),h=w(i)===`y`,{width:g,height:_}=a.floating,v,S;d===`top`||d===`bottom`?(v=d,S=m===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(S=d,v=m===`end`?`top`:`bottom`);let C=_-u.top-u.bottom,T=g-u.left-u.right,E=f(_-u[v],C),D=f(g-u[S],T),O=!t.middlewareData.shift,k=E,A=D;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=T),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=C),O&&!m){let e=p(u.left,0),t=p(u.right,0),n=p(u.top,0),r=p(u.bottom,0);h?A=g-2*(e!==0||t!==0?e+t:p(u.left,u.right)):k=_-2*(n!==0||r!==0?n+r:p(u.top,u.bottom))}await c({...t,availableWidth:A,availableHeight:k});let j=await o.getDimensions(s.floating);return g!==j.width||_!==j.height?{reset:{rects:!0}}:{}}}};function me(){return typeof window<`u`}function B(e){return he(e)?(e.nodeName||``).toLowerCase():`#document`}function V(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function H(e){return((he(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function he(e){return me()?e instanceof Node||e instanceof V(e).Node:!1}function U(e){return me()?e instanceof Element||e instanceof V(e).Element:!1}function W(e){return me()?e instanceof HTMLElement||e instanceof V(e).HTMLElement:!1}function ge(e){return!me()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof V(e).ShadowRoot}function G(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function _e(e){return/^(table|td|th)$/.test(B(e))}function ve(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ye=/transform|translate|scale|rotate|perspective|filter/,be=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,xe;function Se(e){let t=U(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!we()&&(K(t.backdropFilter)||K(t.filter))||ye.test(t.willChange||``)||be.test(t.contain||``)}function Ce(e){let t=Y(e);for(;W(t)&&!q(t);){if(Se(t))return t;if(ve(t))return null;t=Y(t)}return null}function we(){return xe??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),xe}function q(e){return/^(html|body|#document)$/.test(B(e))}function J(e){return V(e).getComputedStyle(e)}function Te(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(B(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ge(e)&&e.host||H(e);return ge(t)?t.host:t}function Ee(e){let t=Y(e);return q(t)?e.ownerDocument?e.ownerDocument.body:e.body:W(t)&&G(t)?t:Ee(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ee(e),i=r===e.ownerDocument?.body,a=V(r);if(i){let e=De(a);return t.concat(a,a.visualViewport||[],G(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function De(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Oe(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=W(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=m(n)!==a||m(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ke(e){return U(e)?e:e.contextElement}function Z(e){let t=ke(e);if(!W(t))return g(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Oe(t),o=(a?m(n.width):n.width)/r,s=(a?m(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ae=g(0);function je(e){let t=V(e);return!we()||!t.visualViewport?Ae:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Me(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==V(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ke(e),o=g(1);t&&(r?U(r)&&(o=Z(r)):o=Z(e));let s=Me(a,n,r)?je(a):g(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=V(a),t=r&&U(r)?V(r):r,n=e,i=De(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=V(i),i=De(n)}}return L({width:u,height:d,x:c,y:l})}function Ne(e,t){let n=Te(e).scrollLeft;return t?t.left+n:Q(H(e)).left+n}function Pe(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ne(e,n),y:n.top+t.scrollTop}}function Fe(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=H(r),s=t?ve(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=g(1),u=g(0),d=W(r);if((d||!d&&!a)&&((B(r)!==`body`||G(o))&&(c=Te(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pe(o,c):g(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ie(e){return Array.from(e.getClientRects())}function Le(e){let t=H(e),n=Te(e),r=e.ownerDocument.body,i=p(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=p(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ne(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=p(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Re=25;function ze(e,t){let n=V(e),r=H(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=we();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Ne(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Re&&(a-=o)}else l<=Re&&(a+=l);return{width:a,height:o,x:s,y:c}}function Be(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=W(e)?Z(e):g(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ve(e,t,n){let r;if(t===`viewport`)r=ze(e,n);else if(t===`document`)r=Le(H(e));else if(U(t))r=Be(t,n);else{let n=je(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return L(r)}function He(e,t){let n=Y(e);return n===t||!U(n)||q(n)?!1:J(n).position===`fixed`||He(n,t)}function Ue(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>U(e)&&B(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;U(o)&&!q(o);){let t=J(o),n=Se(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G(o)&&!n&&He(e,o))?r=r.filter(e=>e!==o):i=t,o=Y(o)}return t.set(e,r),r}function We(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ve(t)?[]:Ue(t,this._c):[].concat(n),r],o=Ve(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ve(t,a[e],i);s=p(n.top,s),c=f(n.right,c),l=f(n.bottom,l),u=p(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ge(e){let{width:t,height:n}=Oe(e);return{width:t,height:n}}function Ke(e,t,n){let r=W(t),i=H(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=g(0);function l(){c.x=Ne(i)}if(r||!r&&!a)if((B(t)!==`body`||G(i))&&(s=Te(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Pe(i,s):g(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function qe(e){return J(e).position===`static`}function Je(e,t){if(!W(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return H(e)===n&&(n=n.ownerDocument.body),n}function Ye(e,t){let n=V(e);if(ve(e))return n;if(!W(e)){let t=Y(e);for(;t&&!q(t);){if(U(t)&&!qe(t))return t;t=Y(t)}return n}let r=Je(e,t);for(;r&&_e(r)&&qe(r);)r=Je(r,t);return r&&q(r)&&qe(r)&&!Se(r)?n:r||Ce(e)||n}var Xe=async function(e){let t=this.getOffsetParent||Ye,n=this.getDimensions,r=await n(e.floating);return{reference:Ke(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Ze(e){return J(e).direction===`rtl`}var Qe={convertOffsetParentRelativeRectToViewportRelativeRect:Fe,getDocumentElement:H,getClippingRect:We,getOffsetParent:Ye,getElementRects:Xe,getClientRects:Ie,getDimensions:Ge,getScale:Z,isElement:U,isRTL:Ze};function $e(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function et(e,t){let n=null,r,i=H(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:m,height:g}=l;if(s||t(),!m||!g)return;let _=h(d),v=h(i.clientWidth-(u+m)),y=h(i.clientHeight-(d+g)),b=h(u),x={rootMargin:-_+`px `+-v+`px `+-y+`px `+-b+`px`,threshold:p(0,f(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(n!==c){if(!S)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!$e(l,e.getBoundingClientRect())&&o(),S=!1}try{n=new IntersectionObserver(C,{...x,root:i.ownerDocument})}catch{n=new IntersectionObserver(C,x)}n.observe(e)}return o(!0),a}function tt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ke(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?et(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!$e(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var nt=ue,rt=de,it=ie,at=pe,ot=se,st=re,ct=fe,lt=(e,t,n)=>{let r=new Map,i={platform:Qe,...n},a={...i.platform,_c:r};return ne(e,t,{...i,platform:a})},ut=e(r(),1),dt=typeof document<`u`?u.useLayoutEffect:function(){};function ft(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ft(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!ft(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function pt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mt(e,t){let n=pt(e);return Math.round(t*n)/n}function ht(e){let t=u.useRef(e);return dt(()=>{t.current=e}),t}function gt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[d,f]=u.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=u.useState(r);ft(p,r)||m(r);let[h,g]=u.useState(null),[_,v]=u.useState(null),y=u.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=u.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=u.useRef(null),w=u.useRef(null),T=u.useRef(d),E=c!=null,D=ht(c),O=ht(i),k=ht(l),A=u.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),lt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!ft(T.current,t)&&(T.current=t,ut.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);dt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[l]);let j=u.useRef(!1);dt(()=>(j.current=!0,()=>{j.current=!1}),[]),dt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=u.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=u.useMemo(()=>({reference:x,floating:S}),[x,S]),P=u.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=mt(N.floating,d.x),r=mt(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...pt(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return u.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var _t=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:st({element:r.current,padding:i}).fn(n):r?st({element:r,padding:i}).fn(n):{}}}},vt=(e,t)=>{let n=nt(e);return{name:n.name,fn:n.fn,options:[e,t]}},yt=(e,t)=>{let n=rt(e);return{name:n.name,fn:n.fn,options:[e,t]}},bt=(e,t)=>({fn:ct(e).fn,options:[e,t]}),xt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=_t(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=t(),Tt=`Arrow`,Et=u.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,$.jsx)(a.svg,{...o,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Et.displayName=Tt;var Dt=Et,Ot=`Popper`,[kt,At]=o(Ot),[jt,Mt]=kt(Ot),Nt=e=>{let{__scopePopper:t,children:n}=e,[r,i]=u.useState(null);return(0,$.jsx)(jt,{scope:t,anchor:r,onAnchorChange:i,children:n})};Nt.displayName=Ot;var Pt=`PopperAnchor`,Ft=u.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,s=Mt(Pt,n),c=u.useRef(null),l=i(t,c),d=u.useRef(null);return u.useEffect(()=>{let e=d.current;d.current=r?.current||c.current,e!==d.current&&s.onAnchorChange(d.current)}),r?null:(0,$.jsx)(a.div,{...o,ref:l})});Ft.displayName=Pt;var It=`PopperContent`,[Lt,Rt]=kt(It),zt=u.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:o=0,align:d=`center`,alignOffset:f=0,arrowPadding:p=0,avoidCollisions:m=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:_=`partial`,hideWhenDetached:v=!1,updatePositionStrategy:y=`optimized`,onPlaced:b,...x}=e,S=Mt(It,n),[C,w]=u.useState(null),T=i(t,e=>w(e)),[E,D]=u.useState(null),O=l(E),k=O?.width??0,A=O?.height??0,j=r+(d===`center`?``:`-`+d),M=typeof g==`number`?g:{top:0,right:0,bottom:0,left:0,...g},N=Array.isArray(h)?h:[h],P=N.length>0,F={padding:M,boundary:N.filter(Ut),altBoundary:P},{refs:I,floatingStyles:ee,placement:L,isPositioned:R,middlewareData:z}=gt({strategy:`fixed`,placement:j,whileElementsMounted:(...e)=>tt(...e,{animationFrame:y===`always`}),elements:{reference:S.anchor},middleware:[vt({mainAxis:o+A,alignmentAxis:f}),m&&yt({mainAxis:!0,crossAxis:!1,limiter:_===`partial`?bt():void 0,...F}),m&&xt({...F}),St({...F,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),E&&wt({element:E,padding:p}),Wt({arrowWidth:k,arrowHeight:A}),v&&Ct({strategy:`referenceHidden`,...F})]}),[te,ne]=Gt(L),re=c(b);s(()=>{R&&re?.()},[R,re]);let ie=z.arrow?.x,ae=z.arrow?.y,oe=z.arrow?.centerOffset!==0,[se,ce]=u.useState();return s(()=>{C&&ce(window.getComputedStyle(C).zIndex)},[C]),(0,$.jsx)(`div`,{ref:I.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:R?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Lt,{scope:n,placedSide:te,onArrowChange:D,arrowX:ie,arrowY:ae,shouldHideArrow:oe,children:(0,$.jsx)(a.div,{"data-side":te,"data-align":ne,...x,ref:T,style:{...x.style,animation:R?void 0:`none`}})})})});zt.displayName=It;var Bt=`PopperArrow`,Vt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Ht=u.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Rt(Bt,n),a=Vt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(Dt,{...r,ref:t,style:{...r.style,display:`block`}})})});Ht.displayName=Bt;function Ut(e){return e!==null}var Wt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Gt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Gt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Kt=Nt,qt=Ft,Jt=zt,Yt=Ht;export{At as a,Kt as i,Yt as n,Jt as r,qt as t};
|
|
2
|
+
//# sourceMappingURL=dist-1g1lCjVb.js.map
|