d1s 0.3.13 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +50 -43
  3. package/dist/.next/app-path-routes-manifest.json +11 -10
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  6. package/dist/.next/server/app/_not-found.html +1 -1
  7. package/dist/.next/server/app/_not-found.rsc +3 -3
  8. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  9. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/api/databases/route.js +1 -1
  11. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/api/migrations/list/route.js +2 -2
  13. package/dist/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/api/migrations/sync/route.js +3 -3
  15. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/api/migrations/sync-files/route.js +2 -2
  17. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  18. package/dist/.next/server/app/api/pro/route_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  20. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  22. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/api/pull-remote/preview/route.js +2 -2
  24. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/api/push-remote/confirm/route.js +3 -3
  26. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/api/push-remote/preview/route.js +3 -3
  28. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/api/query/route.js +3 -3
  30. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/api/schema/route.js +1 -1
  32. package/dist/.next/server/app/api/schema/route_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/api/tables/[name]/import/route.js +1 -1
  34. package/dist/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -1
  35. package/dist/.next/server/app/api/tables/[name]/route.js +2 -2
  36. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/api/tables/route.js +2 -2
  38. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/api/telemetry/route.js +1 -0
  40. package/dist/.next/server/app/api/telemetry/route.js.nft.json +1 -0
  41. package/dist/.next/server/app/api/telemetry/route_client-reference-manifest.js +1 -0
  42. package/dist/.next/server/app/api/time-travel/preview/route.js +1 -1
  43. package/dist/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/server/app/api/time-travel/restore/route.js +1 -1
  45. package/dist/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/api/update/route.js +1 -1
  47. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/index.html +2 -2
  49. package/dist/.next/server/app/index.rsc +4 -4
  50. package/dist/.next/server/app/page.js +9 -9
  51. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  52. package/dist/.next/server/app-paths-manifest.json +11 -10
  53. package/dist/.next/server/chunks/366.js +1 -1
  54. package/dist/.next/server/chunks/386.js +4 -4
  55. package/dist/.next/server/chunks/626.js +1 -1
  56. package/dist/.next/server/chunks/839.js +1 -1
  57. package/dist/.next/server/pages/404.html +1 -1
  58. package/dist/.next/server/pages/500.html +1 -1
  59. package/dist/.next/server/pages-manifest.json +1 -1
  60. package/dist/.next/static/6rea5Sqo2oDOjd57AS8fa/_buildManifest.js +1 -0
  61. package/dist/.next/static/chunks/823-ef19f8100936ef91.js +1 -0
  62. package/dist/.next/static/chunks/app/api/cloudflare/route-9bf180252c95d6f8.js +1 -0
  63. package/dist/.next/static/chunks/app/api/databases/route-9bf180252c95d6f8.js +1 -0
  64. package/dist/.next/static/chunks/app/api/migrations/list/route-9bf180252c95d6f8.js +1 -0
  65. package/dist/.next/static/chunks/app/api/migrations/sync/route-9bf180252c95d6f8.js +1 -0
  66. package/dist/.next/static/chunks/app/api/migrations/sync-files/route-9bf180252c95d6f8.js +1 -0
  67. package/dist/.next/static/chunks/app/api/pro/route-9bf180252c95d6f8.js +1 -0
  68. package/dist/.next/static/chunks/app/api/pull-data/confirm/route-9bf180252c95d6f8.js +1 -0
  69. package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-9bf180252c95d6f8.js +1 -0
  70. package/dist/.next/static/chunks/app/api/pull-remote/preview/route-9bf180252c95d6f8.js +1 -0
  71. package/dist/.next/static/chunks/app/api/push-remote/confirm/route-9bf180252c95d6f8.js +1 -0
  72. package/dist/.next/static/chunks/app/api/push-remote/preview/route-9bf180252c95d6f8.js +1 -0
  73. package/dist/.next/static/chunks/app/api/query/route-9bf180252c95d6f8.js +1 -0
  74. package/dist/.next/static/chunks/app/api/schema/route-9bf180252c95d6f8.js +1 -0
  75. package/dist/.next/static/chunks/app/api/tables/[name]/import/route-9bf180252c95d6f8.js +1 -0
  76. package/dist/.next/static/chunks/app/api/tables/[name]/route-9bf180252c95d6f8.js +1 -0
  77. package/dist/.next/static/chunks/app/api/tables/route-9bf180252c95d6f8.js +1 -0
  78. package/dist/.next/static/chunks/app/api/telemetry/route-9bf180252c95d6f8.js +1 -0
  79. package/dist/.next/static/chunks/app/api/time-travel/preview/route-9bf180252c95d6f8.js +1 -0
  80. package/dist/.next/static/chunks/app/api/time-travel/restore/route-9bf180252c95d6f8.js +1 -0
  81. package/dist/.next/static/chunks/app/api/update/route-9bf180252c95d6f8.js +1 -0
  82. package/dist/.next/static/chunks/app/page-5888ce6414a8151d.js +1 -0
  83. package/dist/.next/trace +3 -3
  84. package/dist/app/api/migrations/sync/route.js +1 -3
  85. package/dist/app/api/pull-data/confirm/route.js +2 -22
  86. package/dist/app/api/pull-remote/confirm/route.js +0 -15
  87. package/dist/app/api/push-remote/confirm/route.js +0 -6
  88. package/dist/app/api/push-remote/preview/route.js +0 -4
  89. package/dist/app/api/query/route.js +67 -7
  90. package/dist/app/api/tables/route.js +0 -3
  91. package/dist/app/api/telemetry/route.js +42 -0
  92. package/dist/app/api/time-travel/preview/route.js +0 -2
  93. package/dist/app/api/time-travel/restore/route.js +0 -2
  94. package/dist/app/api/update/route.js +1 -2
  95. package/dist/lib/client-telemetry.js +13 -0
  96. package/dist/lib/find-wrangler-config.js +0 -3
  97. package/dist/lib/local-db.js +0 -6
  98. package/dist/lib/sql-operations.js +1 -15
  99. package/dist/lib/telemetry.js +13 -8
  100. package/package.json +1 -1
  101. package/dist/.next/static/chunks/823-77b9a2d152da81dd.js +0 -1
  102. package/dist/.next/static/chunks/app/api/cloudflare/route-58aca057db1e5530.js +0 -1
  103. package/dist/.next/static/chunks/app/api/databases/route-58aca057db1e5530.js +0 -1
  104. package/dist/.next/static/chunks/app/api/migrations/list/route-58aca057db1e5530.js +0 -1
  105. package/dist/.next/static/chunks/app/api/migrations/sync/route-58aca057db1e5530.js +0 -1
  106. package/dist/.next/static/chunks/app/api/migrations/sync-files/route-58aca057db1e5530.js +0 -1
  107. package/dist/.next/static/chunks/app/api/pro/route-58aca057db1e5530.js +0 -1
  108. package/dist/.next/static/chunks/app/api/pull-data/confirm/route-58aca057db1e5530.js +0 -1
  109. package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-58aca057db1e5530.js +0 -1
  110. package/dist/.next/static/chunks/app/api/pull-remote/preview/route-58aca057db1e5530.js +0 -1
  111. package/dist/.next/static/chunks/app/api/push-remote/confirm/route-58aca057db1e5530.js +0 -1
  112. package/dist/.next/static/chunks/app/api/push-remote/preview/route-58aca057db1e5530.js +0 -1
  113. package/dist/.next/static/chunks/app/api/query/route-58aca057db1e5530.js +0 -1
  114. package/dist/.next/static/chunks/app/api/schema/route-58aca057db1e5530.js +0 -1
  115. package/dist/.next/static/chunks/app/api/tables/[name]/import/route-58aca057db1e5530.js +0 -1
  116. package/dist/.next/static/chunks/app/api/tables/[name]/route-58aca057db1e5530.js +0 -1
  117. package/dist/.next/static/chunks/app/api/tables/route-58aca057db1e5530.js +0 -1
  118. package/dist/.next/static/chunks/app/api/time-travel/preview/route-58aca057db1e5530.js +0 -1
  119. package/dist/.next/static/chunks/app/api/time-travel/restore/route-58aca057db1e5530.js +0 -1
  120. package/dist/.next/static/chunks/app/api/update/route-58aca057db1e5530.js +0 -1
  121. package/dist/.next/static/chunks/app/page-39d6f7bc281c828c.js +0 -1
  122. package/dist/.next/static/ghHdNJKQy3Hmu0UqGdL7v/_buildManifest.js +0 -1
  123. /package/dist/.next/static/{ghHdNJKQy3Hmu0UqGdL7v → 6rea5Sqo2oDOjd57AS8fa}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- (()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1905:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6776:(a,b,c)=>{Promise.resolve().then(c.bind(c,32122))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24207:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(84339);function e(a){let{reason:b,children:c}=a;throw Object.defineProperty(new d.BailoutToCSRError(b),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32122:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>iC});var d,e,f=c(21124),g=c(38301),h=c.t(g,2),i=c.n(g);let j={rE:"0.3.13"};var k=c(8808);let l=(0,k.A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),m=(0,k.A)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),n=(0,k.A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),o=(0,k.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),p=(0,k.A)("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),q=(0,k.A)("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),r=(0,k.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),s=(0,k.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),t=(0,k.A)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),u=(0,k.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),v=(0,k.A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var w=c(52603);let x=g.forwardRef(({className:a,type:b,...c},d)=>(0,f.jsx)("input",{type:b,className:(0,w.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:d,...c}));x.displayName="Input";var y=c(26691);let z=(0,y.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),A=g.forwardRef(({className:a,variant:b,...c},d)=>(0,f.jsx)("div",{ref:d,role:"alert",className:(0,w.cn)(z({variant:b}),a),...c}));A.displayName="Alert",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("h5",{ref:c,className:(0,w.cn)("mb-1 font-medium leading-none tracking-tight",a),...b})).displayName="AlertTitle";let B=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{ref:c,className:(0,w.cn)("text-sm [&_p]:leading-relaxed",a),...b}));B.displayName="AlertDescription";var C=c(87868),D=c(92808),E=c(2332),F=c(11720),G=c(6406),H=c(825),I=g.createContext(void 0);function J(a){let b=g.useContext(I);return a||b||"ltr"}var K=c(7412),L=0;function M(){g.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??N()),document.body.insertAdjacentElement("beforeend",a[1]??N()),L++,()=>{1===L&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),L--}},[])}function N(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var O=c(71700),P="focusScope.autoFocusOnMount",Q="focusScope.autoFocusOnUnmount",R={bubbles:!1,cancelable:!0},S=g.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:h,...i}=a,[j,k]=g.useState(null),l=(0,O.c)(e),m=(0,O.c)(h),n=g.useRef(null),o=(0,D.s)(b,a=>k(a)),p=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(d){let a=function(a){if(p.paused||!j)return;let b=a.target;j.contains(b)?n.current=b:V(n.current,{select:!0})},b=function(a){if(p.paused||!j)return;let b=a.relatedTarget;null!==b&&(j.contains(b)||V(n.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&V(j)});return j&&c.observe(j,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,j,p.paused]),g.useEffect(()=>{if(j){W.add(p);let a=document.activeElement;if(!j.contains(a)){let b=new CustomEvent(P,R);j.addEventListener(P,l),j.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(V(d,{select:b}),document.activeElement!==c)return}(T(j).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&V(j))}return()=>{j.removeEventListener(P,l),setTimeout(()=>{let b=new CustomEvent(Q,R);j.addEventListener(Q,m),j.dispatchEvent(b),b.defaultPrevented||V(a??document.body,{select:!0}),j.removeEventListener(Q,m),W.remove(p)},0)}}},[j,l,m,p]);let q=g.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){let b=a.currentTarget,[d,f]=function(a){let b=T(a);return[U(b,a),U(b.reverse(),a)]}(b);d&&f?a.shiftKey||e!==f?a.shiftKey&&e===d&&(a.preventDefault(),c&&V(f,{select:!0})):(a.preventDefault(),c&&V(d,{select:!0})):e===b&&a.preventDefault()}},[c,d,p.paused]);return(0,f.jsx)(G.sG.div,{tabIndex:-1,...i,ref:o,onKeyDown:q})});function T(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function U(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function V(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}S.displayName="FocusScope";var W=function(){let a=[];return{add(b){let c=a[0];b!==c&&c?.pause(),(a=X(a,b)).unshift(b)},remove(b){a=X(a,b),a[0]?.resume()}}}();function X(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var Y=c(68829),Z=h["useId".toString()]||(()=>void 0),$=0;function _(a){let[b,c]=g.useState(Z());return(0,Y.N)(()=>{a||c(a=>a??String($++))},[a]),a||(b?`radix-${b}`:"")}let aa=["top","right","bottom","left"],ab=Math.min,ac=Math.max,ad=Math.round,ae=Math.floor,af=a=>({x:a,y:a}),ag={left:"right",right:"left",bottom:"top",top:"bottom"},ah={start:"end",end:"start"};function ai(a,b){return"function"==typeof a?a(b):a}function aj(a){return a.split("-")[0]}function ak(a){return a.split("-")[1]}function al(a){return"x"===a?"y":"x"}function am(a){return"y"===a?"height":"width"}function an(a){return["top","bottom"].includes(aj(a))?"y":"x"}function ao(a){return a.replace(/start|end/g,a=>ah[a])}function ap(a){return a.replace(/left|right|bottom|top/g,a=>ag[a])}function aq(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function ar(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function as(a,b,c){let d,{reference:e,floating:f}=a,g=an(b),h=al(an(b)),i=am(h),j=aj(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(ak(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}let at=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=f.filter(Boolean),i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=as(j,d,i),m=d,n={},o=0;for(let c=0;c<h.length;c++){let{name:f,fn:p}=h[c],{x:q,y:r,data:s,reset:t}=await p({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:n,rects:j,platform:g,elements:{reference:a,floating:b}});k=null!=q?q:k,l=null!=r?r:l,n={...n,[f]:{...n[f],...s}},t&&o<=50&&(o++,"object"==typeof t&&(t.placement&&(m=t.placement),t.rects&&(j=!0===t.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):t.rects),{x:k,y:l}=as(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};async function au(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=ai(b,a),o=aq(n),p=h[m?"floating"===l?"reference":"floating":l],q=ar(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),r="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,s=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),t=await (null==f.isElement?void 0:f.isElement(s))&&await (null==f.getScale?void 0:f.getScale(s))||{x:1,y:1},u=ar(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:r,offsetParent:s,strategy:i}):r);return{top:(q.top-u.top+o.top)/t.y,bottom:(u.bottom-q.bottom+o.bottom)/t.y,left:(q.left-u.left+o.left)/t.x,right:(u.right-q.right+o.right)/t.x}}function av(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function aw(a){return aa.some(b=>a[b]>=0)}async function ax(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=aj(c),h=ak(c),i="y"===an(c),j=["left","top"].includes(g)?-1:1,k=f&&i?-1:1,l=ai(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function ay(){return"undefined"!=typeof window}function az(a){return aC(a)?(a.nodeName||"").toLowerCase():"#document"}function aA(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function aB(a){var b;return null==(b=(aC(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function aC(a){return!!ay()&&(a instanceof Node||a instanceof aA(a).Node)}function aD(a){return!!ay()&&(a instanceof Element||a instanceof aA(a).Element)}function aE(a){return!!ay()&&(a instanceof HTMLElement||a instanceof aA(a).HTMLElement)}function aF(a){return!!ay()&&"undefined"!=typeof ShadowRoot&&(a instanceof ShadowRoot||a instanceof aA(a).ShadowRoot)}function aG(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=aL(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!["inline","contents"].includes(e)}function aH(a){return[":popover-open",":modal"].some(b=>{try{return a.matches(b)}catch(a){return!1}})}function aI(a){let b=aJ(),c=aD(a)?aL(a):a;return["transform","translate","scale","rotate","perspective"].some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||["transform","translate","scale","rotate","perspective","filter"].some(a=>(c.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(c.contain||"").includes(a))}function aJ(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function aK(a){return["html","body","#document"].includes(az(a))}function aL(a){return aA(a).getComputedStyle(a)}function aM(a){return aD(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function aN(a){if("html"===az(a))return a;let b=a.assignedSlot||a.parentNode||aF(a)&&a.host||aB(a);return aF(b)?b.host:b}function aO(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=aN(b);return aK(c)?b.ownerDocument?b.ownerDocument.body:b.body:aE(c)&&aG(c)?c:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=aA(e);if(f){let a=aP(g);return b.concat(g,g.visualViewport||[],aG(e)?e:[],a&&c?aO(a):[])}return b.concat(e,aO(e,[],c))}function aP(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function aQ(a){let b=aL(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=aE(a),f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=ad(c)!==f||ad(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function aR(a){return aD(a)?a:a.contextElement}function aS(a){let b=aR(a);if(!aE(b))return af(1);let c=b.getBoundingClientRect(),{width:d,height:e,$:f}=aQ(b),g=(f?ad(c.width):c.width)/d,h=(f?ad(c.height):c.height)/e;return g&&Number.isFinite(g)||(g=1),h&&Number.isFinite(h)||(h=1),{x:g,y:h}}let aT=af(0);function aU(a){let b=aA(a);return aJ()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:aT}function aV(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=aR(a),h=af(1);b&&(d?aD(d)&&(h=aS(d)):h=aS(a));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===aA(g))&&e)?aU(g):af(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=aA(g),b=d&&aD(d)?aA(d):d,c=a,e=aP(c);for(;e&&d&&b!==c;){let a=aS(e),b=e.getBoundingClientRect(),d=aL(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=aP(c=aA(e))}}return ar({width:l,height:m,x:j,y:k})}function aW(a,b){let c=aM(a).scrollLeft;return b?b.left+c:aV(aB(a)).left+c}function aX(a,b,c){void 0===c&&(c=!1);let d=a.getBoundingClientRect();return{x:d.left+b.scrollLeft-(c?0:aW(a,d)),y:d.top+b.scrollTop}}function aY(a,b,c){let d;if("viewport"===b)d=function(a,b){let c=aA(a),d=aB(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=aJ();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b)d=function(a){let b=aB(a),c=aM(a),d=a.ownerDocument.body,e=ac(b.scrollWidth,b.clientWidth,d.scrollWidth,d.clientWidth),f=ac(b.scrollHeight,b.clientHeight,d.scrollHeight,d.clientHeight),g=-c.scrollLeft+aW(a),h=-c.scrollTop;return"rtl"===aL(d).direction&&(g+=ac(b.clientWidth,d.clientWidth)-e),{width:e,height:f,x:g,y:h}}(aB(a));else if(aD(b))d=function(a,b){let c=aV(a,!0,"fixed"===b),d=c.top+a.clientTop,e=c.left+a.clientLeft,f=aE(a)?aS(a):af(1),g=a.clientWidth*f.x,h=a.clientHeight*f.y;return{width:g,height:h,x:e*f.x,y:d*f.y}}(b,c);else{let c=aU(a);d={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}return ar(d)}function aZ(a){return"static"===aL(a).position}function a$(a,b){if(!aE(a)||"fixed"===aL(a).position)return null;if(b)return b(a);let c=a.offsetParent;return aB(a)===c&&(c=c.ownerDocument.body),c}function a_(a,b){let c=aA(a);if(aH(a))return c;if(!aE(a)){let b=aN(a);for(;b&&!aK(b);){if(aD(b)&&!aZ(b))return b;b=aN(b)}return c}let d=a$(a,b);for(;d&&["table","td","th"].includes(az(d))&&aZ(d);)d=a$(d,b);return d&&aK(d)&&aZ(d)&&!aI(d)?c:d||function(a){let b=aN(a);for(;aE(b)&&!aK(b);){if(aI(b))return b;if(aH(b))break;b=aN(b)}return null}(a)||c}let a0=async function(a){let b=this.getOffsetParent||a_,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){let d=aE(b),e=aB(b),f="fixed"===c,g=aV(a,!0,f,b),h={scrollLeft:0,scrollTop:0},i=af(0);if(d||!d&&!f)if(("body"!==az(b)||aG(e))&&(h=aM(b)),d){let a=aV(b,!0,f,b);i.x=a.x+b.clientLeft,i.y=a.y+b.clientTop}else e&&(i.x=aW(e));let j=!e||d||f?af(0):aX(e,h);return{x:g.left+h.scrollLeft-i.x-j.x,y:g.top+h.scrollTop-i.y-j.y,width:g.width,height:g.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},a1={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){let{elements:b,rect:c,offsetParent:d,strategy:e}=a,f="fixed"===e,g=aB(d),h=!!b&&aH(b.floating);if(d===g||h&&f)return c;let i={scrollLeft:0,scrollTop:0},j=af(1),k=af(0),l=aE(d);if((l||!l&&!f)&&(("body"!==az(d)||aG(g))&&(i=aM(d)),aE(d))){let a=aV(d);j=aS(d),k.x=a.x+d.clientLeft,k.y=a.y+d.clientTop}let m=!g||l||f?af(0):aX(g,i,!0);return{width:c.width*j.x,height:c.height*j.y,x:c.x*j.x-i.scrollLeft*j.x+k.x+m.x,y:c.y*j.y-i.scrollTop*j.y+k.y+m.y}},getDocumentElement:aB,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?aH(b)?[]:function(a,b){let c=b.get(a);if(c)return c;let d=aO(a,[],!1).filter(a=>aD(a)&&"body"!==az(a)),e=null,f="fixed"===aL(a).position,g=f?aN(a):a;for(;aD(g)&&!aK(g);){let b=aL(g),c=aI(g);c||"fixed"!==b.position||(e=null),(f?!c&&!e:!c&&"static"===b.position&&!!e&&["absolute","fixed"].includes(e.position)||aG(g)&&!c&&function a(b,c){let d=aN(b);return!(d===c||!aD(d)||aK(d))&&("fixed"===aL(d).position||a(d,c))}(a,g))?d=d.filter(a=>a!==g):e=b,g=aN(g)}return b.set(a,d),d}(b,this._c):[].concat(c),d],g=f[0],h=f.reduce((a,c)=>{let d=aY(b,c,e);return a.top=ac(d.top,a.top),a.right=ab(d.right,a.right),a.bottom=ab(d.bottom,a.bottom),a.left=ac(d.left,a.left),a},aY(b,g,e));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},getOffsetParent:a_,getElementRects:a0,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=aQ(a);return{width:b,height:c}},getScale:aS,isElement:aD,isRTL:function(a){return"rtl"===aL(a).direction}};function a2(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let a3=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:j,padding:k=0}=ai(a,b)||{};if(null==j)return{};let l=aq(k),m={x:c,y:d},n=al(an(e)),o=am(n),p=await g.getDimensions(j),q="y"===n,r=q?"clientHeight":"clientWidth",s=f.reference[o]+f.reference[n]-m[n]-f.floating[o],t=m[n]-f.reference[n],u=await (null==g.getOffsetParent?void 0:g.getOffsetParent(j)),v=u?u[r]:0;v&&await (null==g.isElement?void 0:g.isElement(u))||(v=h.floating[r]||f.floating[o]);let w=v/2-p[o]/2-1,x=ab(l[q?"top":"left"],w),y=ab(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=ac(x,ab(A,z)),C=!i.arrow&&null!=ak(e)&&A!==B&&f.reference[o]/2-(A<x?x:y)-p[o]/2<0,D=C?A<x?A-x:A-z:0;return{[n]:m[n]+D,data:{[n]:B,centerOffset:A-B-D,...C&&{alignmentOffset:D}},reset:C}}});var a4=c(23312),a5="undefined"!=typeof document?g.useLayoutEffect:g.useEffect;function a6(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!a6(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!a6(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function a7(a){return"undefined"==typeof window?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function a8(a,b){let c=a7(a);return Math.round(b*c)/c}function a9(a){let b=g.useRef(a);return a5(()=>{b.current=a}),b}var ba=g.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...g}=a;return(0,f.jsx)(G.sG.svg,{...g,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,f.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function bb(a){let[b,c]=g.useState(void 0);return(0,Y.N)(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}ba.displayName="Arrow";var bc="Popper",[bd,be]=(0,E.A)(bc),[bf,bg]=bd(bc),bh=a=>{let{__scopePopper:b,children:c}=a,[d,e]=g.useState(null);return(0,f.jsx)(bf,{scope:b,anchor:d,onAnchorChange:e,children:c})};bh.displayName=bc;var bi="PopperAnchor",bj=g.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,h=bg(bi,c),i=g.useRef(null),j=(0,D.s)(b,i);return g.useEffect(()=>{h.onAnchorChange(d?.current||i.current)}),d?null:(0,f.jsx)(G.sG.div,{...e,ref:j})});bj.displayName=bi;var bk="PopperContent",[bl,bm]=bd(bk),bn=g.forwardRef((a,b)=>{let{__scopePopper:c,side:d="bottom",sideOffset:e=0,align:h="center",alignOffset:i=0,arrowPadding:j=0,avoidCollisions:k=!0,collisionBoundary:l=[],collisionPadding:m=0,sticky:n="partial",hideWhenDetached:o=!1,updatePositionStrategy:p="optimized",onPlaced:q,...r}=a,s=bg(bk,c),[t,u]=g.useState(null),v=(0,D.s)(b,a=>u(a)),[w,x]=g.useState(null),y=bb(w),z=y?.width??0,A=y?.height??0,B="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},C=Array.isArray(l)?l:[l],E=C.length>0,F={padding:B,boundary:C.filter(br),altBoundary:E},{refs:H,floatingStyles:I,placement:J,isPositioned:K,middlewareData:L}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:h}={},transform:i=!0,whileElementsMounted:j,open:k}=a,[l,m]=g.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[n,o]=g.useState(d);a6(n,d)||o(d);let[p,q]=g.useState(null),[r,s]=g.useState(null),t=g.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=g.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=h||r,x=g.useRef(null),y=g.useRef(null),z=g.useRef(l),A=null!=j,B=a9(j),C=a9(e),D=a9(k),E=g.useCallback(()=>{if(!x.current||!y.current)return;let a={placement:b,strategy:c,middleware:n};C.current&&(a.platform=C.current),((a,b,c)=>{let d=new Map,e={platform:a1,...c},f={...e.platform,_c:d};return at(a,b,{...e,platform:f})})(x.current,y.current,a).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!a6(z.current,b)&&(z.current=b,a4.flushSync(()=>{m(b)}))})},[n,b,c,C,D]);a5(()=>{!1===k&&z.current.isPositioned&&(z.current.isPositioned=!1,m(a=>({...a,isPositioned:!1})))},[k]);let F=g.useRef(!1);a5(()=>(F.current=!0,()=>{F.current=!1}),[]),a5(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=g.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=g.useMemo(()=>({reference:v,floating:w}),[v,w]),I=g.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=a8(H.floating,l.x),d=a8(H.floating,l.y);return i?{...a,transform:"translate("+b+"px, "+d+"px)",...a7(H.floating)>=1.5&&{willChange:"transform"}}:{position:c,left:b,top:d}},[c,i,H.floating,l.x,l.y]);return g.useMemo(()=>({...l,update:E,refs:G,elements:H,floatingStyles:I}),[l,E,G,H,I])}({strategy:"fixed",placement:d+("center"!==h?"-"+h:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=aR(a),l=f||g?[...k?aO(k):[],...aO(b)]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=aB(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o=ae(l),p=ae(e.clientWidth-(k+m)),q={rootMargin:-o+"px "+-p+"px "+-ae(e.clientHeight-(l+n))+"px "+-ae(k)+"px",threshold:ac(0,ab(1,i))||1},r=!0;function s(b){let d=b[0].intersectionRatio;if(d!==i){if(!r)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||a2(j,a.getBoundingClientRect())||g(),r=!1}try{d=new IntersectionObserver(s,{...q,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(s,q)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),o.observe(b));let p=j?aV(a):null;return j&&function b(){let d=aV(a);p&&!a2(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===p}),elements:{reference:s.anchor},middleware:[((a,b)=>({...function(a){return void 0===a&&(a=0),{name:"offset",options:a,async fn(b){var c,d;let{x:e,y:f,placement:g,middlewareData:h}=b,i=await ax(b,a);return g===(null==(c=h.offset)?void 0:c.placement)&&null!=(d=h.arrow)&&d.alignmentOffset?{}:{x:e+i.x,y:f+i.y,data:{...i,placement:g}}}}}(a),options:[a,b]}))({mainAxis:e+A,alignmentAxis:i}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"shift",options:a,async fn(b){let{x:c,y:d,placement:e}=b,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=ai(a,b),j={x:c,y:d},k=await au(b,i),l=an(aj(e)),m=al(l),n=j[m],o=j[l];if(f){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=n+k[a],d=n-k[b];n=ac(c,ab(n,d))}if(g){let a="y"===l?"top":"left",b="y"===l?"bottom":"right",c=o+k[a],d=o-k[b];o=ac(c,ab(o,d))}let p=h.fn({...b,[m]:n,[l]:o});return{...p,data:{x:p.x-c,y:p.y-d,enabled:{[m]:f,[l]:g}}}}}}(a),options:[a,b]}))({mainAxis:!0,crossAxis:!1,limiter:"partial"===n?((a,b)=>({...function(a){return void 0===a&&(a={}),{options:a,fn(b){let{x:c,y:d,placement:e,rects:f,middlewareData:g}=b,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=ai(a,b),k={x:c,y:d},l=an(e),m=al(l),n=k[m],o=k[l],p=ai(h,b),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=f.reference[m]-f.floating[a]+q.mainAxis,c=f.reference[m]+f.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=["top","left"].includes(aj(e)),c=f.reference[l]-f.floating[a]+(b&&(null==(r=g.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),d=f.reference[l]+f.reference[a]+(b?0:(null==(s=g.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>d&&(o=d)}return{[m]:n,[l]:o}}}}(a),options:[a,b]}))():void 0,...F}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"flip",options:a,async fn(b){var c,d,e,f,g;let{placement:h,middlewareData:i,rects:j,initialPlacement:k,platform:l,elements:m}=b,{mainAxis:n=!0,crossAxis:o=!0,fallbackPlacements:p,fallbackStrategy:q="bestFit",fallbackAxisSideDirection:r="none",flipAlignment:s=!0,...t}=ai(a,b);if(null!=(c=i.arrow)&&c.alignmentOffset)return{};let u=aj(h),v=an(k),w=aj(k)===k,x=await (null==l.isRTL?void 0:l.isRTL(m.floating)),y=p||(w||!s?[ap(k)]:function(a){let b=ap(a);return[ao(a),b,ao(b)]}(k)),z="none"!==r;!p&&z&&y.push(...function(a,b,c,d){let e=ak(a),f=function(a,b,c){let d=["left","right"],e=["right","left"];switch(a){case"top":case"bottom":if(c)return b?e:d;return b?d:e;case"left":case"right":return b?["top","bottom"]:["bottom","top"];default:return[]}}(aj(a),"start"===c,d);return e&&(f=f.map(a=>a+"-"+e),b&&(f=f.concat(f.map(ao)))),f}(k,s,r,x));let A=[k,...y],B=await au(b,t),C=[],D=(null==(d=i.flip)?void 0:d.overflows)||[];if(n&&C.push(B[u]),o){let a=function(a,b,c){void 0===c&&(c=!1);let d=ak(a),e=al(an(a)),f=am(e),g="x"===e?d===(c?"end":"start")?"right":"left":"start"===d?"bottom":"top";return b.reference[f]>b.floating[f]&&(g=ap(g)),[g,ap(g)]}(h,j,x);C.push(B[a[0]],B[a[1]])}if(D=[...D,{placement:h,overflows:C}],!C.every(a=>a<=0)){let a=((null==(e=i.flip)?void 0:e.index)||0)+1,b=A[a];if(b)return{data:{index:a,overflows:D},reset:{placement:b}};let c=null==(f=D.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:f.placement;if(!c)switch(q){case"bestFit":{let a=null==(g=D.filter(a=>{if(z){let b=an(a.placement);return b===v||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:g[0];a&&(c=a);break}case"initialPlacement":c=k}if(h!==c)return{reset:{placement:c}}}return{}}}}(a),options:[a,b]}))({...F}),((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"size",options:a,async fn(b){var c,d;let e,f,{placement:g,rects:h,platform:i,elements:j}=b,{apply:k=()=>{},...l}=ai(a,b),m=await au(b,l),n=aj(g),o=ak(g),p="y"===an(g),{width:q,height:r}=h.floating;"top"===n||"bottom"===n?(e=n,f=o===(await (null==i.isRTL?void 0:i.isRTL(j.floating))?"start":"end")?"left":"right"):(f=n,e="end"===o?"top":"bottom");let s=r-m.top-m.bottom,t=q-m.left-m.right,u=ab(r-m[e],s),v=ab(q-m[f],t),w=!b.middlewareData.shift,x=u,y=v;if(null!=(c=b.middlewareData.shift)&&c.enabled.x&&(y=t),null!=(d=b.middlewareData.shift)&&d.enabled.y&&(x=s),w&&!o){let a=ac(m.left,0),b=ac(m.right,0),c=ac(m.top,0),d=ac(m.bottom,0);p?y=q-2*(0!==a||0!==b?a+b:ac(m.left,m.right)):x=r-2*(0!==c||0!==d?c+d:ac(m.top,m.bottom))}await k({...b,availableWidth:y,availableHeight:x});let z=await i.getDimensions(j.floating);return q!==z.width||r!==z.height?{reset:{rects:!0}}:{}}}}(a),options:[a,b]}))({...F,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}}),w&&((a,b)=>({...(a=>({name:"arrow",options:a,fn(b){let{element:c,padding:d}="function"==typeof a?a(b):a;return c&&({}).hasOwnProperty.call(c,"current")?null!=c.current?a3({element:c.current,padding:d}).fn(b):{}:c?a3({element:c,padding:d}).fn(b):{}}}))(a),options:[a,b]}))({element:w,padding:j}),bs({arrowWidth:z,arrowHeight:A}),o&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"hide",options:a,async fn(b){let{rects:c}=b,{strategy:d="referenceHidden",...e}=ai(a,b);switch(d){case"referenceHidden":{let a=av(await au(b,{...e,elementContext:"reference"}),c.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:aw(a)}}}case"escaped":{let a=av(await au(b,{...e,altBoundary:!0}),c.floating);return{data:{escapedOffsets:a,escaped:aw(a)}}}default:return{}}}}}(a),options:[a,b]}))({strategy:"referenceHidden",...F})]}),[M,N]=bt(J),P=(0,O.c)(q);(0,Y.N)(()=>{K&&P?.()},[K,P]);let Q=L.arrow?.x,R=L.arrow?.y,S=L.arrow?.centerOffset!==0,[T,U]=g.useState();return(0,Y.N)(()=>{t&&U(window.getComputedStyle(t).zIndex)},[t]),(0,f.jsx)("div",{ref:H.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:K?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:T,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(" "),...L.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,f.jsx)(bl,{scope:c,placedSide:M,onArrowChange:x,arrowX:Q,arrowY:R,shouldHideArrow:S,children:(0,f.jsx)(G.sG.div,{"data-side":M,"data-align":N,...r,ref:v,style:{...r.style,animation:K?void 0:"none"}})})})});bn.displayName=bk;var bo="PopperArrow",bp={top:"bottom",right:"left",bottom:"top",left:"right"},bq=g.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=bm(bo,c),g=bp[e.placedSide];return(0,f.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[g]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,f.jsx)(ba,{...d,ref:b,style:{...d.style,display:"block"}})})});function br(a){return null!==a}bq.displayName=bo;var bs=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=bt(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function bt(a){let[b,c="center"]=a.split("-");return[b,c]}var bu=c(61611),bv=c(29988),bw="rovingFocusGroup.onEntryFocus",bx={bubbles:!1,cancelable:!0},by="RovingFocusGroup",[bz,bA,bB]=(0,H.N)(by),[bC,bD]=(0,E.A)(by,[bB]),[bE,bF]=bC(by),bG=g.forwardRef((a,b)=>(0,f.jsx)(bz.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bz.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bH,{...a,ref:b})})}));bG.displayName=by;var bH=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,o=g.useRef(null),p=(0,D.s)(b,o),q=J(h),[r=null,s]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),[t,u]=g.useState(!1),v=(0,O.c)(l),w=bA(c),x=g.useRef(!1),[y,z]=g.useState(0);return g.useEffect(()=>{let a=o.current;if(a)return a.addEventListener(bw,v),()=>a.removeEventListener(bw,v)},[v]),(0,f.jsx)(bE,{scope:c,orientation:d,dir:q,loop:e,currentTabStopId:r,onItemFocus:g.useCallback(a=>s(a),[s]),onItemShiftTab:g.useCallback(()=>u(!0),[]),onFocusableItemAdd:g.useCallback(()=>z(a=>a+1),[]),onFocusableItemRemove:g.useCallback(()=>z(a=>a-1),[]),children:(0,f.jsx)(G.sG.div,{tabIndex:t||0===y?-1:0,"data-orientation":d,...n,ref:p,style:{outline:"none",...a.style},onMouseDown:(0,C.m)(a.onMouseDown,()=>{x.current=!0}),onFocus:(0,C.m)(a.onFocus,a=>{let b=!x.current;if(a.target===a.currentTarget&&b&&!t){let b=new CustomEvent(bw,bx);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=w().filter(a=>a.focusable);bL([a.find(a=>a.active),a.find(a=>a.id===r),...a].filter(Boolean).map(a=>a.ref.current),m)}}x.current=!1}),onBlur:(0,C.m)(a.onBlur,()=>u(!1))})})}),bI="RovingFocusGroupItem",bJ=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:h,...i}=a,j=_(),k=h||j,l=bF(bI,c),m=l.currentTabStopId===k,n=bA(c),{onFocusableItemAdd:o,onFocusableItemRemove:p}=l;return g.useEffect(()=>{if(d)return o(),()=>p()},[d,o,p]),(0,f.jsx)(bz.ItemSlot,{scope:c,id:k,focusable:d,active:e,children:(0,f.jsx)(G.sG.span,{tabIndex:m?0:-1,"data-orientation":l.orientation,...i,ref:b,onMouseDown:(0,C.m)(a.onMouseDown,a=>{d?l.onItemFocus(k):a.preventDefault()}),onFocus:(0,C.m)(a.onFocus,()=>l.onItemFocus(k)),onKeyDown:(0,C.m)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void l.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return bK[e]}(a,l.orientation,l.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let c=n().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)c.reverse();else if("prev"===b||"next"===b){"prev"===b&&c.reverse();let d=c.indexOf(a.currentTarget);c=l.loop?function(a,b){return a.map((c,d)=>a[(b+d)%a.length])}(c,d+1):c.slice(d+1)}setTimeout(()=>bL(c))}})})})});bJ.displayName=bI;var bK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function bL(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var bM=c(96425),bN=new WeakMap,bO=new WeakMap,bP={},bQ=0,bR=function(a){return a&&(a.host||bR(a.parentNode))},bS=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=bR(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});bP[c]||(bP[c]=new WeakMap);var f=bP[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(bN.get(a)||0)+1,j=(f.get(a)||0)+1;bN.set(a,i),f.set(a,j),g.push(a),1===i&&e&&bO.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),bQ++,function(){g.forEach(function(a){var b=bN.get(a)-1,e=f.get(a)-1;bN.set(a,b),f.set(a,e),b||(bO.has(a)||a.removeAttribute(d),bO.delete(a)),e||a.removeAttribute(c)}),--bQ||(bN=new WeakMap,bN=new WeakMap,bO=new WeakMap,bP={})}},bT=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("undefined"==typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live]"))),bS(d,e,c,"aria-hidden")):function(){return null}},bU=function(){return(bU=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function bV(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}Object.create;Object.create;var bW=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),bX="width-before-scroll-bar";function bY(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var bZ="undefined"!=typeof window?g.useLayoutEffect:g.useEffect,b$=new WeakMap;function b_(a){return a}var b0=function(a){void 0===a&&(a={});var b,c,d,e=(void 0===b&&(b=b_),c=[],d=!1,{read:function(){if(d)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return c.length?c[c.length-1]:null},useMedium:function(a){var e=b(a,d);return c.push(e),function(){c=c.filter(function(a){return a!==e})}},assignSyncMedium:function(a){for(d=!0;c.length;){var b=c;c=[],b.forEach(a)}c={push:function(b){return a(b)},filter:function(){return c}}},assignMedium:function(a){d=!0;var b=[];if(c.length){var e=c;c=[],e.forEach(a),b=c}var f=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(f)};g(),c={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),c}}}});return e.options=bU({async:!0,ssr:!1},a),e}(),b1=function(){},b2=g.forwardRef(function(a,b){var c,d,e,f,h=g.useRef(null),i=g.useState({onScrollCapture:b1,onWheelCapture:b1,onTouchMoveCapture:b1}),j=i[0],k=i[1],l=a.forwardProps,m=a.children,n=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noIsolation,t=a.inert,u=a.allowPinchZoom,v=a.as,w=a.gapMode,x=bV(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=(c=[h,b],d=function(a){return c.forEach(function(b){return bY(b,a)})},(e=(0,g.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,bZ(function(){var a=b$.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||bY(a,null)}),d.forEach(function(a){b.has(a)||bY(a,e)})}b$.set(f,c)},[c]),f),z=bU(bU({},x),j);return g.createElement(g.Fragment,null,p&&g.createElement(r,{sideCar:b0,removeScrollBar:o,shards:q,noIsolation:s,inert:t,setCallbacks:k,allowPinchZoom:!!u,lockRef:h,gapMode:w}),l?g.cloneElement(g.Children.only(m),bU(bU({},z),{ref:y})):g.createElement(void 0===v?"div":v,bU({},z,{className:n,ref:y}),m))});b2.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},b2.classNames={fullWidth:bX,zeroRight:bW};var b3=function(a){var b=a.sideCar,c=bV(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return g.createElement(d,bU({},c))};b3.isSideCarExport=!0;var b4=function(){var a=0,b=null;return{add:function(d){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=e||c.nc;return b&&a.setAttribute("nonce",b),a}())){var f,g;(f=b).styleSheet?f.styleSheet.cssText=d:f.appendChild(document.createTextNode(d)),g=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(g)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},b5=function(){var a=b4();return function(b,c){g.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},b6=function(){var a=b5();return function(b){return a(b.styles,b.dynamic),null}},b7={left:0,top:0,right:0,gap:0},b8=function(a){return parseInt(a||"",10)||0},b9=function(a){var b=window.getComputedStyle(document.body),c=b["padding"===a?"paddingLeft":"marginLeft"],d=b["padding"===a?"paddingTop":"marginTop"],e=b["padding"===a?"paddingRight":"marginRight"];return[b8(c),b8(d),b8(e)]},ca=function(a){if(void 0===a&&(a="margin"),"undefined"==typeof window)return b7;var b=b9(a),c=document.documentElement.clientWidth,d=window.innerWidth;return{left:b[0],top:b[1],right:b[2],gap:Math.max(0,d-c+b[2]-b[0])}},cb=b6(),cc="data-scroll-locked",cd=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(cc,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(bW," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bX," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bW," .").concat(bW," {\n right: 0 ").concat(d,";\n }\n \n .").concat(bX," .").concat(bX," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(cc,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ce=function(){var a=parseInt(document.body.getAttribute(cc)||"0",10);return isFinite(a)?a:0},cf=function(){g.useEffect(function(){return document.body.setAttribute(cc,(ce()+1).toString()),function(){var a=ce()-1;a<=0?document.body.removeAttribute(cc):document.body.setAttribute(cc,a.toString())}},[])},cg=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;cf();var f=g.useMemo(function(){return ca(e)},[e]);return g.createElement(cb,{styles:cd(f,!b,e,c?"":"!important")})},ch=!1;if("undefined"!=typeof window)try{var ci=Object.defineProperty({},"passive",{get:function(){return ch=!0,!0}});window.addEventListener("test",ci,ci),window.removeEventListener("test",ci,ci)}catch(a){ch=!1}var cj=!!ch&&{passive:!1},ck=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},cl=function(a,b){var c=b.ownerDocument,d=b;do{if("undefined"!=typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),cm(a,d)){var e=cn(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body);return!1},cm=function(a,b){return"v"===a?ck(b,"overflowY"):ck(b,"overflowX")},cn=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},co=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{var o=cn(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&cm(a,i)&&(m+=q,n+=p),i=i instanceof ShadowRoot?i.host:i.parentNode}while(!j&&i!==document.body||j&&(b.contains(i)||b===i));return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},cp=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},cq=function(a){return[a.deltaX,a.deltaY]},cr=function(a){return a&&"current"in a?a.current:a},cs=0,ct=[];let cu=(d=function(a){var b=g.useRef([]),c=g.useRef([0,0]),d=g.useRef(),e=g.useState(cs++)[0],f=g.useState(b6)[0],h=g.useRef(a);g.useEffect(function(){h.current=a},[a]),g.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(cr),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var i=g.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!h.current.allowPinchZoom;var e,f=cp(a),g=c.current,i="deltaX"in a?a.deltaX:g[0]-f[0],j="deltaY"in a?a.deltaY:g[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=cl(l,k);if(!m)return!0;if(m?e=l:(e="v"===l?"h":"v",m=cl(l,k)),!m)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var n=d.current||e;return co(n,b,a,"h"===n?i:j,!0)},[]),j=g.useCallback(function(a){if(ct.length&&ct[ct.length-1]===f){var c="deltaY"in a?cq(a):cp(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(h.current.shards||[]).map(cr).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?i(a,e[0]):!h.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),k=g.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=g.useCallback(function(a){c.current=cp(a),d.current=void 0},[]),m=g.useCallback(function(b){k(b.type,cq(b),b.target,i(b,a.lockRef.current))},[]),n=g.useCallback(function(b){k(b.type,cp(b),b.target,i(b,a.lockRef.current))},[]);g.useEffect(function(){return ct.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",j,cj),document.addEventListener("touchmove",j,cj),document.addEventListener("touchstart",l,cj),function(){ct=ct.filter(function(a){return a!==f}),document.removeEventListener("wheel",j,cj),document.removeEventListener("touchmove",j,cj),document.removeEventListener("touchstart",l,cj)}},[]);var o=a.removeScrollBar,p=a.inert;return g.createElement(g.Fragment,null,p?g.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?g.createElement(cg,{gapMode:a.gapMode}):null)},b0.useMedium(d),b3);var cv=g.forwardRef(function(a,b){return g.createElement(b2,bU({},a,{ref:b,sideCar:cu}))});cv.classNames=b2.classNames;var cw=["Enter"," "],cx=["ArrowUp","PageDown","End"],cy=["ArrowDown","PageUp","Home",...cx],cz={ltr:[...cw,"ArrowRight"],rtl:[...cw,"ArrowLeft"]},cA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},cB="Menu",[cC,cD,cE]=(0,H.N)(cB),[cF,cG]=(0,E.A)(cB,[cE,be,bD]),cH=be(),cI=bD(),[cJ,cK]=cF(cB),[cL,cM]=cF(cB),cN=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:h,modal:i=!0}=a,j=cH(b),[k,l]=g.useState(null),m=g.useRef(!1),n=(0,O.c)(h),o=J(e);return g.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,f.jsx)(bh,{...j,children:(0,f.jsx)(cJ,{scope:b,open:c,onOpenChange:n,content:k,onContentChange:l,children:(0,f.jsx)(cL,{scope:b,onClose:g.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:d})})})};cN.displayName=cB;var cO=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bj,{...e,...d,ref:b})});cO.displayName="MenuAnchor";var cP="MenuPortal",[cQ,cR]=cF(cP,{forceMount:void 0}),cS=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,g=cK(cP,b);return(0,f.jsx)(cQ,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};cS.displayName=cP;var cT="MenuContent",[cU,cV]=cF(cT),cW=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,g=cK(cT,a.__scopeMenu),h=cM(cT,a.__scopeMenu);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:h.modal?(0,f.jsx)(cX,{...e,ref:b}):(0,f.jsx)(cY,{...e,ref:b})})})})}),cX=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu),d=g.useRef(null),e=(0,D.s)(b,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(cZ,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),cY=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu);return(0,f.jsx)(cZ,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),cZ=g.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=cK(cT,c),t=cM(cT,c),u=cH(c),v=cI(c),w=cD(c),[x,y]=g.useState(null),z=g.useRef(null),A=(0,D.s)(b,z,s.onContentChange),B=g.useRef(0),E=g.useRef(""),F=g.useRef(0),G=g.useRef(null),H=g.useRef("right"),I=g.useRef(0),J=q?cv:g.Fragment,L=q?{as:bM.DX,allowPinchZoom:!0}:void 0;g.useEffect(()=>()=>window.clearTimeout(B.current),[]),M();let N=g.useCallback(a=>H.current===G.current?.side&&function(a,b){return!!b&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}({x:a.clientX,y:a.clientY},b)}(a,G.current?.area),[]);return(0,f.jsx)(cU,{scope:c,searchRef:E,onItemEnter:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),onItemLeave:g.useCallback(a=>{N(a)||(z.current?.focus(),y(null))},[N]),onTriggerLeave:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),pointerGraceTimerRef:F,onPointerGraceIntentChange:g.useCallback(a=>{G.current=a},[]),children:(0,f.jsx)(J,{...L,children:(0,f.jsx)(S,{asChild:!0,trapped:e,onMountAutoFocus:(0,C.m)(h,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,f.jsx)(bG,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:d,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:(0,C.m)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(bn,{role:"menu","aria-orientation":"vertical","data-state":dn(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:(0,C.m)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;b&&("Tab"===a.key&&a.preventDefault(),!c&&d&&(a=>{let b=E.current+a,c=w().filter(a=>!a.disabled),d=document.activeElement,e=c.find(a=>a.ref.current===d)?.textValue,f=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(c.map(a=>a.textValue),b,e),g=c.find(a=>a.textValue===f)?.ref.current;!function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),g&&setTimeout(()=>g.focus())})(a.key));let e=z.current;if(a.target!==e||!cy.includes(a.key))return;a.preventDefault();let f=w().filter(a=>!a.disabled).map(a=>a.ref.current);cx.includes(a.key)&&f.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(f)}),onBlur:(0,C.m)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{let b=a.target,c=I.current!==a.clientX;a.currentTarget.contains(b)&&c&&(H.current=a.clientX>I.current?"right":"left",I.current=a.clientX)}))})})})})})})});cW.displayName=cT;var c$=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"group",...d,ref:b})});c$.displayName="MenuGroup";var c_=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{...d,ref:b})});c_.displayName="MenuLabel";var c0="MenuItem",c1="menu.itemSelect",c2=g.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,h=g.useRef(null),i=cM(c0,a.__scopeMenu),j=cV(c0,a.__scopeMenu),k=(0,D.s)(b,h),l=g.useRef(!1);return(0,f.jsx)(c3,{...e,ref:k,disabled:c,onClick:(0,C.m)(a.onClick,()=>{let a=h.current;if(!c&&a){let b=new CustomEvent(c1,{bubbles:!0,cancelable:!0});a.addEventListener(c1,a=>d?.(a),{once:!0}),(0,G.hO)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,C.m)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;c||b&&" "===a.key||cw.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});c2.displayName=c0;var c3=g.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...h}=a,i=cV(c0,c),j=cI(c),k=g.useRef(null),l=(0,D.s)(b,k),[m,n]=g.useState(!1),[o,p]=g.useState("");return g.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,f.jsx)(cC.ItemSlot,{scope:c,disabled:d,textValue:e??o,children:(0,f.jsx)(bJ,{asChild:!0,...j,focusable:!d,children:(0,f.jsx)(G.sG.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...h,ref:l,onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{d?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>i.onItemLeave(a))),onFocus:(0,C.m)(a.onFocus,()=>n(!0)),onBlur:(0,C.m)(a.onBlur,()=>n(!1))})})})}),c4=g.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:c,children:(0,f.jsx)(c2,{role:"menuitemcheckbox","aria-checked":dp(c)?"mixed":c,...e,ref:b,"data-state":dq(c),onSelect:(0,C.m)(e.onSelect,()=>d?.(!!dp(c)||!c),{checkForDefaultPrevented:!1})})})});c4.displayName="MenuCheckboxItem";var c5="MenuRadioGroup",[c6,c7]=cF(c5,{value:void 0,onValueChange:()=>{}}),c8=g.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,g=(0,O.c)(d);return(0,f.jsx)(c6,{scope:a.__scopeMenu,value:c,onValueChange:g,children:(0,f.jsx)(c$,{...e,ref:b})})});c8.displayName=c5;var c9="MenuRadioItem",da=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=c7(c9,a.__scopeMenu),g=c===e.value;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:g,children:(0,f.jsx)(c2,{role:"menuitemradio","aria-checked":g,...d,ref:b,"data-state":dq(g),onSelect:(0,C.m)(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});da.displayName=c9;var db="MenuItemIndicator",[dc,dd]=cF(db,{checked:!1}),de=g.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,g=dd(db,c);return(0,f.jsx)(bv.C,{present:d||dp(g.checked)||!0===g.checked,children:(0,f.jsx)(G.sG.span,{...e,ref:b,"data-state":dq(g.checked)})})});de.displayName=db;var df=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});df.displayName="MenuSeparator";var dg=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bq,{...e,...d,ref:b})});dg.displayName="MenuArrow";var[dh,di]=cF("MenuSub"),dj="MenuSubTrigger",dk=g.forwardRef((a,b)=>{let c=cK(dj,a.__scopeMenu),d=cM(dj,a.__scopeMenu),e=di(dj,a.__scopeMenu),h=cV(dj,a.__scopeMenu),i=g.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=g.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return g.useEffect(()=>m,[m]),g.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,f.jsx)(cO,{asChild:!0,...l,children:(0,f.jsx)(c3,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":dn(c.open),...a,ref:(0,D.t)(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,C.m)(a.onPointerMove,dr(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{c.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>{m();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,f=b[e?"left":"right"],g=b[e?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:d}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,C.m)(a.onKeyDown,b=>{let e=""!==h.searchRef.current;a.disabled||e&&" "===b.key||cz[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});dk.displayName=dj;var dl="MenuSubContent",dm=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,h=cK(cT,a.__scopeMenu),i=cM(cT,a.__scopeMenu),j=di(dl,a.__scopeMenu),k=g.useRef(null),l=(0,D.s)(b,k);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||h.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:(0,f.jsx)(cZ,{id:j.contentId,"aria-labelledby":j.triggerId,...e,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,C.m)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=cA[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function dn(a){return a?"open":"closed"}function dp(a){return"indeterminate"===a}function dq(a){return dp(a)?"indeterminate":a?"checked":"unchecked"}function dr(a){return b=>"mouse"===b.pointerType?a(b):void 0}dm.displayName=dl;var ds="DropdownMenu",[dt,du]=(0,E.A)(ds,[cG]),dv=cG(),[dw,dx]=dt(ds),dy=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=dv(b),l=g.useRef(null),[m=!1,n]=(0,F.i)({prop:e,defaultProp:h,onChange:i});return(0,f.jsx)(dw,{scope:b,triggerId:_(),triggerRef:l,contentId:_(),open:m,onOpenChange:n,onOpenToggle:g.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,f.jsx)(cN,{...k,open:m,onOpenChange:n,dir:d,modal:j,children:c})})};dy.displayName=ds;var dz="DropdownMenuTrigger",dA=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,g=dx(dz,c),h=dv(c);return(0,f.jsx)(cO,{asChild:!0,...h,children:(0,f.jsx)(G.sG.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:(0,D.t)(b,g.triggerRef),onPointerDown:(0,C.m)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});dA.displayName=dz;var dB=a=>{let{__scopeDropdownMenu:b,...c}=a,d=dv(b);return(0,f.jsx)(cS,{...d,...c})};dB.displayName="DropdownMenuPortal";var dC="DropdownMenuContent",dD=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dx(dC,c),h=dv(c),i=g.useRef(!1);return(0,f.jsx)(cW,{id:e.contentId,"aria-labelledby":e.triggerId,...h,...d,ref:b,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{i.current||e.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,C.m)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(i.current=!0)}),style:{...a.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)"}})});dD.displayName=dC,g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c$,{...e,...d,ref:b})}).displayName="DropdownMenuGroup";var dE=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c_,{...e,...d,ref:b})});dE.displayName="DropdownMenuLabel";var dF=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c2,{...e,...d,ref:b})});dF.displayName="DropdownMenuItem";var dG=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c4,{...e,...d,ref:b})});dG.displayName="DropdownMenuCheckboxItem",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c8,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup";var dH=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(da,{...e,...d,ref:b})});dH.displayName="DropdownMenuRadioItem";var dI=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(de,{...e,...d,ref:b})});dI.displayName="DropdownMenuItemIndicator";var dJ=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(df,{...e,...d,ref:b})});dJ.displayName="DropdownMenuSeparator",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dg,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var dK=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dk,{...e,...d,ref:b})});dK.displayName="DropdownMenuSubTrigger";var dL=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dm,{...e,...d,ref:b,style:{...a.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)"}})});dL.displayName="DropdownMenuSubContent";let dM=(0,k.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),dN=(0,k.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),dO=(0,k.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);g.forwardRef(({className:a,inset:b,children:c,...d},e)=>(0,f.jsxs)(dK,{ref:e,className:(0,w.cn)("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",b&&"pl-8",a),...d,children:[c,(0,f.jsx)(dM,{className:"ml-auto"})]})).displayName=dK.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dL,{ref:c,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",a),...b})).displayName=dL.displayName;let dP=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(dB,{children:(0,f.jsx)(dD,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","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",a),...c})}));dP.displayName=dD.displayName;let dQ=g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dF,{ref:d,className:(0,w.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",b&&"pl-8",a),...c}));dQ.displayName=dF.displayName,g.forwardRef(({className:a,children:b,checked:c,...d},e)=>(0,f.jsxs)(dG,{ref:e,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:c,...d,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),b]})).displayName=dG.displayName,g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(dH,{ref:d,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dO,{className:"h-2 w-2 fill-current"})})}),b]})).displayName=dH.displayName,g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dE,{ref:d,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",b&&"pl-8",a),...c})).displayName=dE.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dJ,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=dJ.displayName;var dR=c(60122);let dS=(0,y.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),dT=g.forwardRef(({className:a,variant:b,size:c,asChild:d=!1,...e},g)=>{let h=d?bM.DX:"button";return(0,f.jsx)(h,{className:(0,w.cn)(dS({variant:b,size:c,className:a})),ref:g,...e})});function dU(a,[b,c]){return Math.min(c,Math.max(b,a))}dT.displayName="Button";var dV="ScrollArea",[dW,dX]=(0,E.A)(dV),[dY,dZ]=dW(dV),d$=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:d="hover",dir:e,scrollHideDelay:h=600,...i}=a,[j,k]=g.useState(null),[l,m]=g.useState(null),[n,o]=g.useState(null),[p,q]=g.useState(null),[r,s]=g.useState(null),[t,u]=g.useState(0),[v,w]=g.useState(0),[x,y]=g.useState(!1),[z,A]=g.useState(!1),B=(0,D.s)(b,a=>k(a)),C=J(e);return(0,f.jsx)(dY,{scope:c,type:d,dir:C,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,f.jsx)(G.sG.div,{dir:C,...i,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});d$.displayName=dV;var d_="ScrollAreaViewport",d0=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:d,nonce:e,...h}=a,i=dZ(d_,c),j=g.useRef(null),k=(0,D.s)(b,j,i.onViewportChange);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e}),(0,f.jsx)(G.sG.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,f.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:d})})]})});d0.displayName=d_;var d1="ScrollAreaScrollbar",d2=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=e,j="horizontal"===a.orientation;return g.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===e.type?(0,f.jsx)(d3,{...d,ref:b,forceMount:c}):"scroll"===e.type?(0,f.jsx)(d4,{...d,ref:b,forceMount:c}):"auto"===e.type?(0,f.jsx)(d5,{...d,ref:b,forceMount:c}):"always"===e.type?(0,f.jsx)(d6,{...d,ref:b}):null});d2.displayName=d1;var d3=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),[h,i]=g.useState(!1);return g.useEffect(()=>{let a=e.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),e.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[e.scrollArea,e.scrollHideDelay]),(0,f.jsx)(bv.C,{present:c||h,children:(0,f.jsx)(d5,{"data-state":h?"visible":"hidden",...d,ref:b})})}),d4=g.forwardRef((a,b)=>{var c;let{forceMount:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),i="horizontal"===a.orientation,j=eo(()=>l("SCROLL_END"),100),[k,l]=(c={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},g.useReducer((a,b)=>c[a][b]??a,"hidden"));return g.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),g.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,f.jsx)(bv.C,{present:d||"hidden"!==k,children:(0,f.jsx)(d6,{"data-state":"hidden"===k?"hidden":"visible",...e,ref:b,onPointerEnter:(0,C.m)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),d5=g.forwardRef((a,b)=>{let c=dZ(d1,a.__scopeScrollArea),{forceMount:d,...e}=a,[h,i]=g.useState(!1),j="horizontal"===a.orientation,k=eo(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;i(j?a:b)}},10);return ep(c.viewport,k),ep(c.content,k),(0,f.jsx)(bv.C,{present:d||h,children:(0,f.jsx)(d6,{"data-state":h?"visible":"hidden",...e,ref:b})})}),d6=g.forwardRef((a,b)=>{let{orientation:c="vertical",...d}=a,e=dZ(d1,a.__scopeScrollArea),h=g.useRef(null),i=g.useRef(0),[j,k]=g.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=ej(j.viewport,j.content),m={...d,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ek(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return em([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===c?(0,f.jsx)(d7,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollLeft,j,e.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollLeft=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollLeft=n(a,e.dir))}}):"vertical"===c?(0,f.jsx)(d8,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollTop=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollTop=n(a))}}):null}),d7=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarXChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"horizontal",...e,ref:l,sizes:c,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:ei(i.paddingLeft),paddingEnd:ei(i.paddingRight)}})}})}),d8=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarYChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"vertical",...e,ref:l,sizes:c,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:ei(i.paddingTop),paddingEnd:ei(i.paddingBottom)}})}})}),[d9,ea]=dW(d1),eb=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:d,hasThumb:e,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=dZ(d1,c),[q,r]=g.useState(null),s=(0,D.s)(b,a=>r(a)),t=g.useRef(null),u=g.useRef(""),v=p.viewport,w=d.content-d.viewport,x=(0,O.c)(m),y=(0,O.c)(k),z=eo(n,10);function A(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return g.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&x(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,x]),g.useEffect(y,[d,y]),ep(q,z),ep(p.content,z),(0,f.jsx)(d9,{scope:c,scrollbar:q,hasThumb:e,onThumbChange:(0,O.c)(h),onThumbPointerUp:(0,O.c)(i),onThumbPositionChange:y,onThumbPointerDown:(0,O.c)(j),children:(0,f.jsx)(G.sG.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,C.m)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),A(a))}),onPointerMove:(0,C.m)(a.onPointerMove,A),onPointerUp:(0,C.m)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),ec="ScrollAreaThumb",ed=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=ea(ec,a.__scopeScrollArea);return(0,f.jsx)(bv.C,{present:c||e.hasThumb,children:(0,f.jsx)(ee,{ref:b,...d})})}),ee=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:d,...e}=a,h=dZ(ec,c),i=ea(ec,c),{onThumbPositionChange:j}=i,k=(0,D.s)(b,a=>i.onThumbChange(a)),l=g.useRef(void 0),m=eo(()=>{l.current&&(l.current(),l.current=void 0)},100);return g.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=en(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,f.jsx)(G.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...e,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...d},onPointerDownCapture:(0,C.m)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,C.m)(a.onPointerUp,i.onThumbPointerUp)})});ed.displayName=ec;var ef="ScrollAreaCorner",eg=g.forwardRef((a,b)=>{let c=dZ(ef,a.__scopeScrollArea),d=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&d?(0,f.jsx)(eh,{...a,ref:b}):null});eg.displayName=ef;var eh=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,...d}=a,e=dZ(ef,c),[h,i]=g.useState(0),[j,k]=g.useState(0),l=!!(h&&j);return ep(e.scrollbarX,()=>{let a=e.scrollbarX?.offsetHeight||0;e.onCornerHeightChange(a),k(a)}),ep(e.scrollbarY,()=>{let a=e.scrollbarY?.offsetWidth||0;e.onCornerWidthChange(a),i(a)}),l?(0,f.jsx)(G.sG.div,{...d,ref:b,style:{width:h,height:j,position:"absolute",right:"ltr"===e.dir?0:void 0,left:"rtl"===e.dir?0:void 0,bottom:0,...a.style}}):null});function ei(a){return a?parseInt(a,10):0}function ej(a,b){let c=a/b;return isNaN(c)?0:c}function ek(a){let b=ej(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function el(a,b,c="ltr"){let d=ek(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=dU(a,"ltr"===c?[0,g]:[-1*g,0]);return em([0,g],[0,f-d])(h)}function em(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var en=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function eo(a,b){let c=(0,O.c)(a),d=g.useRef(0);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),g.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function ep(a,b){let c=(0,O.c)(b);(0,Y.N)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}let eq=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(d$,{ref:d,className:(0,w.cn)("relative overflow-hidden",a),...c,children:[(0,f.jsx)(d0,{className:"h-full w-full rounded-[inherit]",children:b}),(0,f.jsx)(er,{}),(0,f.jsx)(eg,{})]}));eq.displayName=d$.displayName;let er=g.forwardRef(({className:a,orientation:b="vertical",...c},d)=>(0,f.jsx)(d2,{ref:d,orientation:b,className:(0,w.cn)("flex touch-none select-none transition-colors","vertical"===b&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...c,children:(0,f.jsx)(ed,{className:"relative flex-1 rounded-full bg-border"})}));er.displayName=d2.displayName;let es=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{className:"relative w-full overflow-auto",children:(0,f.jsx)("table",{ref:c,className:(0,w.cn)("w-full caption-bottom text-sm",a),...b})}));es.displayName="Table";let et=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("thead",{ref:c,className:(0,w.cn)("[&_tr]:border-b",a),...b}));et.displayName="TableHeader";let eu=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tbody",{ref:c,className:(0,w.cn)("[&_tr:last-child]:border-0",a),...b}));eu.displayName="TableBody",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tfoot",{ref:c,className:(0,w.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...b})).displayName="TableFooter";let ev=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tr",{ref:c,className:(0,w.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...b}));ev.displayName="TableRow";let ew=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("th",{ref:c,className:(0,w.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ew.displayName="TableHead";let ex=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("td",{ref:c,className:(0,w.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ex.displayName="TableCell",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("caption",{ref:c,className:(0,w.cn)("mt-4 text-sm text-muted-foreground",a),...b})).displayName="TableCaption";var ey=c(90447);let ez=function({preview:a=[],onConfirm:b,onCancel:c,isConfirming:d,error:e,isLoading:h,success:i,databaseName:j,migrationsDir:k}){let[l,m]=(0,g.useState)(!0);if(h)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",j?` \xb7 ${j}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!a?.length)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4",children:(0,f.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let n=a.filter(a=>"will be applied"===a.action).length,o=a.filter(a=>"skipped"===a.action).length;return a.filter(a=>"applied"===a.action).length,(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",e?"bg-destructive/15":"bg-background"),children:(0,f.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",j&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:j})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsxs)("p",{className:"text-sm text-neutral-700",children:[n," migration(s) \uD83D\uDD52️ pending, ",o," to ⏭️ skip"]}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:k?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",k]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),e?(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:e.message}):i&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:i})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>m(!l),className:"text-sm font-medium hover:underline",children:l?"Hide Details":"Show Details"}),l&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{children:"Migration"}),(0,f.jsx)(ew,{className:"text-center w-24",children:"Status"})]})}),(0,f.jsx)(eu,{children:a.map((a,b)=>(0,f.jsxs)(ev,{children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{className:"text-center align-middle",children:(a=>{switch(a){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}})(a.action)})]},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,f.jsx)(dT,{onClick:b,disabled:d||0===n,className:"flex-1",children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,f.jsx)(dT,{variant:"outline",onClick:c,disabled:d,className:"flex-1",children:"Cancel"})]})]})})})},eA=function({preview:a=[],onConfirm:b,onCancel:c,onDataPull:d,isConfirming:e,isDataPulling:h,error:i,isLoading:j,success:k,databaseName:l,migrationsDir:m}){console.log("PullPreviewToast rendered with:",{previewLength:a.length,isConfirming:e,error:i,isLoading:j});let[n,o]=(0,g.useState)(!1);if(j)return console.log("Rendering loading state"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",l?` \xb7 ${l}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!a?.length)return console.log("No preview data available"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,f.jsx)("div",{className:"flex items-center gap-2",children:(0,f.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let p=a.filter(a=>(a.migration||a.name||"").endsWith(".sql")),q=p.length;console.log("Migration stats:",{totalMigrations:q});let r=k&&!h&&!i;return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,f.jsx)("div",{className:"flex items-start gap-x-1",children:(0,f.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:(0,w.cn)("font-medium",i?"text-destructive":"text-neutral-900"),children:[i?"Pull Migration Error":"Pull Migration Preview",l&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:l})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsx)("p",{className:(0,w.cn)("text-sm",i?"text-destructive/80":"text-neutral-700"),children:`${q} migration(s) will be applied`}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:m?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",m]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),i&&(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}),k&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:k})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>o(!n),className:"text-sm font-medium hover:underline",children:n?"Hide Details":"Show Details"}),n&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)("div",{className:"w-full",children:[(0,f.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,f.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,f.jsx)("div",{children:p.map((a,b)=>(0,f.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,f.jsx)("div",{className:"font-mono text-xs",children:a.migration||a.name})},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)(dT,{onClick:b,disabled:e,className:`flex-1 ${e?"cursor-not-allowed opacity-50":""}`,children:e?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,f.jsx)(dT,{onClick:d,disabled:!r,variant:"outline",className:`w-full ${!r?"cursor-not-allowed opacity-50":""}`,children:h?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,f.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function eB(){let[a]=(0,g.useState)(!1),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(!1),[h,i]=(0,g.useState)(null),[j,k]=(0,g.useState)(null),[l,m]=(0,g.useState)(null),[n,o]=(0,g.useState)(null),{refreshTables:p,setOperationStatus:q,setLastSyncTime:r,currentDatabase:s}=(0,dR.t)(),t=()=>{e(!1),i(null),k(null),m(null),o(null)},u=async()=>{try{m("push"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate preview");i(b.details.details)}catch(a){console.error("Push to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate push preview")}finally{c(!1)}},v=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm push");i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),o(`Applied ${b.details.applied} migration(s), skipped ${b.details.skipped}.`),r(),q("success",`Push complete — ${b.details.applied} migration(s) applied`)}catch(a){console.error("Push to remote confirm failed:",a),k(a)}finally{c(!1)}},w=async()=>{try{m("pull"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate pull preview");i(b.details)}catch(a){console.error("Pull to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate pull preview")}finally{c(!1)}},x=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm pull");o("Pull migrations applied successfully."),r(),q("success","Pull complete"),i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),await p()}catch(a){console.error("Pull to remote confirm failed:",a),k(a)}finally{c(!1)}},y=d&&("pull"===l?(0,f.jsx)(eA,{preview:h?.preview||[],onConfirm:x,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}):(0,f.jsx)(ez,{preview:h?.preview||[],onConfirm:v,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}));return{isConnecting:a,isPushing:b,showPreview:d,pushToRemote:u,pullToRemotePreview:w,PreviewUI:y}}function eC({icon:a,label:b,view:c,currentView:d,onNavigate:e,disabled:g,pro:h,locked:i}){let j=d===c;return(0,f.jsxs)("button",{className:`w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2
1
+ (()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1905:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6776:(a,b,c)=>{Promise.resolve().then(c.bind(c,32122))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24207:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(84339);function e(a){let{reason:b,children:c}=a;throw Object.defineProperty(new d.BailoutToCSRError(b),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32122:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>iD});var d,e,f=c(21124),g=c(38301),h=c.t(g,2),i=c.n(g);let j={rE:"0.3.15"};var k=c(8808);let l=(0,k.A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),m=(0,k.A)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),n=(0,k.A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),o=(0,k.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),p=(0,k.A)("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),q=(0,k.A)("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),r=(0,k.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),s=(0,k.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),t=(0,k.A)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),u=(0,k.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),v=(0,k.A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var w=c(52603);let x=g.forwardRef(({className:a,type:b,...c},d)=>(0,f.jsx)("input",{type:b,className:(0,w.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:d,...c}));x.displayName="Input";var y=c(26691);let z=(0,y.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),A=g.forwardRef(({className:a,variant:b,...c},d)=>(0,f.jsx)("div",{ref:d,role:"alert",className:(0,w.cn)(z({variant:b}),a),...c}));A.displayName="Alert",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("h5",{ref:c,className:(0,w.cn)("mb-1 font-medium leading-none tracking-tight",a),...b})).displayName="AlertTitle";let B=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{ref:c,className:(0,w.cn)("text-sm [&_p]:leading-relaxed",a),...b}));B.displayName="AlertDescription";var C=c(87868),D=c(92808),E=c(2332),F=c(11720),G=c(6406),H=c(825),I=g.createContext(void 0);function J(a){let b=g.useContext(I);return a||b||"ltr"}var K=c(7412),L=0;function M(){g.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??N()),document.body.insertAdjacentElement("beforeend",a[1]??N()),L++,()=>{1===L&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),L--}},[])}function N(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var O=c(71700),P="focusScope.autoFocusOnMount",Q="focusScope.autoFocusOnUnmount",R={bubbles:!1,cancelable:!0},S=g.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:h,...i}=a,[j,k]=g.useState(null),l=(0,O.c)(e),m=(0,O.c)(h),n=g.useRef(null),o=(0,D.s)(b,a=>k(a)),p=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(d){let a=function(a){if(p.paused||!j)return;let b=a.target;j.contains(b)?n.current=b:V(n.current,{select:!0})},b=function(a){if(p.paused||!j)return;let b=a.relatedTarget;null!==b&&(j.contains(b)||V(n.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&V(j)});return j&&c.observe(j,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,j,p.paused]),g.useEffect(()=>{if(j){W.add(p);let a=document.activeElement;if(!j.contains(a)){let b=new CustomEvent(P,R);j.addEventListener(P,l),j.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(V(d,{select:b}),document.activeElement!==c)return}(T(j).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&V(j))}return()=>{j.removeEventListener(P,l),setTimeout(()=>{let b=new CustomEvent(Q,R);j.addEventListener(Q,m),j.dispatchEvent(b),b.defaultPrevented||V(a??document.body,{select:!0}),j.removeEventListener(Q,m),W.remove(p)},0)}}},[j,l,m,p]);let q=g.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){let b=a.currentTarget,[d,f]=function(a){let b=T(a);return[U(b,a),U(b.reverse(),a)]}(b);d&&f?a.shiftKey||e!==f?a.shiftKey&&e===d&&(a.preventDefault(),c&&V(f,{select:!0})):(a.preventDefault(),c&&V(d,{select:!0})):e===b&&a.preventDefault()}},[c,d,p.paused]);return(0,f.jsx)(G.sG.div,{tabIndex:-1,...i,ref:o,onKeyDown:q})});function T(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function U(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function V(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}S.displayName="FocusScope";var W=function(){let a=[];return{add(b){let c=a[0];b!==c&&c?.pause(),(a=X(a,b)).unshift(b)},remove(b){a=X(a,b),a[0]?.resume()}}}();function X(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var Y=c(68829),Z=h["useId".toString()]||(()=>void 0),$=0;function _(a){let[b,c]=g.useState(Z());return(0,Y.N)(()=>{a||c(a=>a??String($++))},[a]),a||(b?`radix-${b}`:"")}let aa=["top","right","bottom","left"],ab=Math.min,ac=Math.max,ad=Math.round,ae=Math.floor,af=a=>({x:a,y:a}),ag={left:"right",right:"left",bottom:"top",top:"bottom"},ah={start:"end",end:"start"};function ai(a,b){return"function"==typeof a?a(b):a}function aj(a){return a.split("-")[0]}function ak(a){return a.split("-")[1]}function al(a){return"x"===a?"y":"x"}function am(a){return"y"===a?"height":"width"}function an(a){return["top","bottom"].includes(aj(a))?"y":"x"}function ao(a){return a.replace(/start|end/g,a=>ah[a])}function ap(a){return a.replace(/left|right|bottom|top/g,a=>ag[a])}function aq(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function ar(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function as(a,b,c){let d,{reference:e,floating:f}=a,g=an(b),h=al(an(b)),i=am(h),j=aj(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(ak(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}let at=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=f.filter(Boolean),i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=as(j,d,i),m=d,n={},o=0;for(let c=0;c<h.length;c++){let{name:f,fn:p}=h[c],{x:q,y:r,data:s,reset:t}=await p({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:n,rects:j,platform:g,elements:{reference:a,floating:b}});k=null!=q?q:k,l=null!=r?r:l,n={...n,[f]:{...n[f],...s}},t&&o<=50&&(o++,"object"==typeof t&&(t.placement&&(m=t.placement),t.rects&&(j=!0===t.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):t.rects),{x:k,y:l}=as(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};async function au(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=ai(b,a),o=aq(n),p=h[m?"floating"===l?"reference":"floating":l],q=ar(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),r="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,s=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),t=await (null==f.isElement?void 0:f.isElement(s))&&await (null==f.getScale?void 0:f.getScale(s))||{x:1,y:1},u=ar(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:r,offsetParent:s,strategy:i}):r);return{top:(q.top-u.top+o.top)/t.y,bottom:(u.bottom-q.bottom+o.bottom)/t.y,left:(q.left-u.left+o.left)/t.x,right:(u.right-q.right+o.right)/t.x}}function av(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function aw(a){return aa.some(b=>a[b]>=0)}async function ax(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=aj(c),h=ak(c),i="y"===an(c),j=["left","top"].includes(g)?-1:1,k=f&&i?-1:1,l=ai(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function ay(){return"undefined"!=typeof window}function az(a){return aC(a)?(a.nodeName||"").toLowerCase():"#document"}function aA(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function aB(a){var b;return null==(b=(aC(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function aC(a){return!!ay()&&(a instanceof Node||a instanceof aA(a).Node)}function aD(a){return!!ay()&&(a instanceof Element||a instanceof aA(a).Element)}function aE(a){return!!ay()&&(a instanceof HTMLElement||a instanceof aA(a).HTMLElement)}function aF(a){return!!ay()&&"undefined"!=typeof ShadowRoot&&(a instanceof ShadowRoot||a instanceof aA(a).ShadowRoot)}function aG(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=aL(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!["inline","contents"].includes(e)}function aH(a){return[":popover-open",":modal"].some(b=>{try{return a.matches(b)}catch(a){return!1}})}function aI(a){let b=aJ(),c=aD(a)?aL(a):a;return["transform","translate","scale","rotate","perspective"].some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||["transform","translate","scale","rotate","perspective","filter"].some(a=>(c.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(c.contain||"").includes(a))}function aJ(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function aK(a){return["html","body","#document"].includes(az(a))}function aL(a){return aA(a).getComputedStyle(a)}function aM(a){return aD(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function aN(a){if("html"===az(a))return a;let b=a.assignedSlot||a.parentNode||aF(a)&&a.host||aB(a);return aF(b)?b.host:b}function aO(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=aN(b);return aK(c)?b.ownerDocument?b.ownerDocument.body:b.body:aE(c)&&aG(c)?c:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=aA(e);if(f){let a=aP(g);return b.concat(g,g.visualViewport||[],aG(e)?e:[],a&&c?aO(a):[])}return b.concat(e,aO(e,[],c))}function aP(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function aQ(a){let b=aL(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=aE(a),f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=ad(c)!==f||ad(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function aR(a){return aD(a)?a:a.contextElement}function aS(a){let b=aR(a);if(!aE(b))return af(1);let c=b.getBoundingClientRect(),{width:d,height:e,$:f}=aQ(b),g=(f?ad(c.width):c.width)/d,h=(f?ad(c.height):c.height)/e;return g&&Number.isFinite(g)||(g=1),h&&Number.isFinite(h)||(h=1),{x:g,y:h}}let aT=af(0);function aU(a){let b=aA(a);return aJ()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:aT}function aV(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=aR(a),h=af(1);b&&(d?aD(d)&&(h=aS(d)):h=aS(a));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===aA(g))&&e)?aU(g):af(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=aA(g),b=d&&aD(d)?aA(d):d,c=a,e=aP(c);for(;e&&d&&b!==c;){let a=aS(e),b=e.getBoundingClientRect(),d=aL(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=aP(c=aA(e))}}return ar({width:l,height:m,x:j,y:k})}function aW(a,b){let c=aM(a).scrollLeft;return b?b.left+c:aV(aB(a)).left+c}function aX(a,b,c){void 0===c&&(c=!1);let d=a.getBoundingClientRect();return{x:d.left+b.scrollLeft-(c?0:aW(a,d)),y:d.top+b.scrollTop}}function aY(a,b,c){let d;if("viewport"===b)d=function(a,b){let c=aA(a),d=aB(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=aJ();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b)d=function(a){let b=aB(a),c=aM(a),d=a.ownerDocument.body,e=ac(b.scrollWidth,b.clientWidth,d.scrollWidth,d.clientWidth),f=ac(b.scrollHeight,b.clientHeight,d.scrollHeight,d.clientHeight),g=-c.scrollLeft+aW(a),h=-c.scrollTop;return"rtl"===aL(d).direction&&(g+=ac(b.clientWidth,d.clientWidth)-e),{width:e,height:f,x:g,y:h}}(aB(a));else if(aD(b))d=function(a,b){let c=aV(a,!0,"fixed"===b),d=c.top+a.clientTop,e=c.left+a.clientLeft,f=aE(a)?aS(a):af(1),g=a.clientWidth*f.x,h=a.clientHeight*f.y;return{width:g,height:h,x:e*f.x,y:d*f.y}}(b,c);else{let c=aU(a);d={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}return ar(d)}function aZ(a){return"static"===aL(a).position}function a$(a,b){if(!aE(a)||"fixed"===aL(a).position)return null;if(b)return b(a);let c=a.offsetParent;return aB(a)===c&&(c=c.ownerDocument.body),c}function a_(a,b){let c=aA(a);if(aH(a))return c;if(!aE(a)){let b=aN(a);for(;b&&!aK(b);){if(aD(b)&&!aZ(b))return b;b=aN(b)}return c}let d=a$(a,b);for(;d&&["table","td","th"].includes(az(d))&&aZ(d);)d=a$(d,b);return d&&aK(d)&&aZ(d)&&!aI(d)?c:d||function(a){let b=aN(a);for(;aE(b)&&!aK(b);){if(aI(b))return b;if(aH(b))break;b=aN(b)}return null}(a)||c}let a0=async function(a){let b=this.getOffsetParent||a_,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){let d=aE(b),e=aB(b),f="fixed"===c,g=aV(a,!0,f,b),h={scrollLeft:0,scrollTop:0},i=af(0);if(d||!d&&!f)if(("body"!==az(b)||aG(e))&&(h=aM(b)),d){let a=aV(b,!0,f,b);i.x=a.x+b.clientLeft,i.y=a.y+b.clientTop}else e&&(i.x=aW(e));let j=!e||d||f?af(0):aX(e,h);return{x:g.left+h.scrollLeft-i.x-j.x,y:g.top+h.scrollTop-i.y-j.y,width:g.width,height:g.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},a1={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){let{elements:b,rect:c,offsetParent:d,strategy:e}=a,f="fixed"===e,g=aB(d),h=!!b&&aH(b.floating);if(d===g||h&&f)return c;let i={scrollLeft:0,scrollTop:0},j=af(1),k=af(0),l=aE(d);if((l||!l&&!f)&&(("body"!==az(d)||aG(g))&&(i=aM(d)),aE(d))){let a=aV(d);j=aS(d),k.x=a.x+d.clientLeft,k.y=a.y+d.clientTop}let m=!g||l||f?af(0):aX(g,i,!0);return{width:c.width*j.x,height:c.height*j.y,x:c.x*j.x-i.scrollLeft*j.x+k.x+m.x,y:c.y*j.y-i.scrollTop*j.y+k.y+m.y}},getDocumentElement:aB,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?aH(b)?[]:function(a,b){let c=b.get(a);if(c)return c;let d=aO(a,[],!1).filter(a=>aD(a)&&"body"!==az(a)),e=null,f="fixed"===aL(a).position,g=f?aN(a):a;for(;aD(g)&&!aK(g);){let b=aL(g),c=aI(g);c||"fixed"!==b.position||(e=null),(f?!c&&!e:!c&&"static"===b.position&&!!e&&["absolute","fixed"].includes(e.position)||aG(g)&&!c&&function a(b,c){let d=aN(b);return!(d===c||!aD(d)||aK(d))&&("fixed"===aL(d).position||a(d,c))}(a,g))?d=d.filter(a=>a!==g):e=b,g=aN(g)}return b.set(a,d),d}(b,this._c):[].concat(c),d],g=f[0],h=f.reduce((a,c)=>{let d=aY(b,c,e);return a.top=ac(d.top,a.top),a.right=ab(d.right,a.right),a.bottom=ab(d.bottom,a.bottom),a.left=ac(d.left,a.left),a},aY(b,g,e));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},getOffsetParent:a_,getElementRects:a0,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=aQ(a);return{width:b,height:c}},getScale:aS,isElement:aD,isRTL:function(a){return"rtl"===aL(a).direction}};function a2(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let a3=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:j,padding:k=0}=ai(a,b)||{};if(null==j)return{};let l=aq(k),m={x:c,y:d},n=al(an(e)),o=am(n),p=await g.getDimensions(j),q="y"===n,r=q?"clientHeight":"clientWidth",s=f.reference[o]+f.reference[n]-m[n]-f.floating[o],t=m[n]-f.reference[n],u=await (null==g.getOffsetParent?void 0:g.getOffsetParent(j)),v=u?u[r]:0;v&&await (null==g.isElement?void 0:g.isElement(u))||(v=h.floating[r]||f.floating[o]);let w=v/2-p[o]/2-1,x=ab(l[q?"top":"left"],w),y=ab(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=ac(x,ab(A,z)),C=!i.arrow&&null!=ak(e)&&A!==B&&f.reference[o]/2-(A<x?x:y)-p[o]/2<0,D=C?A<x?A-x:A-z:0;return{[n]:m[n]+D,data:{[n]:B,centerOffset:A-B-D,...C&&{alignmentOffset:D}},reset:C}}});var a4=c(23312),a5="undefined"!=typeof document?g.useLayoutEffect:g.useEffect;function a6(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!a6(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!a6(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function a7(a){return"undefined"==typeof window?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function a8(a,b){let c=a7(a);return Math.round(b*c)/c}function a9(a){let b=g.useRef(a);return a5(()=>{b.current=a}),b}var ba=g.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...g}=a;return(0,f.jsx)(G.sG.svg,{...g,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,f.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function bb(a){let[b,c]=g.useState(void 0);return(0,Y.N)(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}ba.displayName="Arrow";var bc="Popper",[bd,be]=(0,E.A)(bc),[bf,bg]=bd(bc),bh=a=>{let{__scopePopper:b,children:c}=a,[d,e]=g.useState(null);return(0,f.jsx)(bf,{scope:b,anchor:d,onAnchorChange:e,children:c})};bh.displayName=bc;var bi="PopperAnchor",bj=g.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,h=bg(bi,c),i=g.useRef(null),j=(0,D.s)(b,i);return g.useEffect(()=>{h.onAnchorChange(d?.current||i.current)}),d?null:(0,f.jsx)(G.sG.div,{...e,ref:j})});bj.displayName=bi;var bk="PopperContent",[bl,bm]=bd(bk),bn=g.forwardRef((a,b)=>{let{__scopePopper:c,side:d="bottom",sideOffset:e=0,align:h="center",alignOffset:i=0,arrowPadding:j=0,avoidCollisions:k=!0,collisionBoundary:l=[],collisionPadding:m=0,sticky:n="partial",hideWhenDetached:o=!1,updatePositionStrategy:p="optimized",onPlaced:q,...r}=a,s=bg(bk,c),[t,u]=g.useState(null),v=(0,D.s)(b,a=>u(a)),[w,x]=g.useState(null),y=bb(w),z=y?.width??0,A=y?.height??0,B="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},C=Array.isArray(l)?l:[l],E=C.length>0,F={padding:B,boundary:C.filter(br),altBoundary:E},{refs:H,floatingStyles:I,placement:J,isPositioned:K,middlewareData:L}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:h}={},transform:i=!0,whileElementsMounted:j,open:k}=a,[l,m]=g.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[n,o]=g.useState(d);a6(n,d)||o(d);let[p,q]=g.useState(null),[r,s]=g.useState(null),t=g.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=g.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=h||r,x=g.useRef(null),y=g.useRef(null),z=g.useRef(l),A=null!=j,B=a9(j),C=a9(e),D=a9(k),E=g.useCallback(()=>{if(!x.current||!y.current)return;let a={placement:b,strategy:c,middleware:n};C.current&&(a.platform=C.current),((a,b,c)=>{let d=new Map,e={platform:a1,...c},f={...e.platform,_c:d};return at(a,b,{...e,platform:f})})(x.current,y.current,a).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!a6(z.current,b)&&(z.current=b,a4.flushSync(()=>{m(b)}))})},[n,b,c,C,D]);a5(()=>{!1===k&&z.current.isPositioned&&(z.current.isPositioned=!1,m(a=>({...a,isPositioned:!1})))},[k]);let F=g.useRef(!1);a5(()=>(F.current=!0,()=>{F.current=!1}),[]),a5(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=g.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=g.useMemo(()=>({reference:v,floating:w}),[v,w]),I=g.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=a8(H.floating,l.x),d=a8(H.floating,l.y);return i?{...a,transform:"translate("+b+"px, "+d+"px)",...a7(H.floating)>=1.5&&{willChange:"transform"}}:{position:c,left:b,top:d}},[c,i,H.floating,l.x,l.y]);return g.useMemo(()=>({...l,update:E,refs:G,elements:H,floatingStyles:I}),[l,E,G,H,I])}({strategy:"fixed",placement:d+("center"!==h?"-"+h:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=aR(a),l=f||g?[...k?aO(k):[],...aO(b)]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=aB(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o=ae(l),p=ae(e.clientWidth-(k+m)),q={rootMargin:-o+"px "+-p+"px "+-ae(e.clientHeight-(l+n))+"px "+-ae(k)+"px",threshold:ac(0,ab(1,i))||1},r=!0;function s(b){let d=b[0].intersectionRatio;if(d!==i){if(!r)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||a2(j,a.getBoundingClientRect())||g(),r=!1}try{d=new IntersectionObserver(s,{...q,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(s,q)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),o.observe(b));let p=j?aV(a):null;return j&&function b(){let d=aV(a);p&&!a2(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===p}),elements:{reference:s.anchor},middleware:[((a,b)=>({...function(a){return void 0===a&&(a=0),{name:"offset",options:a,async fn(b){var c,d;let{x:e,y:f,placement:g,middlewareData:h}=b,i=await ax(b,a);return g===(null==(c=h.offset)?void 0:c.placement)&&null!=(d=h.arrow)&&d.alignmentOffset?{}:{x:e+i.x,y:f+i.y,data:{...i,placement:g}}}}}(a),options:[a,b]}))({mainAxis:e+A,alignmentAxis:i}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"shift",options:a,async fn(b){let{x:c,y:d,placement:e}=b,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=ai(a,b),j={x:c,y:d},k=await au(b,i),l=an(aj(e)),m=al(l),n=j[m],o=j[l];if(f){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=n+k[a],d=n-k[b];n=ac(c,ab(n,d))}if(g){let a="y"===l?"top":"left",b="y"===l?"bottom":"right",c=o+k[a],d=o-k[b];o=ac(c,ab(o,d))}let p=h.fn({...b,[m]:n,[l]:o});return{...p,data:{x:p.x-c,y:p.y-d,enabled:{[m]:f,[l]:g}}}}}}(a),options:[a,b]}))({mainAxis:!0,crossAxis:!1,limiter:"partial"===n?((a,b)=>({...function(a){return void 0===a&&(a={}),{options:a,fn(b){let{x:c,y:d,placement:e,rects:f,middlewareData:g}=b,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=ai(a,b),k={x:c,y:d},l=an(e),m=al(l),n=k[m],o=k[l],p=ai(h,b),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=f.reference[m]-f.floating[a]+q.mainAxis,c=f.reference[m]+f.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=["top","left"].includes(aj(e)),c=f.reference[l]-f.floating[a]+(b&&(null==(r=g.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),d=f.reference[l]+f.reference[a]+(b?0:(null==(s=g.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>d&&(o=d)}return{[m]:n,[l]:o}}}}(a),options:[a,b]}))():void 0,...F}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"flip",options:a,async fn(b){var c,d,e,f,g;let{placement:h,middlewareData:i,rects:j,initialPlacement:k,platform:l,elements:m}=b,{mainAxis:n=!0,crossAxis:o=!0,fallbackPlacements:p,fallbackStrategy:q="bestFit",fallbackAxisSideDirection:r="none",flipAlignment:s=!0,...t}=ai(a,b);if(null!=(c=i.arrow)&&c.alignmentOffset)return{};let u=aj(h),v=an(k),w=aj(k)===k,x=await (null==l.isRTL?void 0:l.isRTL(m.floating)),y=p||(w||!s?[ap(k)]:function(a){let b=ap(a);return[ao(a),b,ao(b)]}(k)),z="none"!==r;!p&&z&&y.push(...function(a,b,c,d){let e=ak(a),f=function(a,b,c){let d=["left","right"],e=["right","left"];switch(a){case"top":case"bottom":if(c)return b?e:d;return b?d:e;case"left":case"right":return b?["top","bottom"]:["bottom","top"];default:return[]}}(aj(a),"start"===c,d);return e&&(f=f.map(a=>a+"-"+e),b&&(f=f.concat(f.map(ao)))),f}(k,s,r,x));let A=[k,...y],B=await au(b,t),C=[],D=(null==(d=i.flip)?void 0:d.overflows)||[];if(n&&C.push(B[u]),o){let a=function(a,b,c){void 0===c&&(c=!1);let d=ak(a),e=al(an(a)),f=am(e),g="x"===e?d===(c?"end":"start")?"right":"left":"start"===d?"bottom":"top";return b.reference[f]>b.floating[f]&&(g=ap(g)),[g,ap(g)]}(h,j,x);C.push(B[a[0]],B[a[1]])}if(D=[...D,{placement:h,overflows:C}],!C.every(a=>a<=0)){let a=((null==(e=i.flip)?void 0:e.index)||0)+1,b=A[a];if(b)return{data:{index:a,overflows:D},reset:{placement:b}};let c=null==(f=D.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:f.placement;if(!c)switch(q){case"bestFit":{let a=null==(g=D.filter(a=>{if(z){let b=an(a.placement);return b===v||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:g[0];a&&(c=a);break}case"initialPlacement":c=k}if(h!==c)return{reset:{placement:c}}}return{}}}}(a),options:[a,b]}))({...F}),((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"size",options:a,async fn(b){var c,d;let e,f,{placement:g,rects:h,platform:i,elements:j}=b,{apply:k=()=>{},...l}=ai(a,b),m=await au(b,l),n=aj(g),o=ak(g),p="y"===an(g),{width:q,height:r}=h.floating;"top"===n||"bottom"===n?(e=n,f=o===(await (null==i.isRTL?void 0:i.isRTL(j.floating))?"start":"end")?"left":"right"):(f=n,e="end"===o?"top":"bottom");let s=r-m.top-m.bottom,t=q-m.left-m.right,u=ab(r-m[e],s),v=ab(q-m[f],t),w=!b.middlewareData.shift,x=u,y=v;if(null!=(c=b.middlewareData.shift)&&c.enabled.x&&(y=t),null!=(d=b.middlewareData.shift)&&d.enabled.y&&(x=s),w&&!o){let a=ac(m.left,0),b=ac(m.right,0),c=ac(m.top,0),d=ac(m.bottom,0);p?y=q-2*(0!==a||0!==b?a+b:ac(m.left,m.right)):x=r-2*(0!==c||0!==d?c+d:ac(m.top,m.bottom))}await k({...b,availableWidth:y,availableHeight:x});let z=await i.getDimensions(j.floating);return q!==z.width||r!==z.height?{reset:{rects:!0}}:{}}}}(a),options:[a,b]}))({...F,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}}),w&&((a,b)=>({...(a=>({name:"arrow",options:a,fn(b){let{element:c,padding:d}="function"==typeof a?a(b):a;return c&&({}).hasOwnProperty.call(c,"current")?null!=c.current?a3({element:c.current,padding:d}).fn(b):{}:c?a3({element:c,padding:d}).fn(b):{}}}))(a),options:[a,b]}))({element:w,padding:j}),bs({arrowWidth:z,arrowHeight:A}),o&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"hide",options:a,async fn(b){let{rects:c}=b,{strategy:d="referenceHidden",...e}=ai(a,b);switch(d){case"referenceHidden":{let a=av(await au(b,{...e,elementContext:"reference"}),c.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:aw(a)}}}case"escaped":{let a=av(await au(b,{...e,altBoundary:!0}),c.floating);return{data:{escapedOffsets:a,escaped:aw(a)}}}default:return{}}}}}(a),options:[a,b]}))({strategy:"referenceHidden",...F})]}),[M,N]=bt(J),P=(0,O.c)(q);(0,Y.N)(()=>{K&&P?.()},[K,P]);let Q=L.arrow?.x,R=L.arrow?.y,S=L.arrow?.centerOffset!==0,[T,U]=g.useState();return(0,Y.N)(()=>{t&&U(window.getComputedStyle(t).zIndex)},[t]),(0,f.jsx)("div",{ref:H.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:K?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:T,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(" "),...L.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,f.jsx)(bl,{scope:c,placedSide:M,onArrowChange:x,arrowX:Q,arrowY:R,shouldHideArrow:S,children:(0,f.jsx)(G.sG.div,{"data-side":M,"data-align":N,...r,ref:v,style:{...r.style,animation:K?void 0:"none"}})})})});bn.displayName=bk;var bo="PopperArrow",bp={top:"bottom",right:"left",bottom:"top",left:"right"},bq=g.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=bm(bo,c),g=bp[e.placedSide];return(0,f.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[g]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,f.jsx)(ba,{...d,ref:b,style:{...d.style,display:"block"}})})});function br(a){return null!==a}bq.displayName=bo;var bs=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=bt(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function bt(a){let[b,c="center"]=a.split("-");return[b,c]}var bu=c(61611),bv=c(29988),bw="rovingFocusGroup.onEntryFocus",bx={bubbles:!1,cancelable:!0},by="RovingFocusGroup",[bz,bA,bB]=(0,H.N)(by),[bC,bD]=(0,E.A)(by,[bB]),[bE,bF]=bC(by),bG=g.forwardRef((a,b)=>(0,f.jsx)(bz.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bz.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bH,{...a,ref:b})})}));bG.displayName=by;var bH=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,o=g.useRef(null),p=(0,D.s)(b,o),q=J(h),[r=null,s]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),[t,u]=g.useState(!1),v=(0,O.c)(l),w=bA(c),x=g.useRef(!1),[y,z]=g.useState(0);return g.useEffect(()=>{let a=o.current;if(a)return a.addEventListener(bw,v),()=>a.removeEventListener(bw,v)},[v]),(0,f.jsx)(bE,{scope:c,orientation:d,dir:q,loop:e,currentTabStopId:r,onItemFocus:g.useCallback(a=>s(a),[s]),onItemShiftTab:g.useCallback(()=>u(!0),[]),onFocusableItemAdd:g.useCallback(()=>z(a=>a+1),[]),onFocusableItemRemove:g.useCallback(()=>z(a=>a-1),[]),children:(0,f.jsx)(G.sG.div,{tabIndex:t||0===y?-1:0,"data-orientation":d,...n,ref:p,style:{outline:"none",...a.style},onMouseDown:(0,C.m)(a.onMouseDown,()=>{x.current=!0}),onFocus:(0,C.m)(a.onFocus,a=>{let b=!x.current;if(a.target===a.currentTarget&&b&&!t){let b=new CustomEvent(bw,bx);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=w().filter(a=>a.focusable);bL([a.find(a=>a.active),a.find(a=>a.id===r),...a].filter(Boolean).map(a=>a.ref.current),m)}}x.current=!1}),onBlur:(0,C.m)(a.onBlur,()=>u(!1))})})}),bI="RovingFocusGroupItem",bJ=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:h,...i}=a,j=_(),k=h||j,l=bF(bI,c),m=l.currentTabStopId===k,n=bA(c),{onFocusableItemAdd:o,onFocusableItemRemove:p}=l;return g.useEffect(()=>{if(d)return o(),()=>p()},[d,o,p]),(0,f.jsx)(bz.ItemSlot,{scope:c,id:k,focusable:d,active:e,children:(0,f.jsx)(G.sG.span,{tabIndex:m?0:-1,"data-orientation":l.orientation,...i,ref:b,onMouseDown:(0,C.m)(a.onMouseDown,a=>{d?l.onItemFocus(k):a.preventDefault()}),onFocus:(0,C.m)(a.onFocus,()=>l.onItemFocus(k)),onKeyDown:(0,C.m)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void l.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return bK[e]}(a,l.orientation,l.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let c=n().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)c.reverse();else if("prev"===b||"next"===b){"prev"===b&&c.reverse();let d=c.indexOf(a.currentTarget);c=l.loop?function(a,b){return a.map((c,d)=>a[(b+d)%a.length])}(c,d+1):c.slice(d+1)}setTimeout(()=>bL(c))}})})})});bJ.displayName=bI;var bK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function bL(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var bM=c(96425),bN=new WeakMap,bO=new WeakMap,bP={},bQ=0,bR=function(a){return a&&(a.host||bR(a.parentNode))},bS=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=bR(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});bP[c]||(bP[c]=new WeakMap);var f=bP[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(bN.get(a)||0)+1,j=(f.get(a)||0)+1;bN.set(a,i),f.set(a,j),g.push(a),1===i&&e&&bO.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),bQ++,function(){g.forEach(function(a){var b=bN.get(a)-1,e=f.get(a)-1;bN.set(a,b),f.set(a,e),b||(bO.has(a)||a.removeAttribute(d),bO.delete(a)),e||a.removeAttribute(c)}),--bQ||(bN=new WeakMap,bN=new WeakMap,bO=new WeakMap,bP={})}},bT=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("undefined"==typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live]"))),bS(d,e,c,"aria-hidden")):function(){return null}},bU=function(){return(bU=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function bV(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}Object.create;Object.create;var bW=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),bX="width-before-scroll-bar";function bY(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var bZ="undefined"!=typeof window?g.useLayoutEffect:g.useEffect,b$=new WeakMap;function b_(a){return a}var b0=function(a){void 0===a&&(a={});var b,c,d,e=(void 0===b&&(b=b_),c=[],d=!1,{read:function(){if(d)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return c.length?c[c.length-1]:null},useMedium:function(a){var e=b(a,d);return c.push(e),function(){c=c.filter(function(a){return a!==e})}},assignSyncMedium:function(a){for(d=!0;c.length;){var b=c;c=[],b.forEach(a)}c={push:function(b){return a(b)},filter:function(){return c}}},assignMedium:function(a){d=!0;var b=[];if(c.length){var e=c;c=[],e.forEach(a),b=c}var f=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(f)};g(),c={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),c}}}});return e.options=bU({async:!0,ssr:!1},a),e}(),b1=function(){},b2=g.forwardRef(function(a,b){var c,d,e,f,h=g.useRef(null),i=g.useState({onScrollCapture:b1,onWheelCapture:b1,onTouchMoveCapture:b1}),j=i[0],k=i[1],l=a.forwardProps,m=a.children,n=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noIsolation,t=a.inert,u=a.allowPinchZoom,v=a.as,w=a.gapMode,x=bV(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=(c=[h,b],d=function(a){return c.forEach(function(b){return bY(b,a)})},(e=(0,g.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,bZ(function(){var a=b$.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||bY(a,null)}),d.forEach(function(a){b.has(a)||bY(a,e)})}b$.set(f,c)},[c]),f),z=bU(bU({},x),j);return g.createElement(g.Fragment,null,p&&g.createElement(r,{sideCar:b0,removeScrollBar:o,shards:q,noIsolation:s,inert:t,setCallbacks:k,allowPinchZoom:!!u,lockRef:h,gapMode:w}),l?g.cloneElement(g.Children.only(m),bU(bU({},z),{ref:y})):g.createElement(void 0===v?"div":v,bU({},z,{className:n,ref:y}),m))});b2.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},b2.classNames={fullWidth:bX,zeroRight:bW};var b3=function(a){var b=a.sideCar,c=bV(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return g.createElement(d,bU({},c))};b3.isSideCarExport=!0;var b4=function(){var a=0,b=null;return{add:function(d){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=e||c.nc;return b&&a.setAttribute("nonce",b),a}())){var f,g;(f=b).styleSheet?f.styleSheet.cssText=d:f.appendChild(document.createTextNode(d)),g=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(g)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},b5=function(){var a=b4();return function(b,c){g.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},b6=function(){var a=b5();return function(b){return a(b.styles,b.dynamic),null}},b7={left:0,top:0,right:0,gap:0},b8=function(a){return parseInt(a||"",10)||0},b9=function(a){var b=window.getComputedStyle(document.body),c=b["padding"===a?"paddingLeft":"marginLeft"],d=b["padding"===a?"paddingTop":"marginTop"],e=b["padding"===a?"paddingRight":"marginRight"];return[b8(c),b8(d),b8(e)]},ca=function(a){if(void 0===a&&(a="margin"),"undefined"==typeof window)return b7;var b=b9(a),c=document.documentElement.clientWidth,d=window.innerWidth;return{left:b[0],top:b[1],right:b[2],gap:Math.max(0,d-c+b[2]-b[0])}},cb=b6(),cc="data-scroll-locked",cd=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(cc,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(bW," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bX," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bW," .").concat(bW," {\n right: 0 ").concat(d,";\n }\n \n .").concat(bX," .").concat(bX," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(cc,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ce=function(){var a=parseInt(document.body.getAttribute(cc)||"0",10);return isFinite(a)?a:0},cf=function(){g.useEffect(function(){return document.body.setAttribute(cc,(ce()+1).toString()),function(){var a=ce()-1;a<=0?document.body.removeAttribute(cc):document.body.setAttribute(cc,a.toString())}},[])},cg=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;cf();var f=g.useMemo(function(){return ca(e)},[e]);return g.createElement(cb,{styles:cd(f,!b,e,c?"":"!important")})},ch=!1;if("undefined"!=typeof window)try{var ci=Object.defineProperty({},"passive",{get:function(){return ch=!0,!0}});window.addEventListener("test",ci,ci),window.removeEventListener("test",ci,ci)}catch(a){ch=!1}var cj=!!ch&&{passive:!1},ck=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},cl=function(a,b){var c=b.ownerDocument,d=b;do{if("undefined"!=typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),cm(a,d)){var e=cn(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body);return!1},cm=function(a,b){return"v"===a?ck(b,"overflowY"):ck(b,"overflowX")},cn=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},co=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{var o=cn(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&cm(a,i)&&(m+=q,n+=p),i=i instanceof ShadowRoot?i.host:i.parentNode}while(!j&&i!==document.body||j&&(b.contains(i)||b===i));return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},cp=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},cq=function(a){return[a.deltaX,a.deltaY]},cr=function(a){return a&&"current"in a?a.current:a},cs=0,ct=[];let cu=(d=function(a){var b=g.useRef([]),c=g.useRef([0,0]),d=g.useRef(),e=g.useState(cs++)[0],f=g.useState(b6)[0],h=g.useRef(a);g.useEffect(function(){h.current=a},[a]),g.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(cr),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var i=g.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!h.current.allowPinchZoom;var e,f=cp(a),g=c.current,i="deltaX"in a?a.deltaX:g[0]-f[0],j="deltaY"in a?a.deltaY:g[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=cl(l,k);if(!m)return!0;if(m?e=l:(e="v"===l?"h":"v",m=cl(l,k)),!m)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var n=d.current||e;return co(n,b,a,"h"===n?i:j,!0)},[]),j=g.useCallback(function(a){if(ct.length&&ct[ct.length-1]===f){var c="deltaY"in a?cq(a):cp(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(h.current.shards||[]).map(cr).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?i(a,e[0]):!h.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),k=g.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=g.useCallback(function(a){c.current=cp(a),d.current=void 0},[]),m=g.useCallback(function(b){k(b.type,cq(b),b.target,i(b,a.lockRef.current))},[]),n=g.useCallback(function(b){k(b.type,cp(b),b.target,i(b,a.lockRef.current))},[]);g.useEffect(function(){return ct.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",j,cj),document.addEventListener("touchmove",j,cj),document.addEventListener("touchstart",l,cj),function(){ct=ct.filter(function(a){return a!==f}),document.removeEventListener("wheel",j,cj),document.removeEventListener("touchmove",j,cj),document.removeEventListener("touchstart",l,cj)}},[]);var o=a.removeScrollBar,p=a.inert;return g.createElement(g.Fragment,null,p?g.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?g.createElement(cg,{gapMode:a.gapMode}):null)},b0.useMedium(d),b3);var cv=g.forwardRef(function(a,b){return g.createElement(b2,bU({},a,{ref:b,sideCar:cu}))});cv.classNames=b2.classNames;var cw=["Enter"," "],cx=["ArrowUp","PageDown","End"],cy=["ArrowDown","PageUp","Home",...cx],cz={ltr:[...cw,"ArrowRight"],rtl:[...cw,"ArrowLeft"]},cA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},cB="Menu",[cC,cD,cE]=(0,H.N)(cB),[cF,cG]=(0,E.A)(cB,[cE,be,bD]),cH=be(),cI=bD(),[cJ,cK]=cF(cB),[cL,cM]=cF(cB),cN=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:h,modal:i=!0}=a,j=cH(b),[k,l]=g.useState(null),m=g.useRef(!1),n=(0,O.c)(h),o=J(e);return g.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,f.jsx)(bh,{...j,children:(0,f.jsx)(cJ,{scope:b,open:c,onOpenChange:n,content:k,onContentChange:l,children:(0,f.jsx)(cL,{scope:b,onClose:g.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:d})})})};cN.displayName=cB;var cO=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bj,{...e,...d,ref:b})});cO.displayName="MenuAnchor";var cP="MenuPortal",[cQ,cR]=cF(cP,{forceMount:void 0}),cS=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,g=cK(cP,b);return(0,f.jsx)(cQ,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};cS.displayName=cP;var cT="MenuContent",[cU,cV]=cF(cT),cW=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,g=cK(cT,a.__scopeMenu),h=cM(cT,a.__scopeMenu);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:h.modal?(0,f.jsx)(cX,{...e,ref:b}):(0,f.jsx)(cY,{...e,ref:b})})})})}),cX=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu),d=g.useRef(null),e=(0,D.s)(b,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(cZ,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),cY=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu);return(0,f.jsx)(cZ,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),cZ=g.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=cK(cT,c),t=cM(cT,c),u=cH(c),v=cI(c),w=cD(c),[x,y]=g.useState(null),z=g.useRef(null),A=(0,D.s)(b,z,s.onContentChange),B=g.useRef(0),E=g.useRef(""),F=g.useRef(0),G=g.useRef(null),H=g.useRef("right"),I=g.useRef(0),J=q?cv:g.Fragment,L=q?{as:bM.DX,allowPinchZoom:!0}:void 0;g.useEffect(()=>()=>window.clearTimeout(B.current),[]),M();let N=g.useCallback(a=>H.current===G.current?.side&&function(a,b){return!!b&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}({x:a.clientX,y:a.clientY},b)}(a,G.current?.area),[]);return(0,f.jsx)(cU,{scope:c,searchRef:E,onItemEnter:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),onItemLeave:g.useCallback(a=>{N(a)||(z.current?.focus(),y(null))},[N]),onTriggerLeave:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),pointerGraceTimerRef:F,onPointerGraceIntentChange:g.useCallback(a=>{G.current=a},[]),children:(0,f.jsx)(J,{...L,children:(0,f.jsx)(S,{asChild:!0,trapped:e,onMountAutoFocus:(0,C.m)(h,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,f.jsx)(bG,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:d,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:(0,C.m)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(bn,{role:"menu","aria-orientation":"vertical","data-state":dn(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:(0,C.m)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;b&&("Tab"===a.key&&a.preventDefault(),!c&&d&&(a=>{let b=E.current+a,c=w().filter(a=>!a.disabled),d=document.activeElement,e=c.find(a=>a.ref.current===d)?.textValue,f=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(c.map(a=>a.textValue),b,e),g=c.find(a=>a.textValue===f)?.ref.current;!function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),g&&setTimeout(()=>g.focus())})(a.key));let e=z.current;if(a.target!==e||!cy.includes(a.key))return;a.preventDefault();let f=w().filter(a=>!a.disabled).map(a=>a.ref.current);cx.includes(a.key)&&f.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(f)}),onBlur:(0,C.m)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{let b=a.target,c=I.current!==a.clientX;a.currentTarget.contains(b)&&c&&(H.current=a.clientX>I.current?"right":"left",I.current=a.clientX)}))})})})})})})});cW.displayName=cT;var c$=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"group",...d,ref:b})});c$.displayName="MenuGroup";var c_=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{...d,ref:b})});c_.displayName="MenuLabel";var c0="MenuItem",c1="menu.itemSelect",c2=g.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,h=g.useRef(null),i=cM(c0,a.__scopeMenu),j=cV(c0,a.__scopeMenu),k=(0,D.s)(b,h),l=g.useRef(!1);return(0,f.jsx)(c3,{...e,ref:k,disabled:c,onClick:(0,C.m)(a.onClick,()=>{let a=h.current;if(!c&&a){let b=new CustomEvent(c1,{bubbles:!0,cancelable:!0});a.addEventListener(c1,a=>d?.(a),{once:!0}),(0,G.hO)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,C.m)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;c||b&&" "===a.key||cw.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});c2.displayName=c0;var c3=g.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...h}=a,i=cV(c0,c),j=cI(c),k=g.useRef(null),l=(0,D.s)(b,k),[m,n]=g.useState(!1),[o,p]=g.useState("");return g.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,f.jsx)(cC.ItemSlot,{scope:c,disabled:d,textValue:e??o,children:(0,f.jsx)(bJ,{asChild:!0,...j,focusable:!d,children:(0,f.jsx)(G.sG.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...h,ref:l,onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{d?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>i.onItemLeave(a))),onFocus:(0,C.m)(a.onFocus,()=>n(!0)),onBlur:(0,C.m)(a.onBlur,()=>n(!1))})})})}),c4=g.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:c,children:(0,f.jsx)(c2,{role:"menuitemcheckbox","aria-checked":dp(c)?"mixed":c,...e,ref:b,"data-state":dq(c),onSelect:(0,C.m)(e.onSelect,()=>d?.(!!dp(c)||!c),{checkForDefaultPrevented:!1})})})});c4.displayName="MenuCheckboxItem";var c5="MenuRadioGroup",[c6,c7]=cF(c5,{value:void 0,onValueChange:()=>{}}),c8=g.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,g=(0,O.c)(d);return(0,f.jsx)(c6,{scope:a.__scopeMenu,value:c,onValueChange:g,children:(0,f.jsx)(c$,{...e,ref:b})})});c8.displayName=c5;var c9="MenuRadioItem",da=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=c7(c9,a.__scopeMenu),g=c===e.value;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:g,children:(0,f.jsx)(c2,{role:"menuitemradio","aria-checked":g,...d,ref:b,"data-state":dq(g),onSelect:(0,C.m)(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});da.displayName=c9;var db="MenuItemIndicator",[dc,dd]=cF(db,{checked:!1}),de=g.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,g=dd(db,c);return(0,f.jsx)(bv.C,{present:d||dp(g.checked)||!0===g.checked,children:(0,f.jsx)(G.sG.span,{...e,ref:b,"data-state":dq(g.checked)})})});de.displayName=db;var df=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});df.displayName="MenuSeparator";var dg=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bq,{...e,...d,ref:b})});dg.displayName="MenuArrow";var[dh,di]=cF("MenuSub"),dj="MenuSubTrigger",dk=g.forwardRef((a,b)=>{let c=cK(dj,a.__scopeMenu),d=cM(dj,a.__scopeMenu),e=di(dj,a.__scopeMenu),h=cV(dj,a.__scopeMenu),i=g.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=g.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return g.useEffect(()=>m,[m]),g.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,f.jsx)(cO,{asChild:!0,...l,children:(0,f.jsx)(c3,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":dn(c.open),...a,ref:(0,D.t)(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,C.m)(a.onPointerMove,dr(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{c.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>{m();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,f=b[e?"left":"right"],g=b[e?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:d}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,C.m)(a.onKeyDown,b=>{let e=""!==h.searchRef.current;a.disabled||e&&" "===b.key||cz[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});dk.displayName=dj;var dl="MenuSubContent",dm=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,h=cK(cT,a.__scopeMenu),i=cM(cT,a.__scopeMenu),j=di(dl,a.__scopeMenu),k=g.useRef(null),l=(0,D.s)(b,k);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||h.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:(0,f.jsx)(cZ,{id:j.contentId,"aria-labelledby":j.triggerId,...e,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,C.m)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=cA[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function dn(a){return a?"open":"closed"}function dp(a){return"indeterminate"===a}function dq(a){return dp(a)?"indeterminate":a?"checked":"unchecked"}function dr(a){return b=>"mouse"===b.pointerType?a(b):void 0}dm.displayName=dl;var ds="DropdownMenu",[dt,du]=(0,E.A)(ds,[cG]),dv=cG(),[dw,dx]=dt(ds),dy=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=dv(b),l=g.useRef(null),[m=!1,n]=(0,F.i)({prop:e,defaultProp:h,onChange:i});return(0,f.jsx)(dw,{scope:b,triggerId:_(),triggerRef:l,contentId:_(),open:m,onOpenChange:n,onOpenToggle:g.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,f.jsx)(cN,{...k,open:m,onOpenChange:n,dir:d,modal:j,children:c})})};dy.displayName=ds;var dz="DropdownMenuTrigger",dA=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,g=dx(dz,c),h=dv(c);return(0,f.jsx)(cO,{asChild:!0,...h,children:(0,f.jsx)(G.sG.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:(0,D.t)(b,g.triggerRef),onPointerDown:(0,C.m)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});dA.displayName=dz;var dB=a=>{let{__scopeDropdownMenu:b,...c}=a,d=dv(b);return(0,f.jsx)(cS,{...d,...c})};dB.displayName="DropdownMenuPortal";var dC="DropdownMenuContent",dD=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dx(dC,c),h=dv(c),i=g.useRef(!1);return(0,f.jsx)(cW,{id:e.contentId,"aria-labelledby":e.triggerId,...h,...d,ref:b,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{i.current||e.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,C.m)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(i.current=!0)}),style:{...a.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)"}})});dD.displayName=dC,g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c$,{...e,...d,ref:b})}).displayName="DropdownMenuGroup";var dE=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c_,{...e,...d,ref:b})});dE.displayName="DropdownMenuLabel";var dF=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c2,{...e,...d,ref:b})});dF.displayName="DropdownMenuItem";var dG=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c4,{...e,...d,ref:b})});dG.displayName="DropdownMenuCheckboxItem",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c8,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup";var dH=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(da,{...e,...d,ref:b})});dH.displayName="DropdownMenuRadioItem";var dI=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(de,{...e,...d,ref:b})});dI.displayName="DropdownMenuItemIndicator";var dJ=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(df,{...e,...d,ref:b})});dJ.displayName="DropdownMenuSeparator",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dg,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var dK=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dk,{...e,...d,ref:b})});dK.displayName="DropdownMenuSubTrigger";var dL=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dm,{...e,...d,ref:b,style:{...a.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)"}})});dL.displayName="DropdownMenuSubContent";let dM=(0,k.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),dN=(0,k.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),dO=(0,k.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);g.forwardRef(({className:a,inset:b,children:c,...d},e)=>(0,f.jsxs)(dK,{ref:e,className:(0,w.cn)("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",b&&"pl-8",a),...d,children:[c,(0,f.jsx)(dM,{className:"ml-auto"})]})).displayName=dK.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dL,{ref:c,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",a),...b})).displayName=dL.displayName;let dP=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(dB,{children:(0,f.jsx)(dD,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","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",a),...c})}));dP.displayName=dD.displayName;let dQ=g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dF,{ref:d,className:(0,w.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",b&&"pl-8",a),...c}));dQ.displayName=dF.displayName,g.forwardRef(({className:a,children:b,checked:c,...d},e)=>(0,f.jsxs)(dG,{ref:e,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:c,...d,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),b]})).displayName=dG.displayName,g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(dH,{ref:d,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dO,{className:"h-2 w-2 fill-current"})})}),b]})).displayName=dH.displayName,g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dE,{ref:d,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",b&&"pl-8",a),...c})).displayName=dE.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dJ,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=dJ.displayName;var dR=c(60122);let dS=(0,y.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),dT=g.forwardRef(({className:a,variant:b,size:c,asChild:d=!1,...e},g)=>{let h=d?bM.DX:"button";return(0,f.jsx)(h,{className:(0,w.cn)(dS({variant:b,size:c,className:a})),ref:g,...e})});function dU(a,[b,c]){return Math.min(c,Math.max(b,a))}dT.displayName="Button";var dV="ScrollArea",[dW,dX]=(0,E.A)(dV),[dY,dZ]=dW(dV),d$=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:d="hover",dir:e,scrollHideDelay:h=600,...i}=a,[j,k]=g.useState(null),[l,m]=g.useState(null),[n,o]=g.useState(null),[p,q]=g.useState(null),[r,s]=g.useState(null),[t,u]=g.useState(0),[v,w]=g.useState(0),[x,y]=g.useState(!1),[z,A]=g.useState(!1),B=(0,D.s)(b,a=>k(a)),C=J(e);return(0,f.jsx)(dY,{scope:c,type:d,dir:C,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,f.jsx)(G.sG.div,{dir:C,...i,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});d$.displayName=dV;var d_="ScrollAreaViewport",d0=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:d,nonce:e,...h}=a,i=dZ(d_,c),j=g.useRef(null),k=(0,D.s)(b,j,i.onViewportChange);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e}),(0,f.jsx)(G.sG.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,f.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:d})})]})});d0.displayName=d_;var d1="ScrollAreaScrollbar",d2=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=e,j="horizontal"===a.orientation;return g.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===e.type?(0,f.jsx)(d3,{...d,ref:b,forceMount:c}):"scroll"===e.type?(0,f.jsx)(d4,{...d,ref:b,forceMount:c}):"auto"===e.type?(0,f.jsx)(d5,{...d,ref:b,forceMount:c}):"always"===e.type?(0,f.jsx)(d6,{...d,ref:b}):null});d2.displayName=d1;var d3=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),[h,i]=g.useState(!1);return g.useEffect(()=>{let a=e.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),e.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[e.scrollArea,e.scrollHideDelay]),(0,f.jsx)(bv.C,{present:c||h,children:(0,f.jsx)(d5,{"data-state":h?"visible":"hidden",...d,ref:b})})}),d4=g.forwardRef((a,b)=>{var c;let{forceMount:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),i="horizontal"===a.orientation,j=eo(()=>l("SCROLL_END"),100),[k,l]=(c={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},g.useReducer((a,b)=>c[a][b]??a,"hidden"));return g.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),g.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,f.jsx)(bv.C,{present:d||"hidden"!==k,children:(0,f.jsx)(d6,{"data-state":"hidden"===k?"hidden":"visible",...e,ref:b,onPointerEnter:(0,C.m)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),d5=g.forwardRef((a,b)=>{let c=dZ(d1,a.__scopeScrollArea),{forceMount:d,...e}=a,[h,i]=g.useState(!1),j="horizontal"===a.orientation,k=eo(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;i(j?a:b)}},10);return ep(c.viewport,k),ep(c.content,k),(0,f.jsx)(bv.C,{present:d||h,children:(0,f.jsx)(d6,{"data-state":h?"visible":"hidden",...e,ref:b})})}),d6=g.forwardRef((a,b)=>{let{orientation:c="vertical",...d}=a,e=dZ(d1,a.__scopeScrollArea),h=g.useRef(null),i=g.useRef(0),[j,k]=g.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=ej(j.viewport,j.content),m={...d,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ek(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return em([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===c?(0,f.jsx)(d7,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollLeft,j,e.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollLeft=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollLeft=n(a,e.dir))}}):"vertical"===c?(0,f.jsx)(d8,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollTop=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollTop=n(a))}}):null}),d7=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarXChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"horizontal",...e,ref:l,sizes:c,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:ei(i.paddingLeft),paddingEnd:ei(i.paddingRight)}})}})}),d8=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarYChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"vertical",...e,ref:l,sizes:c,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:ei(i.paddingTop),paddingEnd:ei(i.paddingBottom)}})}})}),[d9,ea]=dW(d1),eb=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:d,hasThumb:e,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=dZ(d1,c),[q,r]=g.useState(null),s=(0,D.s)(b,a=>r(a)),t=g.useRef(null),u=g.useRef(""),v=p.viewport,w=d.content-d.viewport,x=(0,O.c)(m),y=(0,O.c)(k),z=eo(n,10);function A(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return g.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&x(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,x]),g.useEffect(y,[d,y]),ep(q,z),ep(p.content,z),(0,f.jsx)(d9,{scope:c,scrollbar:q,hasThumb:e,onThumbChange:(0,O.c)(h),onThumbPointerUp:(0,O.c)(i),onThumbPositionChange:y,onThumbPointerDown:(0,O.c)(j),children:(0,f.jsx)(G.sG.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,C.m)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),A(a))}),onPointerMove:(0,C.m)(a.onPointerMove,A),onPointerUp:(0,C.m)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),ec="ScrollAreaThumb",ed=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=ea(ec,a.__scopeScrollArea);return(0,f.jsx)(bv.C,{present:c||e.hasThumb,children:(0,f.jsx)(ee,{ref:b,...d})})}),ee=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:d,...e}=a,h=dZ(ec,c),i=ea(ec,c),{onThumbPositionChange:j}=i,k=(0,D.s)(b,a=>i.onThumbChange(a)),l=g.useRef(void 0),m=eo(()=>{l.current&&(l.current(),l.current=void 0)},100);return g.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=en(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,f.jsx)(G.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...e,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...d},onPointerDownCapture:(0,C.m)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,C.m)(a.onPointerUp,i.onThumbPointerUp)})});ed.displayName=ec;var ef="ScrollAreaCorner",eg=g.forwardRef((a,b)=>{let c=dZ(ef,a.__scopeScrollArea),d=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&d?(0,f.jsx)(eh,{...a,ref:b}):null});eg.displayName=ef;var eh=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,...d}=a,e=dZ(ef,c),[h,i]=g.useState(0),[j,k]=g.useState(0),l=!!(h&&j);return ep(e.scrollbarX,()=>{let a=e.scrollbarX?.offsetHeight||0;e.onCornerHeightChange(a),k(a)}),ep(e.scrollbarY,()=>{let a=e.scrollbarY?.offsetWidth||0;e.onCornerWidthChange(a),i(a)}),l?(0,f.jsx)(G.sG.div,{...d,ref:b,style:{width:h,height:j,position:"absolute",right:"ltr"===e.dir?0:void 0,left:"rtl"===e.dir?0:void 0,bottom:0,...a.style}}):null});function ei(a){return a?parseInt(a,10):0}function ej(a,b){let c=a/b;return isNaN(c)?0:c}function ek(a){let b=ej(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function el(a,b,c="ltr"){let d=ek(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=dU(a,"ltr"===c?[0,g]:[-1*g,0]);return em([0,g],[0,f-d])(h)}function em(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var en=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function eo(a,b){let c=(0,O.c)(a),d=g.useRef(0);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),g.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function ep(a,b){let c=(0,O.c)(b);(0,Y.N)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}let eq=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(d$,{ref:d,className:(0,w.cn)("relative overflow-hidden",a),...c,children:[(0,f.jsx)(d0,{className:"h-full w-full rounded-[inherit]",children:b}),(0,f.jsx)(er,{}),(0,f.jsx)(eg,{})]}));eq.displayName=d$.displayName;let er=g.forwardRef(({className:a,orientation:b="vertical",...c},d)=>(0,f.jsx)(d2,{ref:d,orientation:b,className:(0,w.cn)("flex touch-none select-none transition-colors","vertical"===b&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...c,children:(0,f.jsx)(ed,{className:"relative flex-1 rounded-full bg-border"})}));er.displayName=d2.displayName;let es=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{className:"relative w-full overflow-auto",children:(0,f.jsx)("table",{ref:c,className:(0,w.cn)("w-full caption-bottom text-sm",a),...b})}));es.displayName="Table";let et=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("thead",{ref:c,className:(0,w.cn)("[&_tr]:border-b",a),...b}));et.displayName="TableHeader";let eu=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tbody",{ref:c,className:(0,w.cn)("[&_tr:last-child]:border-0",a),...b}));eu.displayName="TableBody",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tfoot",{ref:c,className:(0,w.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...b})).displayName="TableFooter";let ev=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tr",{ref:c,className:(0,w.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...b}));ev.displayName="TableRow";let ew=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("th",{ref:c,className:(0,w.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ew.displayName="TableHead";let ex=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("td",{ref:c,className:(0,w.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ex.displayName="TableCell",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("caption",{ref:c,className:(0,w.cn)("mt-4 text-sm text-muted-foreground",a),...b})).displayName="TableCaption";var ey=c(90447);let ez=function({preview:a=[],onConfirm:b,onCancel:c,isConfirming:d,error:e,isLoading:h,success:i,databaseName:j,migrationsDir:k}){let[l,m]=(0,g.useState)(!0);if(h)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",j?` \xb7 ${j}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!a?.length)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4",children:(0,f.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let n=a.filter(a=>"will be applied"===a.action).length,o=a.filter(a=>"skipped"===a.action).length;return a.filter(a=>"applied"===a.action).length,(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",e?"bg-destructive/15":"bg-background"),children:(0,f.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",j&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:j})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsxs)("p",{className:"text-sm text-neutral-700",children:[n," migration(s) \uD83D\uDD52️ pending, ",o," to ⏭️ skip"]}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:k?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",k]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),e?(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:e.message}):i&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:i})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>m(!l),className:"text-sm font-medium hover:underline",children:l?"Hide Details":"Show Details"}),l&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{children:"Migration"}),(0,f.jsx)(ew,{className:"text-center w-24",children:"Status"})]})}),(0,f.jsx)(eu,{children:a.map((a,b)=>(0,f.jsxs)(ev,{children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{className:"text-center align-middle",children:(a=>{switch(a){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}})(a.action)})]},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,f.jsx)(dT,{onClick:b,disabled:d||0===n,className:"flex-1",children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,f.jsx)(dT,{variant:"outline",onClick:c,disabled:d,className:"flex-1",children:"Cancel"})]})]})})})},eA=function({preview:a=[],onConfirm:b,onCancel:c,onDataPull:d,isConfirming:e,isDataPulling:h,error:i,isLoading:j,success:k,databaseName:l,migrationsDir:m}){console.log("PullPreviewToast rendered with:",{previewLength:a.length,isConfirming:e,error:i,isLoading:j});let[n,o]=(0,g.useState)(!1);if(j)return console.log("Rendering loading state"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",l?` \xb7 ${l}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!a?.length)return console.log("No preview data available"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,f.jsx)("div",{className:"flex items-center gap-2",children:(0,f.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let p=a.filter(a=>(a.migration||a.name||"").endsWith(".sql")),q=p.length;console.log("Migration stats:",{totalMigrations:q});let r=k&&!h&&!i;return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,f.jsx)("div",{className:"flex items-start gap-x-1",children:(0,f.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:(0,w.cn)("font-medium",i?"text-destructive":"text-neutral-900"),children:[i?"Pull Migration Error":"Pull Migration Preview",l&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:l})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsx)("p",{className:(0,w.cn)("text-sm",i?"text-destructive/80":"text-neutral-700"),children:`${q} migration(s) will be applied`}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:m?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",m]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),i&&(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}),k&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:k})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>o(!n),className:"text-sm font-medium hover:underline",children:n?"Hide Details":"Show Details"}),n&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)("div",{className:"w-full",children:[(0,f.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,f.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,f.jsx)("div",{children:p.map((a,b)=>(0,f.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,f.jsx)("div",{className:"font-mono text-xs",children:a.migration||a.name})},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)(dT,{onClick:b,disabled:e,className:`flex-1 ${e?"cursor-not-allowed opacity-50":""}`,children:e?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,f.jsx)(dT,{onClick:d,disabled:!r,variant:"outline",className:`w-full ${!r?"cursor-not-allowed opacity-50":""}`,children:h?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,f.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function eB(){let[a]=(0,g.useState)(!1),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(!1),[h,i]=(0,g.useState)(null),[j,k]=(0,g.useState)(null),[l,m]=(0,g.useState)(null),[n,o]=(0,g.useState)(null),{refreshTables:p,setOperationStatus:q,setLastSyncTime:r,currentDatabase:s}=(0,dR.t)(),t=()=>{e(!1),i(null),k(null),m(null),o(null)},u=async()=>{try{m("push"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate preview");i(b.details.details)}catch(a){console.error("Push to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate push preview")}finally{c(!1)}},v=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm push");i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),o(`Applied ${b.details.applied} migration(s), skipped ${b.details.skipped}.`),r(),q("success",`Push complete — ${b.details.applied} migration(s) applied`)}catch(a){console.error("Push to remote confirm failed:",a),k(a)}finally{c(!1)}},w=async()=>{try{m("pull"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate pull preview");i(b.details)}catch(a){console.error("Pull to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate pull preview")}finally{c(!1)}},x=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm pull");o("Pull migrations applied successfully."),r(),q("success","Pull complete"),i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),await p()}catch(a){console.error("Pull to remote confirm failed:",a),k(a)}finally{c(!1)}},y=d&&("pull"===l?(0,f.jsx)(eA,{preview:h?.preview||[],onConfirm:x,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}):(0,f.jsx)(ez,{preview:h?.preview||[],onConfirm:v,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}));return{isConnecting:a,isPushing:b,showPreview:d,pushToRemote:u,pullToRemotePreview:w,PreviewUI:y}}function eC({icon:a,label:b,view:c,currentView:d,onNavigate:e,disabled:g,pro:h,locked:i}){let j=d===c;return(0,f.jsxs)("button",{className:`w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2
2
2
  ${j?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"}`,onClick:()=>e(c),disabled:g,title:i?"Pro license required — run: d1s --license YOUR-KEY":void 0,children:[(0,f.jsx)(a,{className:"h-[16px] w-[16px] flex-shrink-0"}),(0,f.jsx)("span",{className:"flex-1 text-left",children:b}),h&&i&&(0,f.jsx)(l,{className:"h-3 w-3 opacity-40 flex-shrink-0"})]})}function eD({className:a,currentView:b,onNavigate:c,onTableSelect:d}){let{tables:e,databases:h,currentDatabase:i,sourceMode:k,setSourceMode:w,switchDatabase:y,isLoading:z,error:C,lastSyncTime:D}=(0,dR.t)(),[E,F]=(0,g.useState)(""),[G,H]=(0,g.useState)(null),[I,J]=(0,g.useState)(!1),[K,L]=(0,g.useState)(!1),{isConnecting:M,isPushing:N,pushToRemote:O,pullToRemotePreview:P,PreviewUI:Q}=eB(),R=(0,g.useMemo)(()=>{let a=[...e?.filter(a=>a.toLowerCase().includes(E.toLowerCase()))||[]].sort((a,b)=>a.localeCompare(b)),b=a.indexOf("d1_migrations");return -1!==b&&(a.splice(b,1),a.unshift("d1_migrations")),a},[e,E]),S=async a=>{try{J(!0),H(a),d(a)}catch(a){console.error("Error selecting table:",a)}finally{J(!1)}};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("aside",{className:`${a} top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4`,children:(0,f.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(m,{className:"h-5 w-5"}),(0,f.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,f.jsxs)("div",{className:"text-xs font-medium text-muted-foreground",children:["v",j.rE]})]}),C&&(0,f.jsxs)(A,{variant:"destructive",className:"mb-4",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{className:"text-sm ml-2",children:C})]}),(0,f.jsxs)("div",{className:"mb-1.5",children:[(0,f.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database"}),(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)("button",{className:"flex items-center gap-1.5 text-sm font-semibold hover:text-foreground/80 transition-colors max-w-full w-full text-left",children:[(0,f.jsx)("span",{className:"truncate",children:i?.database_name||"Select database"}),i&&(0,f.jsx)("span",{className:`shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded ${"remote"===k?"bg-sky-100 text-sky-700":"bg-green-100 text-green-700"}`,children:"remote"===k?"Remote":`Local${i.hasLocal?" ✓":""}`}),(0,f.jsx)(o,{className:"h-3 w-3 shrink-0 ml-auto opacity-50"})]})}),(0,f.jsx)(dP,{align:"start",className:"w-56",children:h.map(a=>(0,f.jsxs)(dQ,{onClick:()=>y(a.database_name),className:`flex items-center justify-between gap-2 ${i?.database_name===a.database_name?"font-semibold bg-accent":""}`,children:[(0,f.jsx)("span",{className:"truncate",children:a.database_name}),(0,f.jsx)("span",{className:`shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded ${"remote"===k?"bg-sky-100 text-sky-700":"bg-green-100 text-green-700"}`,children:"remote"===k?"Remote":`Local${a.hasLocal?" ✓":""}`})]},a.database_name))})]})]}),(0,f.jsxs)("div",{className:"mb-2",children:[(0,f.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Source"}),(0,f.jsxs)("div",{className:"flex items-center gap-1 rounded-md border bg-white p-1",children:[(0,f.jsx)("button",{onClick:()=>{w("local").catch(()=>{})},className:`flex-1 rounded px-2 py-1.5 text-xs font-semibold transition-colors ${"local"===k?"bg-neutral-900 text-white":"text-neutral-700 hover:bg-neutral-100"}`,children:"Local"}),(0,f.jsx)("button",{onClick:()=>{w("remote").catch(()=>{})},disabled:!K,title:K?"Browse/query remote database":"Pro license required — run: d1s --license YOUR-KEY",className:`flex-1 rounded px-2 py-1.5 text-xs font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${"remote"===k?"bg-neutral-900 text-white":"text-neutral-700 hover:bg-neutral-100"}`,children:K||"remote"===k?"Remote":(0,f.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,f.jsx)(l,{className:"h-3.5 w-3.5 opacity-60"}),"Remote"]})})]}),(0,f.jsx)("div",{className:"text-[11px] text-muted-foreground px-0.5 mt-1",children:"remote"===k?"Remote is read-only. Switch to Local for sync/edit actions.":"Local mode enables Pull/Push and row editing."})]}),(0,f.jsxs)("div",{className:"mb-2",children:[(0,f.jsxs)("div",{className:"flex gap-1.5 mb-1",children:[(0,f.jsxs)("button",{onClick:P,disabled:!K||"remote"===k||M||N,title:K?"remote"===k?"Switch source to Local to use Pull":void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[K?(0,f.jsx)(p,{className:"h-3.5 w-3.5"}):(0,f.jsx)(l,{className:"h-3.5 w-3.5 opacity-40"}),"Pull"]}),(0,f.jsxs)("button",{onClick:O,disabled:!K||"remote"===k||M||N,title:K?"remote"===k?"Switch source to Local to use Push":void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[K?(0,f.jsx)(q,{className:"h-3.5 w-3.5"}):(0,f.jsx)(l,{className:"h-3.5 w-3.5 opacity-40"}),"Push"]})]}),(0,f.jsx)("div",{className:"text-[11px] text-muted-foreground px-0.5",children:D?`Remote sync \xb7 ${function(a){if(!a)return null;let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);return b<60?"just now":b<3600?`${Math.floor(b/60)} min ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}(D)}`:"Never synced"})]}),(0,f.jsxs)("div",{className:"relative mt-3 mb-2 bg-white",children:[(0,f.jsx)(r,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,f.jsx)(x,{placeholder:"Search tables",value:E,onChange:a=>F(a.target.value),className:"pl-7"})]}),(0,f.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,f.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",e?.length?`(${e.length})`:""]}),z&&(0,f.jsx)(s,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,f.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,f.jsxs)("div",{className:"pr-2 pb-2",children:[!z&&0===R.length&&(0,f.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:E?"No matching tables found":C?"Error loading tables":"No tables available"}),R.map(a=>(0,f.jsx)("button",{className:`w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2
3
3
  ${"table-view"===b&&G===a?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]"}
4
- ${I&&"opacity-50 cursor-not-allowed"}`,onClick:()=>S(a),disabled:I,children:a},a))]})})]}),(0,f.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,f.jsx)(eC,{icon:t,label:"SQL editor",view:"sql-editor",currentView:b,onNavigate:c,disabled:I}),(0,f.jsx)(eC,{icon:u,label:"Schema",view:"schema",currentView:b,onNavigate:c,disabled:I}),(0,f.jsx)(eC,{icon:v,label:"Time travel",view:"time-travel",currentView:b,onNavigate:c,disabled:I||!K,pro:!0,locked:!K})]})]})}),Q]})}function eE(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function eF(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function eG(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?eF(Object(c),!0).forEach(function(b){var d;d=c[b],b in a?Object.defineProperty(a,b,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[b]=d}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):eF(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function eH(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}}function eI(a){return({}).toString.call(a).includes("Object")}function eJ(a){return"function"==typeof a}var eK=eH(function(a,b){throw Error(a[b]||a.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),eL={changes:function(a,b){return eI(b)||eK("changeType"),Object.keys(b).some(function(b){return!Object.prototype.hasOwnProperty.call(a,b)})&&eK("changeField"),b},selector:function(a){eJ(a)||eK("selectorType")},handler:function(a){eJ(a)||eI(a)||eK("handlerType"),eI(a)&&Object.values(a).some(function(a){return!eJ(a)})&&eK("handlersType")},initial:function(a){a||eK("initialIsRequired"),eI(a)||eK("initialType"),Object.keys(a).length||eK("initialContent")}};function eM(a,b){return eJ(b)?b(a.current):b}function eN(a,b){return a.current=eG(eG({},a.current),b),b}function eO(a,b,c){return eJ(b)?b(a.current):Object.keys(c).forEach(function(c){var d;return null==(d=b[c])?void 0:d.call(b,a.current[c])}),c}var eP={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},eQ=(function(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}})(function(a,b){throw Error(a[b]||a.default)})(eP);let eR=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}};var eS={type:"cancelation",msg:"operation is manually canceled"};let eT=function(a){var b=!1,c=new Promise(function(c,d){a.then(function(a){return b?d(eS):c(a)}),a.catch(d)});return c.cancel=function(){return b=!0},c};var eU=function(a,b){return function(a){if(Array.isArray(a))return a}(a)||function(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h.return||h.return()}finally{if(e)throw f}}return c}}(a,2)||function(a,b){if(a){if("string"==typeof a)return eE(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c)return Array.from(a);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return eE(a,b)}}(a,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eL.initial(a),eL.handler(b);var c={current:a},d=eH(eO)(c,b),e=eH(eN)(c),f=eH(eL.changes)(a),g=eH(eM)(c);return[function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(a){return a};return eL.selector(a),a(c.current)},function(a){(function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}})(d,e,f,g)(a)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),2),eV=eU[0],eW=eU[1];function eX(a){return document.body.appendChild(a)}function eY(a){var b,c,d=eV(function(a){return{config:a.config,reject:a.reject}}),e=(b="".concat(d.config.paths.vs,"/loader.js"),c=document.createElement("script"),b&&(c.src=b),c);return e.onload=function(){return a()},e.onerror=d.reject,e}function eZ(){var a=eV(function(a){return{config:a.config,resolve:a.resolve,reject:a.reject}}),b=window.require;b.config(a.config),b(["vs/editor/editor.main"],function(b){e$(b),a.resolve(b)},function(b){a.reject(b)})}function e$(a){eV().monaco||eW({monaco:a})}var e_=new Promise(function(a,b){return eW({resolve:a,reject:b})});let e0={init:function(){var a=eV(function(a){return{monaco:a.monaco,isInitialized:a.isInitialized,resolve:a.resolve}});if(!a.isInitialized){if(eW({isInitialized:!0}),a.monaco)return a.resolve(a.monaco),eT(e_);if(window.monaco&&window.monaco.editor)return e$(window.monaco),a.resolve(window.monaco),eT(e_);eR(eX,eY)(eZ)}return eT(e_)}};var e1={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},e2={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},e3=function({children:a}){return g.createElement("div",{style:e2.container},a)},e4=(0,g.memo)(function({width:a,height:b,isEditorReady:c,loading:d,_ref:e,className:f,wrapperProps:h}){return g.createElement("section",{style:{...e1.wrapper,width:a,height:b},...h},!c&&g.createElement(e3,null,d),g.createElement("div",{ref:e,style:{...e1.fullWidth,...!c&&e1.hide},className:f}))}),e5=function(a){(0,g.useEffect)(a,[])},e6=function(a,b,c=!0){let d=(0,g.useRef)(!0);(0,g.useEffect)(d.current||!c?()=>{d.current=!1}:a,b)};function e7(){}function e8(a,b,c,d){var e,f,g,h,i,j;return e=a,f=d,e.editor.getModel(e9(e,f))||(g=a,h=b,i=c,j=d,g.editor.createModel(h,i,j?e9(g,j):void 0))}function e9(a,b){return a.Uri.parse(b)}(0,g.memo)(function({original:a,modified:b,language:c,originalLanguage:d,modifiedLanguage:e,originalModelPath:f,modifiedModelPath:h,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:j=!1,theme:k="light",loading:l="Loading...",options:m={},height:n="100%",width:o="100%",className:p,wrapperProps:q={},beforeMount:r=e7,onMount:s=e7}){let[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!0),x=(0,g.useRef)(null),y=(0,g.useRef)(null),z=(0,g.useRef)(null),A=(0,g.useRef)(s),B=(0,g.useRef)(r),C=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(y.current=a)&&w(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>{let b;return x.current?(b=x.current?.getModel(),void(i||b?.original?.dispose(),j||b?.modified?.dispose(),x.current?.dispose())):a.cancel()}}),e6(()=>{if(x.current&&y.current){let b=x.current.getOriginalEditor(),e=e8(y.current,a||"",d||c||"text",f||"");e!==b.getModel()&&b.setModel(e)}},[f],t),e6(()=>{if(x.current&&y.current){let a=x.current.getModifiedEditor(),d=e8(y.current,b||"",e||c||"text",h||"");d!==a.getModel()&&a.setModel(d)}},[h],t),e6(()=>{let a=x.current.getModifiedEditor();a.getOption(y.current.editor.EditorOption.readOnly)?a.setValue(b||""):b!==a.getValue()&&(a.executeEdits("",[{range:a.getModel().getFullModelRange(),text:b||"",forceMoveMarkers:!0}]),a.pushUndoStop())},[b],t),e6(()=>{x.current?.getModel()?.original.setValue(a||"")},[a],t),e6(()=>{let{original:a,modified:b}=x.current.getModel();y.current.editor.setModelLanguage(a,d||c||"text"),y.current.editor.setModelLanguage(b,e||c||"text")},[c,d,e],t),e6(()=>{y.current?.editor.setTheme(k)},[k],t),e6(()=>{x.current?.updateOptions(m)},[m],t);let D=(0,g.useCallback)(()=>{if(!y.current)return;B.current(y.current);let g=e8(y.current,a||"",d||c||"text",f||""),i=e8(y.current,b||"",e||c||"text",h||"");x.current?.setModel({original:g,modified:i})},[c,b,e,a,d,f,h]),E=(0,g.useCallback)(()=>{!C.current&&z.current&&(x.current=y.current.editor.createDiffEditor(z.current,{automaticLayout:!0,...m}),D(),y.current?.editor.setTheme(k),u(!0),C.current=!0)},[m,k,D]);return(0,g.useEffect)(()=>{t&&A.current(x.current,y.current)},[t]),(0,g.useEffect)(()=>{v||t||E()},[v,t,E]),g.createElement(e4,{width:o,height:n,isEditorReady:t,loading:l,_ref:z,className:p,wrapperProps:q})});var fa=function(a){let b=(0,g.useRef)();return(0,g.useEffect)(()=>{b.current=a},[a]),b.current},fb=new Map,fc=(0,g.memo)(function({defaultValue:a,defaultLanguage:b,defaultPath:c,value:d,language:e,path:f,theme:h="light",line:i,loading:j="Loading...",options:k={},overrideServices:l={},saveViewState:m=!0,keepCurrentModel:n=!1,width:o="100%",height:p="100%",className:q,wrapperProps:r={},beforeMount:s=e7,onMount:t=e7,onChange:u,onValidate:v=e7}){let[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)(!0),A=(0,g.useRef)(null),B=(0,g.useRef)(null),C=(0,g.useRef)(null),D=(0,g.useRef)(t),E=(0,g.useRef)(s),F=(0,g.useRef)(),G=(0,g.useRef)(d),H=fa(f),I=(0,g.useRef)(!1),J=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(A.current=a)&&z(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>B.current?void(F.current?.dispose(),n?m&&fb.set(f,B.current.saveViewState()):B.current.getModel()?.dispose(),B.current.dispose()):a.cancel()}),e6(()=>{let g=e8(A.current,a||d||"",b||e||"",f||c||"");g!==B.current?.getModel()&&(m&&fb.set(H,B.current?.saveViewState()),B.current?.setModel(g),m&&B.current?.restoreViewState(fb.get(f)))},[f],w),e6(()=>{B.current?.updateOptions(k)},[k],w),e6(()=>{B.current&&void 0!==d&&(B.current.getOption(A.current.editor.EditorOption.readOnly)?B.current.setValue(d):d!==B.current.getValue()&&(J.current=!0,B.current.executeEdits("",[{range:B.current.getModel().getFullModelRange(),text:d,forceMoveMarkers:!0}]),B.current.pushUndoStop(),J.current=!1))},[d],w),e6(()=>{let a=B.current?.getModel();a&&e&&A.current?.editor.setModelLanguage(a,e)},[e],w),e6(()=>{void 0!==i&&B.current?.revealLine(i)},[i],w),e6(()=>{A.current?.editor.setTheme(h)},[h],w);let K=(0,g.useCallback)(()=>{if(!(!C.current||!A.current)&&!I.current){E.current(A.current);let g=f||c,j=e8(A.current,d||a||"",b||e||"",g||"");B.current=A.current?.editor.create(C.current,{model:j,automaticLayout:!0,...k},l),m&&B.current.restoreViewState(fb.get(g)),A.current.editor.setTheme(h),void 0!==i&&B.current.revealLine(i),x(!0),I.current=!0}},[a,b,c,d,e,f,k,l,m,h,i]);return(0,g.useEffect)(()=>{w&&D.current(B.current,A.current)},[w]),(0,g.useEffect)(()=>{y||w||K()},[y,w,K]),G.current=d,(0,g.useEffect)(()=>{w&&u&&(F.current?.dispose(),F.current=B.current?.onDidChangeModelContent(a=>{J.current||u(B.current.getValue(),a)}))},[w,u]),(0,g.useEffect)(()=>{if(w){let a=A.current.editor.onDidChangeMarkers(a=>{let b=B.current.getModel()?.uri;if(b&&a.find(a=>a.path===b.path)){let a=A.current.editor.getModelMarkers({resource:b});v?.(a)}});return()=>{a?.dispose()}}return()=>{}},[w,v]),g.createElement(e4,{width:o,height:p,isEditorReady:w,loading:j,_ref:C,className:q,wrapperProps:r})});let fd=(0,k.A)("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),fe=(0,k.A)("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),ff=(0,k.A)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function fg({results:a}){return a&&Array.isArray(a)?(0,f.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[a.length," ",1===a.length?"row":"rows"," returned"]}):null}function fh({error:a}){console.debug("SQLErrorDisplay - Received error prop:",a);let b=a&&"string"==typeof a.message?a:{message:"An unknown error occurred",details:{}};return(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"text-neutral-700 text-sm",children:b.message}),b.details?.stderr&&(0,f.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:b.details.stderr})]})}function fi({query:a,results:b}){if(!b?.length)return(0,f.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let c=a?.trim().toLowerCase().startsWith("pragma table_info"),d=c?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(b[0]),e=c?b.map(a=>({"Column Name":a.name,Type:a.type,"Not Null":1===a.notnull?"YES":"NO","Default Value":a.dflt_value||"(null)","Primary Key":1===a.pk?"YES":"NO"})):b;return(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)(fg,{results:e}),(0,f.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,f.jsx)("div",{className:"min-w-full",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{className:"bg-muted/50",children:d.map(a=>(0,f.jsx)(ew,{className:"font-mono text-xs font-medium text-muted-foreground",children:a},a))})}),(0,f.jsx)(eu,{children:e.map((a,b)=>(0,f.jsx)(ev,{className:"hover:bg-muted/50",children:d.map(c=>{let d=a[c],e=null===d?"(null)":String(d);return(0,f.jsx)(ex,{className:"font-monospace text-xs whitespace-nowrap",children:e},`${b}-${c}`)})},b))})]})})})]})}let fj={SYNTAX_ERROR:"SYNTAX_ERROR",EXECUTION_ERROR:"EXECUTION_ERROR",TABLE_NOT_FOUND:"TABLE_NOT_FOUND",TABLE_EXISTS:"TABLE_EXISTS",FOREIGN_KEY_ERROR:"FOREIGN_KEY_ERROR",UNIQUE_CONSTRAINT_ERROR:"UNIQUE_CONSTRAINT_ERROR",NOT_NULL_CONSTRAINT_ERROR:"NOT_NULL_CONSTRAINT_ERROR",CHECK_CONSTRAINT_ERROR:"CHECK_CONSTRAINT_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"};function fk(a){if(!a)return{type:fj.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let b=null,c=a.cmd||a.details&&a.details.command;if(c){let a=c.match(/--command="(.+?)"\s*--json/s);a&&(b=a[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let d=a.stdout||a.details&&a.details.stdout;if(d)try{let a=JSON.parse(d.trim()),e=a?.error?.text||"";if(e)return fl(e,b,c)}catch{}let e=a.stderr||a.details&&a.details.stderr;if(e)return fl(e.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),b,c);let f=a.message||a.details&&a.details.originalError||"";return f?fl(f,b,c):{type:fj.UNKNOWN_ERROR,message:a.message||"An unknown error occurred",details:{}}}function fl(a,b,c){if(a.includes("env: node: No such file or directory"))return{type:fj.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:b}};let d=a.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(d){let[,a,c]=d;return{type:fj.SYNTAX_ERROR,message:`Syntax error near "${a}"${c?` at position ${c}`:""}`,details:{originalQuery:b,errorLocation:{near:a,offset:c?parseInt(c):null}}}}if(a.includes("UNIQUE constraint failed")){let[,c]=a.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:fj.UNIQUE_CONSTRAINT_ERROR,message:`UNIQUE constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("NOT NULL constraint failed")){let[,c]=a.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:fj.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("CHECK constraint failed")){let[,c]=a.match(/CHECK constraint failed: (\S+)/)||[];return{type:fj.CHECK_CONSTRAINT_ERROR,message:`CHECK constraint failed: ${c||"unknown constraint"}`,details:{originalQuery:b}}}if(a.includes("FOREIGN KEY constraint failed"))return{type:fj.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:b}};if(a.includes("no such table")){let[,c]=a.match(/no such table: (\S+)/)||[];return{type:fj.TABLE_NOT_FOUND,message:`Table not found: ${c||"unknown"}`,details:{originalQuery:b}}}if(a.includes("already exists")){let[,c]=a.match(/table (\w+) already exists/)||[];return{type:fj.TABLE_EXISTS,message:`Table already exists: ${c||"unknown"}`,details:{originalQuery:b}}}return{type:fj.EXECUTION_ERROR,message:a.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:b}}}let fm={"Show Tables":`SELECT name
4
+ ${I&&"opacity-50 cursor-not-allowed"}`,onClick:()=>S(a),disabled:I,children:a},a))]})})]}),(0,f.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,f.jsx)(eC,{icon:t,label:"SQL editor",view:"sql-editor",currentView:b,onNavigate:c,disabled:I}),(0,f.jsx)(eC,{icon:u,label:"Schema",view:"schema",currentView:b,onNavigate:c,disabled:I}),(0,f.jsx)(eC,{icon:v,label:"Time travel",view:"time-travel",currentView:b,onNavigate:c,disabled:I||!K,pro:!0,locked:!K})]})]})}),Q]})}function eE(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function eF(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function eG(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?eF(Object(c),!0).forEach(function(b){var d;d=c[b],b in a?Object.defineProperty(a,b,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[b]=d}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):eF(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function eH(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}}function eI(a){return({}).toString.call(a).includes("Object")}function eJ(a){return"function"==typeof a}var eK=eH(function(a,b){throw Error(a[b]||a.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),eL={changes:function(a,b){return eI(b)||eK("changeType"),Object.keys(b).some(function(b){return!Object.prototype.hasOwnProperty.call(a,b)})&&eK("changeField"),b},selector:function(a){eJ(a)||eK("selectorType")},handler:function(a){eJ(a)||eI(a)||eK("handlerType"),eI(a)&&Object.values(a).some(function(a){return!eJ(a)})&&eK("handlersType")},initial:function(a){a||eK("initialIsRequired"),eI(a)||eK("initialType"),Object.keys(a).length||eK("initialContent")}};function eM(a,b){return eJ(b)?b(a.current):b}function eN(a,b){return a.current=eG(eG({},a.current),b),b}function eO(a,b,c){return eJ(b)?b(a.current):Object.keys(c).forEach(function(c){var d;return null==(d=b[c])?void 0:d.call(b,a.current[c])}),c}var eP={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},eQ=(function(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}})(function(a,b){throw Error(a[b]||a.default)})(eP);let eR=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}};var eS={type:"cancelation",msg:"operation is manually canceled"};let eT=function(a){var b=!1,c=new Promise(function(c,d){a.then(function(a){return b?d(eS):c(a)}),a.catch(d)});return c.cancel=function(){return b=!0},c};var eU=function(a,b){return function(a){if(Array.isArray(a))return a}(a)||function(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h.return||h.return()}finally{if(e)throw f}}return c}}(a,2)||function(a,b){if(a){if("string"==typeof a)return eE(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c)return Array.from(a);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return eE(a,b)}}(a,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eL.initial(a),eL.handler(b);var c={current:a},d=eH(eO)(c,b),e=eH(eN)(c),f=eH(eL.changes)(a),g=eH(eM)(c);return[function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(a){return a};return eL.selector(a),a(c.current)},function(a){(function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}})(d,e,f,g)(a)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),2),eV=eU[0],eW=eU[1];function eX(a){return document.body.appendChild(a)}function eY(a){var b,c,d=eV(function(a){return{config:a.config,reject:a.reject}}),e=(b="".concat(d.config.paths.vs,"/loader.js"),c=document.createElement("script"),b&&(c.src=b),c);return e.onload=function(){return a()},e.onerror=d.reject,e}function eZ(){var a=eV(function(a){return{config:a.config,resolve:a.resolve,reject:a.reject}}),b=window.require;b.config(a.config),b(["vs/editor/editor.main"],function(b){e$(b),a.resolve(b)},function(b){a.reject(b)})}function e$(a){eV().monaco||eW({monaco:a})}var e_=new Promise(function(a,b){return eW({resolve:a,reject:b})});let e0={init:function(){var a=eV(function(a){return{monaco:a.monaco,isInitialized:a.isInitialized,resolve:a.resolve}});if(!a.isInitialized){if(eW({isInitialized:!0}),a.monaco)return a.resolve(a.monaco),eT(e_);if(window.monaco&&window.monaco.editor)return e$(window.monaco),a.resolve(window.monaco),eT(e_);eR(eX,eY)(eZ)}return eT(e_)}};var e1={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},e2={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},e3=function({children:a}){return g.createElement("div",{style:e2.container},a)},e4=(0,g.memo)(function({width:a,height:b,isEditorReady:c,loading:d,_ref:e,className:f,wrapperProps:h}){return g.createElement("section",{style:{...e1.wrapper,width:a,height:b},...h},!c&&g.createElement(e3,null,d),g.createElement("div",{ref:e,style:{...e1.fullWidth,...!c&&e1.hide},className:f}))}),e5=function(a){(0,g.useEffect)(a,[])},e6=function(a,b,c=!0){let d=(0,g.useRef)(!0);(0,g.useEffect)(d.current||!c?()=>{d.current=!1}:a,b)};function e7(){}function e8(a,b,c,d){var e,f,g,h,i,j;return e=a,f=d,e.editor.getModel(e9(e,f))||(g=a,h=b,i=c,j=d,g.editor.createModel(h,i,j?e9(g,j):void 0))}function e9(a,b){return a.Uri.parse(b)}(0,g.memo)(function({original:a,modified:b,language:c,originalLanguage:d,modifiedLanguage:e,originalModelPath:f,modifiedModelPath:h,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:j=!1,theme:k="light",loading:l="Loading...",options:m={},height:n="100%",width:o="100%",className:p,wrapperProps:q={},beforeMount:r=e7,onMount:s=e7}){let[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!0),x=(0,g.useRef)(null),y=(0,g.useRef)(null),z=(0,g.useRef)(null),A=(0,g.useRef)(s),B=(0,g.useRef)(r),C=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(y.current=a)&&w(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>{let b;return x.current?(b=x.current?.getModel(),void(i||b?.original?.dispose(),j||b?.modified?.dispose(),x.current?.dispose())):a.cancel()}}),e6(()=>{if(x.current&&y.current){let b=x.current.getOriginalEditor(),e=e8(y.current,a||"",d||c||"text",f||"");e!==b.getModel()&&b.setModel(e)}},[f],t),e6(()=>{if(x.current&&y.current){let a=x.current.getModifiedEditor(),d=e8(y.current,b||"",e||c||"text",h||"");d!==a.getModel()&&a.setModel(d)}},[h],t),e6(()=>{let a=x.current.getModifiedEditor();a.getOption(y.current.editor.EditorOption.readOnly)?a.setValue(b||""):b!==a.getValue()&&(a.executeEdits("",[{range:a.getModel().getFullModelRange(),text:b||"",forceMoveMarkers:!0}]),a.pushUndoStop())},[b],t),e6(()=>{x.current?.getModel()?.original.setValue(a||"")},[a],t),e6(()=>{let{original:a,modified:b}=x.current.getModel();y.current.editor.setModelLanguage(a,d||c||"text"),y.current.editor.setModelLanguage(b,e||c||"text")},[c,d,e],t),e6(()=>{y.current?.editor.setTheme(k)},[k],t),e6(()=>{x.current?.updateOptions(m)},[m],t);let D=(0,g.useCallback)(()=>{if(!y.current)return;B.current(y.current);let g=e8(y.current,a||"",d||c||"text",f||""),i=e8(y.current,b||"",e||c||"text",h||"");x.current?.setModel({original:g,modified:i})},[c,b,e,a,d,f,h]),E=(0,g.useCallback)(()=>{!C.current&&z.current&&(x.current=y.current.editor.createDiffEditor(z.current,{automaticLayout:!0,...m}),D(),y.current?.editor.setTheme(k),u(!0),C.current=!0)},[m,k,D]);return(0,g.useEffect)(()=>{t&&A.current(x.current,y.current)},[t]),(0,g.useEffect)(()=>{v||t||E()},[v,t,E]),g.createElement(e4,{width:o,height:n,isEditorReady:t,loading:l,_ref:z,className:p,wrapperProps:q})});var fa=function(a){let b=(0,g.useRef)();return(0,g.useEffect)(()=>{b.current=a},[a]),b.current},fb=new Map,fc=(0,g.memo)(function({defaultValue:a,defaultLanguage:b,defaultPath:c,value:d,language:e,path:f,theme:h="light",line:i,loading:j="Loading...",options:k={},overrideServices:l={},saveViewState:m=!0,keepCurrentModel:n=!1,width:o="100%",height:p="100%",className:q,wrapperProps:r={},beforeMount:s=e7,onMount:t=e7,onChange:u,onValidate:v=e7}){let[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)(!0),A=(0,g.useRef)(null),B=(0,g.useRef)(null),C=(0,g.useRef)(null),D=(0,g.useRef)(t),E=(0,g.useRef)(s),F=(0,g.useRef)(),G=(0,g.useRef)(d),H=fa(f),I=(0,g.useRef)(!1),J=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(A.current=a)&&z(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>B.current?void(F.current?.dispose(),n?m&&fb.set(f,B.current.saveViewState()):B.current.getModel()?.dispose(),B.current.dispose()):a.cancel()}),e6(()=>{let g=e8(A.current,a||d||"",b||e||"",f||c||"");g!==B.current?.getModel()&&(m&&fb.set(H,B.current?.saveViewState()),B.current?.setModel(g),m&&B.current?.restoreViewState(fb.get(f)))},[f],w),e6(()=>{B.current?.updateOptions(k)},[k],w),e6(()=>{B.current&&void 0!==d&&(B.current.getOption(A.current.editor.EditorOption.readOnly)?B.current.setValue(d):d!==B.current.getValue()&&(J.current=!0,B.current.executeEdits("",[{range:B.current.getModel().getFullModelRange(),text:d,forceMoveMarkers:!0}]),B.current.pushUndoStop(),J.current=!1))},[d],w),e6(()=>{let a=B.current?.getModel();a&&e&&A.current?.editor.setModelLanguage(a,e)},[e],w),e6(()=>{void 0!==i&&B.current?.revealLine(i)},[i],w),e6(()=>{A.current?.editor.setTheme(h)},[h],w);let K=(0,g.useCallback)(()=>{if(!(!C.current||!A.current)&&!I.current){E.current(A.current);let g=f||c,j=e8(A.current,d||a||"",b||e||"",g||"");B.current=A.current?.editor.create(C.current,{model:j,automaticLayout:!0,...k},l),m&&B.current.restoreViewState(fb.get(g)),A.current.editor.setTheme(h),void 0!==i&&B.current.revealLine(i),x(!0),I.current=!0}},[a,b,c,d,e,f,k,l,m,h,i]);return(0,g.useEffect)(()=>{w&&D.current(B.current,A.current)},[w]),(0,g.useEffect)(()=>{y||w||K()},[y,w,K]),G.current=d,(0,g.useEffect)(()=>{w&&u&&(F.current?.dispose(),F.current=B.current?.onDidChangeModelContent(a=>{J.current||u(B.current.getValue(),a)}))},[w,u]),(0,g.useEffect)(()=>{if(w){let a=A.current.editor.onDidChangeMarkers(a=>{let b=B.current.getModel()?.uri;if(b&&a.find(a=>a.path===b.path)){let a=A.current.editor.getModelMarkers({resource:b});v?.(a)}});return()=>{a?.dispose()}}return()=>{}},[w,v]),g.createElement(e4,{width:o,height:p,isEditorReady:w,loading:j,_ref:C,className:q,wrapperProps:r})});let fd=(0,k.A)("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),fe=(0,k.A)("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),ff=(0,k.A)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function fg({results:a}){return a&&Array.isArray(a)?(0,f.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[a.length," ",1===a.length?"row":"rows"," returned"]}):null}function fh({error:a}){console.debug("SQLErrorDisplay - Received error prop:",a);let b=a&&"string"==typeof a.message?a:{message:"An unknown error occurred",details:{}};return(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"text-neutral-700 text-sm",children:b.message}),b.details?.stderr&&(0,f.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:b.details.stderr})]})}function fi({query:a,results:b}){if(!b?.length)return(0,f.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let c=a?.trim().toLowerCase().startsWith("pragma table_info"),d=c?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(b[0]),e=c?b.map(a=>({"Column Name":a.name,Type:a.type,"Not Null":1===a.notnull?"YES":"NO","Default Value":a.dflt_value||"(null)","Primary Key":1===a.pk?"YES":"NO"})):b;return(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)(fg,{results:e}),(0,f.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,f.jsx)("div",{className:"min-w-full",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{className:"bg-muted/50",children:d.map(a=>(0,f.jsx)(ew,{className:"font-mono text-xs font-medium text-muted-foreground",children:a},a))})}),(0,f.jsx)(eu,{children:e.map((a,b)=>(0,f.jsx)(ev,{className:"hover:bg-muted/50",children:d.map(c=>{let d=a[c],e=null===d?"(null)":String(d);return(0,f.jsx)(ex,{className:"font-monospace text-xs whitespace-nowrap",children:e},`${b}-${c}`)})},b))})]})})})]})}var fj=c(62869);let fk={SYNTAX_ERROR:"SYNTAX_ERROR",EXECUTION_ERROR:"EXECUTION_ERROR",TABLE_NOT_FOUND:"TABLE_NOT_FOUND",TABLE_EXISTS:"TABLE_EXISTS",FOREIGN_KEY_ERROR:"FOREIGN_KEY_ERROR",UNIQUE_CONSTRAINT_ERROR:"UNIQUE_CONSTRAINT_ERROR",NOT_NULL_CONSTRAINT_ERROR:"NOT_NULL_CONSTRAINT_ERROR",CHECK_CONSTRAINT_ERROR:"CHECK_CONSTRAINT_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"};function fl(a){if(!a)return{type:fk.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let b=null,c=a.cmd||a.details&&a.details.command;if(c){let a=c.match(/--command="(.+?)"\s*--json/s);a&&(b=a[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let d=a.stdout||a.details&&a.details.stdout;if(d)try{let a=JSON.parse(d.trim()),e=a?.error?.text||"";if(e)return fm(e,b,c)}catch{}let e=a.stderr||a.details&&a.details.stderr;if(e)return fm(e.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),b,c);let f=a.message||a.details&&a.details.originalError||"";return f?fm(f,b,c):{type:fk.UNKNOWN_ERROR,message:a.message||"An unknown error occurred",details:{}}}function fm(a,b,c){if(a.includes("env: node: No such file or directory"))return{type:fk.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:b}};let d=a.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(d){let[,a,c]=d;return{type:fk.SYNTAX_ERROR,message:`Syntax error near "${a}"${c?` at position ${c}`:""}`,details:{originalQuery:b,errorLocation:{near:a,offset:c?parseInt(c):null}}}}if(a.includes("UNIQUE constraint failed")){let[,c]=a.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:fk.UNIQUE_CONSTRAINT_ERROR,message:`UNIQUE constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("NOT NULL constraint failed")){let[,c]=a.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:fk.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("CHECK constraint failed")){let[,c]=a.match(/CHECK constraint failed: (\S+)/)||[];return{type:fk.CHECK_CONSTRAINT_ERROR,message:`CHECK constraint failed: ${c||"unknown constraint"}`,details:{originalQuery:b}}}if(a.includes("FOREIGN KEY constraint failed"))return{type:fk.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:b}};if(a.includes("no such table")){let[,c]=a.match(/no such table: (\S+)/)||[];return{type:fk.TABLE_NOT_FOUND,message:`Table not found: ${c||"unknown"}`,details:{originalQuery:b}}}if(a.includes("already exists")){let[,c]=a.match(/table (\w+) already exists/)||[];return{type:fk.TABLE_EXISTS,message:`Table already exists: ${c||"unknown"}`,details:{originalQuery:b}}}return{type:fk.EXECUTION_ERROR,message:a.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:b}}}let fn={"Show Tables":`SELECT name
5
5
  FROM sqlite_master
6
6
  WHERE type='table'
7
7
  AND name NOT LIKE 'sqlite_%';`,"Table Schema":`-- Table Schema
@@ -44,16 +44,16 @@ CREATE UNIQUE INDEX idx_new_table_email ON new_table(email);`,"Create View":`--
44
44
  CREATE VIEW view_name AS
45
45
  SELECT column1, column2
46
46
  FROM table_name
47
- WHERE condition;`},fn={"Schema Information":["Show Tables","Table Schema","Table Indexes","Foreign Keys"],"Data Queries":["Table Data","Row Count","Column Stats"],"Schema Modification":["Create Table","Create View"]};function fo({onSelectQuery:a}){return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{variant:"outline",size:"sm",children:["Query Templates",(0,f.jsx)(o,{className:"ml-2 h-4 w-4"})]})}),(0,f.jsx)(dP,{align:"start",className:"w-72",children:Object.entries(fn).map(([b,c])=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:b}),c.map(b=>(0,f.jsx)(dQ,{onClick:()=>a(b),className:"font-sans text-neutral-800",children:b},b))]},b))})]})}function fp({initialQuery:a=""}){let{executeQuery:b,refreshTables:c}=(0,dR.t)(),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(!1),[j,k]=(0,g.useState)(300),[l,m]=(0,g.useState)(!1),n=(0,g.useRef)(null),o=(0,g.useRef)(null),p=(0,g.useCallback)(a=>{a.preventDefault();let b=a.pageY,c=a=>{k(Math.min(Math.max(j+(a.pageY-b),100),.8*window.innerHeight))},d=()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[j]),q=async()=>{if(!n.current)return;let a=n.current.getValue().trim().replace(/;+$/,"");if(!a)return void e({success:!1,error:{message:"Query cannot be empty."}});try{i(!0),e(null);let d=await b(a);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(a)&&await c();let f=[];if(d.results){if(Array.isArray(d.results))if(d.results.length>0&&d.results[0]?.columns&&d.results[0]?.values){let a=d.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.results.length&&d.results[0].results&&Array.isArray(d.results[0].results)?d.results[0].results:d.results;else if(d.results.columns&&d.results.values){let a=d.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}else if(d.result&&d.result.results){if(Array.isArray(d.result.results))if(d.result.results.length>0&&d.result.results[0]?.columns&&d.result.results[0]?.values){let a=d.result.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.result.results.length&&d.result.results[0].results&&Array.isArray(d.result.results[0].results)?d.result.results[0].results:d.result.results;else if(d.result.results.columns&&d.result.results.values){let a=d.result.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}e({success:!0,results:f,target:d?.execution?.target||"local"})}catch(a){e({success:!1,error:fk(a)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,f.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,f.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,f.jsx)(fo,{onSelectQuery:a=>{if(n.current){let b=Object.keys(fm).find(b=>b.toLowerCase()===a.toLowerCase());if(b){let a=fm[b];n.current.setValue(a),n.current.focus()}else console.warn(`Query template not found for: ${a}`)}}})}),(0,f.jsx)("div",{ref:o,className:"relative pt-2 overflow-hidden",style:{height:`${j}px`,minHeight:"100px"},children:(0,f.jsx)(fc,{height:"100%",language:"sql",options:{minimap:{enabled:!1},fontSize:14,wordWrap:"on",automaticLayout:!0,lineNumbers:"on",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},onMount:a=>{n.current=a,a.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{q()})}})}),(0,f.jsx)("div",{className:`relative h-0.5 cursor-row-resize bg-neutral-200 group ${l?"bg-neutral-300":"hover:bg-neutral-300"}`,onMouseDown:a=>{m(!0),p(a)},onMouseUp:()=>m(!1),children:(0,f.jsx)("div",{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-neutral-900 rounded-sm px-0.5
48
- ${l?"visible":"invisible group-hover:visible"}`,children:(0,f.jsx)(fd,{className:"h-3 w-3 text-white"})})}),(0,f.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,f.jsxs)("div",{className:"flex justify-between items-center",children:[(0,f.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,f.jsxs)(dT,{size:"sm",onClick:q,disabled:h,className:"flex items-center gap-1 text-sm font-medium",children:["Run",h?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(fe,{className:"h-4 w-4"}),(0,f.jsx)(ff,{className:"h-4 w-4"})]})]})]})}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(h)return(0,f.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!d)return(0,f.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!d.success)return console.debug("SQLEditor - Rendering error:",d.error),(0,f.jsx)(fh,{error:d.error});let a=d.results,b="remote"===d.target?"Remote":"Local";return a&&0!==a.length?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"text-xs text-neutral-500 mb-2",children:["Executed on: ",b]}),(0,f.jsx)(fi,{query:n.current?.getValue()||"",results:a})]}):(0,f.jsxs)("div",{className:"text-sm text-neutral-900 font-sans",children:["Success (",b,"). No results to display."]})})()})]})}function fq(a){let b=g.useRef({value:a,previous:a});return g.useMemo(()=>(b.current.value!==a&&(b.current.previous=b.current.value,b.current.value=a),b.current.previous),[a])}var fr="Checkbox",[fs,ft]=(0,E.A)(fr),[fu,fv]=fs(fr),fw=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:h,required:i,disabled:j,value:k="on",onCheckedChange:l,form:m,...n}=a,[o,p]=g.useState(null),q=(0,D.s)(b,a=>p(a)),r=g.useRef(!1),s=!o||m||!!o.closest("form"),[t=!1,u]=(0,F.i)({prop:e,defaultProp:h,onChange:l}),v=g.useRef(t);return g.useEffect(()=>{let a=o?.form;if(a){let b=()=>u(v.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[o,u]),(0,f.jsxs)(fu,{scope:c,state:t,disabled:j,children:[(0,f.jsx)(G.sG.button,{type:"button",role:"checkbox","aria-checked":fA(t)?"mixed":t,"aria-required":i,"data-state":fB(t),"data-disabled":j?"":void 0,disabled:j,value:k,...n,ref:q,onKeyDown:(0,C.m)(a.onKeyDown,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,C.m)(a.onClick,a=>{u(a=>!!fA(a)||!a),s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})}),s&&(0,f.jsx)(fz,{control:o,bubbles:!r.current,name:d,value:k,checked:t,required:i,disabled:j,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!fA(h)&&h})]})});fw.displayName=fr;var fx="CheckboxIndicator",fy=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,g=fv(fx,c);return(0,f.jsx)(bv.C,{present:d||fA(g.state)||!0===g.state,children:(0,f.jsx)(G.sG.span,{"data-state":fB(g.state),"data-disabled":g.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});fy.displayName=fx;var fz=a=>{let{control:b,checked:c,bubbles:d=!0,defaultChecked:e,...h}=a,i=g.useRef(null),j=fq(c),k=bb(b);g.useEffect(()=>{let a=i.current,b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(j!==c&&b){let e=new Event("click",{bubbles:d});a.indeterminate=fA(c),b.call(a,!fA(c)&&c),a.dispatchEvent(e)}},[j,c,d]);let l=g.useRef(!fA(c)&&c);return(0,f.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e??l.current,...h,tabIndex:-1,ref:i,style:{...a.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function fA(a){return"indeterminate"===a}function fB(a){return fA(a)?"indeterminate":a?"checked":"unchecked"}let fC=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(fw,{ref:c,className:(0,w.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...b,children:(0,f.jsx)(fy,{className:(0,w.cn)("flex items-center justify-center text-current"),children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}));fC.displayName=fw.displayName;var fD=c(85009),fE=[" ","Enter","ArrowUp","ArrowDown"],fF=[" ","Enter"],fG="Select",[fH,fI,fJ]=(0,H.N)(fG),[fK,fL]=(0,E.A)(fG,[fJ,be]),fM=be(),[fN,fO]=fK(fG),[fP,fQ]=fK(fG),fR=a=>{let{__scopeSelect:b,children:c,open:d,defaultOpen:e,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=fM(b),[s,t]=g.useState(null),[u,v]=g.useState(null),[w,x]=g.useState(!1),y=J(l),[z=!1,A]=(0,F.i)({prop:d,defaultProp:e,onChange:h}),[B,C]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),D=g.useRef(null),E=!s||q||!!s.closest("form"),[G,H]=g.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,f.jsx)(bh,{...r,children:(0,f.jsxs)(fN,{required:p,scope:b,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:_(),value:B,onValueChange:C,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:D,disabled:o,children:[(0,f.jsx)(fH.Provider,{scope:b,children:(0,f.jsx)(fP,{scope:a.__scopeSelect,onNativeOptionAdd:g.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:g.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:c})}),E?(0,f.jsxs)(gs,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:B,onChange:a=>C(a.target.value),disabled:o,form:q,children:[void 0===B?(0,f.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};fR.displayName=fG;var fS="SelectTrigger",fT=g.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,h=fM(c),i=fO(fS,c),j=i.disabled||d,k=(0,D.s)(b,i.onTriggerChange),l=fI(c),m=g.useRef("touch"),[n,o,p]=gt(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=gu(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,f.jsx)(bj,{asChild:!0,...h,children:(0,f.jsx)(G.sG.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:j,"data-disabled":j?"":void 0,"data-placeholder":gr(i.value)?"":void 0,...e,ref:k,onClick:(0,C.m)(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,C.m)(e.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,C.m)(e.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&fE.includes(a.key)&&(q(),a.preventDefault())})})})});fT.displayName=fS;var fU="SelectValue",fV=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:g,placeholder:h="",...i}=a,j=fO(fU,c),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,D.s)(b,j.onValueNodeChange);return(0,Y.N)(()=>{k(l)},[k,l]),(0,f.jsx)(G.sG.span,{...i,ref:m,style:{pointerEvents:"none"},children:gr(j.value)?(0,f.jsx)(f.Fragment,{children:h}):g})});fV.displayName=fU;var fW=g.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});fW.displayName="SelectIcon";var fX=a=>(0,f.jsx)(bu.Z,{asChild:!0,...a});fX.displayName="SelectPortal";var fY="SelectContent",fZ=g.forwardRef((a,b)=>{let c=fO(fY,a.__scopeSelect),[d,e]=g.useState();return((0,Y.N)(()=>{e(new DocumentFragment)},[]),c.open)?(0,f.jsx)(f0,{...a,ref:b}):d?a4.createPortal((0,f.jsx)(f$,{scope:a.__scopeSelect,children:(0,f.jsx)(fH.Slot,{scope:a.__scopeSelect,children:(0,f.jsx)("div",{children:a.children})})}),d):null});fZ.displayName=fY;var[f$,f_]=fK(fY),f0=g.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=fO(fY,c),[v,w]=g.useState(null),[x,y]=g.useState(null),z=(0,D.s)(b,a=>w(a)),[A,B]=g.useState(null),[E,F]=g.useState(null),G=fI(c),[H,I]=g.useState(!1),J=g.useRef(!1);g.useEffect(()=>{if(v)return bT(v)},[v]),M();let L=g.useCallback(a=>{let[b,...c]=G().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[G,x]),N=g.useCallback(()=>L([A,v]),[L,A,v]);g.useEffect(()=>{H&&N()},[H,N]);let{onOpenChange:O,triggerPointerDownPosRef:P}=u;g.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(P.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(P.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||O(!1),document.removeEventListener("pointermove",b),P.current=null};return null!==P.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,O,P]),g.useEffect(()=>{let a=()=>O(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[O]);let[Q,R]=gt(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=gu(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),T=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&(B(a),d&&(J.current=!0))},[u.value]),U=g.useCallback(()=>v?.focus(),[v]),V=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&F(a)},[u.value]),W="popper"===d?f2:f1,X=W===f2?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,f.jsx)(f$,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:T,selectedItem:A,onItemLeave:U,itemTextRefCallback:V,focusSelectedItem:N,selectedItemText:E,position:d,isPositioned:H,searchRef:Q,children:(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,children:(0,f.jsx)(S,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,C.m)(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,f.jsx)(W,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...X,onPlaced:()=>I(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,C.m)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||R(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=G().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>L(b)),a.preventDefault()}})})})})})})});f0.displayName="SelectContentImpl";var f1=g.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,h=fO(fY,c),i=f_(fY,c),[j,k]=g.useState(null),[l,m]=g.useState(null),n=(0,D.s)(b,a=>m(a)),o=fI(c),p=g.useRef(!1),q=g.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=g.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==h.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.right=k+"px"}let f=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=s.offsetHeight/2,B=m+n+(s.offsetTop+A);if(B<=z){let a=f.length>0&&s===f[f.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-z,A+(a?y:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=B+b+"px"}else{let a=f.length>0&&s===f[0].ref.current;j.style.top="0px";let b=Math.max(z,m+r.offsetTop+(a?x:0)+A);j.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,d]);(0,Y.N)(()=>v(),[v]);let[w,x]=g.useState();(0,Y.N)(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]);let y=g.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,f.jsx)(f3,{scope:c,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,f.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,f.jsx)(G.sG.div,{...e,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});f1.displayName="SelectItemAlignedPosition";var f2=g.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...g}=a,h=fM(c);return(0,f.jsx)(bn,{...h,...g,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...g.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)"}})});f2.displayName="SelectPopperPosition";var[f3,f4]=fK(fY,{}),f5="SelectViewport",f6=g.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,h=f_(f5,c),i=f4(f5,c),j=(0,D.s)(b,h.onViewportChange),k=g.useRef(0);return(0,f.jsxs)(f.Fragment,{children:[(0,f.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:d}),(0,f.jsx)(fH.Slot,{scope:c,children:(0,f.jsx)(G.sG.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:(0,C.m)(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});f6.displayName=f5;var f7="SelectGroup",[f8,f9]=fK(f7);g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=_();return(0,f.jsx)(f8,{scope:c,id:e,children:(0,f.jsx)(G.sG.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=f7;var ga="SelectLabel",gb=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=f9(ga,c);return(0,f.jsx)(G.sG.div,{id:e.id,...d,ref:b})});gb.displayName=ga;var gc="SelectItem",[gd,ge]=fK(gc),gf=g.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:h,...i}=a,j=fO(gc,c),k=f_(gc,c),l=j.value===d,[m,n]=g.useState(h??""),[o,p]=g.useState(!1),q=(0,D.s)(b,a=>k.itemRefCallback?.(a,d,e)),r=_(),s=g.useRef("touch"),t=()=>{e||(j.onValueChange(d),j.onOpenChange(!1))};if(""===d)throw 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(0,f.jsx)(gd,{scope:c,value:d,disabled:e,textId:r,isSelected:l,onItemTextChange:g.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,f.jsx)(fH.ItemSlot,{scope:c,value:d,disabled:e,textValue:m,children:(0,f.jsx)(G.sG.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...i,ref:q,onFocus:(0,C.m)(i.onFocus,()=>p(!0)),onBlur:(0,C.m)(i.onBlur,()=>p(!1)),onClick:(0,C.m)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,C.m)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,C.m)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,C.m)(i.onPointerMove,a=>{s.current=a.pointerType,e?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,C.m)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,C.m)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(fF.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});gf.displayName=gc;var gg="SelectItemText",gh=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...h}=a,i=fO(gg,c),j=f_(gg,c),k=ge(gg,c),l=fQ(gg,c),[m,n]=g.useState(null),o=(0,D.s)(b,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=g.useMemo(()=>(0,f.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,Y.N)(()=>(r(q),()=>s(q)),[r,s,q]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(G.sG.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?a4.createPortal(h.children,i.valueNode):null]})});gh.displayName=gg;var gi="SelectItemIndicator",gj=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return ge(gi,c).isSelected?(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...d,ref:b}):null});gj.displayName=gi;var gk="SelectScrollUpButton",gl=g.forwardRef((a,b)=>{let c=f_(gk,a.__scopeSelect),d=f4(gk,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){h(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(go,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});gl.displayName=gk;var gm="SelectScrollDownButton",gn=g.forwardRef((a,b)=>{let c=f_(gm,a.__scopeSelect),d=f4(gm,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(go,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});gn.displayName=gm;var go=g.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,h=f_("SelectScrollButton",c),i=g.useRef(null),j=fI(c),k=g.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return g.useEffect(()=>()=>k(),[k]),(0,Y.N)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:(0,C.m)(e.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(d,50))}),onPointerMove:(0,C.m)(e.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(d,50))}),onPointerLeave:(0,C.m)(e.onPointerLeave,()=>{k()})})}),gp=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...d,ref:b})});gp.displayName="SelectSeparator";var gq="SelectArrow";function gr(a){return""===a||void 0===a}g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=fM(c),g=fO(gq,c),h=f_(gq,c);return g.open&&"popper"===h.position?(0,f.jsx)(bq,{...e,...d,ref:b}):null}).displayName=gq;var gs=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=g.useRef(null),h=(0,D.s)(b,e),i=fq(c);return g.useEffect(()=>{let a=e.current,b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==c&&b){let d=new Event("change",{bubbles:!0});b.call(a,c),a.dispatchEvent(d)}},[i,c]),(0,f.jsx)(fD.s,{asChild:!0,children:(0,f.jsx)("select",{...d,ref:h,defaultValue:c})})});function gt(a){let b=(0,O.c)(a),c=g.useRef(""),d=g.useRef(0),e=g.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=g.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function gu(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}gs.displayName="BubbleSelect";let gv=(0,k.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),gw=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(fT,{ref:d,className:(0,w.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...c,children:[b,(0,f.jsx)(fW,{asChild:!0,children:(0,f.jsx)(o,{className:"h-4 w-4 opacity-50"})})]}));gw.displayName=fT.displayName;let gx=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gl,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(gv,{className:"h-4 w-4"})}));gx.displayName=gl.displayName;let gy=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gn,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(o,{className:"h-4 w-4"})}));gy.displayName=gn.displayName;let gz=g.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,f.jsx)(fX,{children:(0,f.jsxs)(fZ,{ref:e,className:(0,w.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:[(0,f.jsx)(gx,{}),(0,f.jsx)(f6,{className:(0,w.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,f.jsx)(gy,{})]})}));gz.displayName=fZ.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gb,{ref:c,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",a),...b})).displayName=gb.displayName;let gA=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(gf,{ref:d,className:(0,w.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(gj,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),(0,f.jsx)(gh,{children:b})]}));gA.displayName=gf.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gp,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=gp.displayName;let gB=(0,k.A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),gC=(0,k.A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]),gD=(0,k.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),gE=(0,k.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[gF,gG]=(0,E.A)("Tooltip",[be]),gH=be(),gI="TooltipProvider",gJ="tooltip.open",[gK,gL]=gF(gI),gM=a=>{let{__scopeTooltip:b,delayDuration:c=700,skipDelayDuration:d=300,disableHoverableContent:e=!1,children:h}=a,[i,j]=g.useState(!0),k=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{let a=l.current;return()=>window.clearTimeout(a)},[]),(0,f.jsx)(gK,{scope:b,isOpenDelayed:i,delayDuration:c,onOpen:g.useCallback(()=>{window.clearTimeout(l.current),j(!1)},[]),onClose:g.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>j(!0),d)},[d]),isPointerInTransitRef:k,onPointerInTransitChange:g.useCallback(a=>{k.current=a},[]),disableHoverableContent:e,children:h})};gM.displayName=gI;var gN="Tooltip",[gO,gP]=gF(gN),gQ=a=>{let{__scopeTooltip:b,children:c,open:d,defaultOpen:e=!1,onOpenChange:h,disableHoverableContent:i,delayDuration:j}=a,k=gL(gN,a.__scopeTooltip),l=gH(b),[m,n]=g.useState(null),o=_(),p=g.useRef(0),q=i??k.disableHoverableContent,r=j??k.delayDuration,s=g.useRef(!1),[t=!1,u]=(0,F.i)({prop:d,defaultProp:e,onChange:a=>{a?(k.onOpen(),document.dispatchEvent(new CustomEvent(gJ))):k.onClose(),h?.(a)}}),v=g.useMemo(()=>t?s.current?"delayed-open":"instant-open":"closed",[t]),w=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,s.current=!1,u(!0)},[u]),x=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,u(!1)},[u]),y=g.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{s.current=!0,u(!0),p.current=0},r)},[r,u]);return g.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),(0,f.jsx)(bh,{...l,children:(0,f.jsx)(gO,{scope:b,contentId:o,open:t,stateAttribute:v,trigger:m,onTriggerChange:n,onTriggerEnter:g.useCallback(()=>{k.isOpenDelayed?y():w()},[k.isOpenDelayed,y,w]),onTriggerLeave:g.useCallback(()=>{q?x():(window.clearTimeout(p.current),p.current=0)},[x,q]),onOpen:w,onClose:x,disableHoverableContent:q,children:c})})};gQ.displayName=gN;var gR="TooltipTrigger",gS=g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gP(gR,c),h=gL(gR,c),i=gH(c),j=g.useRef(null),k=(0,D.s)(b,j,e.onTriggerChange),l=g.useRef(!1),m=g.useRef(!1),n=g.useCallback(()=>l.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",n),[n]),(0,f.jsx)(bj,{asChild:!0,...i,children:(0,f.jsx)(G.sG.button,{"aria-describedby":e.open?e.contentId:void 0,"data-state":e.stateAttribute,...d,ref:k,onPointerMove:(0,C.m)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(m.current||h.isPointerInTransitRef.current||(e.onTriggerEnter(),m.current=!0))}),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>{e.onTriggerLeave(),m.current=!1}),onPointerDown:(0,C.m)(a.onPointerDown,()=>{l.current=!0,document.addEventListener("pointerup",n,{once:!0})}),onFocus:(0,C.m)(a.onFocus,()=>{l.current||e.onOpen()}),onBlur:(0,C.m)(a.onBlur,e.onClose),onClick:(0,C.m)(a.onClick,e.onClose)})})});gS.displayName=gR;var gT="TooltipPortal",[gU,gV]=gF(gT,{forceMount:void 0}),gW=a=>{let{__scopeTooltip:b,forceMount:c,children:d,container:e}=a,g=gP(gT,b);return(0,f.jsx)(gU,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};gW.displayName=gT;var gX="TooltipContent",gY=g.forwardRef((a,b)=>{let c=gV(gX,a.__scopeTooltip),{forceMount:d=c.forceMount,side:e="top",...g}=a,h=gP(gX,a.__scopeTooltip);return(0,f.jsx)(bv.C,{present:d||h.open,children:h.disableHoverableContent?(0,f.jsx)(g0,{side:e,...g,ref:b}):(0,f.jsx)(gZ,{side:e,...g,ref:b})})}),gZ=g.forwardRef((a,b)=>{let c=gP(gX,a.__scopeTooltip),d=gL(gX,a.__scopeTooltip),e=g.useRef(null),h=(0,D.s)(b,e),[i,j]=g.useState(null),{trigger:k,onClose:l}=c,m=e.current,{onPointerInTransitChange:n}=d,o=g.useCallback(()=>{j(null),n(!1)},[n]),p=g.useCallback((a,b)=>{let c=a.currentTarget,d={x:a.clientX,y:a.clientY},e=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(d,c.getBoundingClientRect());j(function(a){let b=a.slice();return b.sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(b)}([...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(d,e),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())])),n(!0)},[n]);return g.useEffect(()=>()=>o(),[o]),g.useEffect(()=>{if(k&&m){let a=a=>p(a,m),b=a=>p(a,k);return k.addEventListener("pointerleave",a),m.addEventListener("pointerleave",b),()=>{k.removeEventListener("pointerleave",a),m.removeEventListener("pointerleave",b)}}},[k,m,p,o]),g.useEffect(()=>{if(i){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=k?.contains(b)||m?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}(c,i);d?o():e&&(o(),l())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[k,m,i,l,o]),(0,f.jsx)(g0,{...a,ref:h})}),[g$,g_]=gF(gN,{isInside:!1}),g0=g.forwardRef((a,b)=>{let{__scopeTooltip:c,children:d,"aria-label":e,onEscapeKeyDown:h,onPointerDownOutside:i,...j}=a,k=gP(gX,c),l=gH(c),{onClose:m}=k;return g.useEffect(()=>(document.addEventListener(gJ,m),()=>document.removeEventListener(gJ,m)),[m]),g.useEffect(()=>{if(k.trigger){let a=a=>{let b=a.target;b?.contains(k.trigger)&&m()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[k.trigger,m]),(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:m,children:(0,f.jsxs)(bn,{"data-state":k.stateAttribute,...l,...j,ref:b,style:{...j.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(bM.xV,{children:d}),(0,f.jsx)(g$,{scope:c,isInside:!0,children:(0,f.jsx)(fD.b,{id:k.contentId,role:"tooltip",children:e||d})})]})})});gY.displayName=gX;var g1="TooltipArrow";g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gH(c);return g_(g1,c).isInside?null:(0,f.jsx)(bq,{...e,...d,ref:b})}).displayName=g1;let g2=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(gW,{children:(0,f.jsx)(gY,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",a),...c})}));g2.displayName=gY.displayName;let g3=(0,k.A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),g4=(0,g.memo)(({onRefresh:a,disabled:b})=>{let[c,d]=(0,g.useState)(!1),e=async()=>{if(!c&&!b){d(!0);try{await a()}catch(a){console.error("Refresh failed:",a)}finally{setTimeout(()=>{d(!1)},500)}}};return(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:e,disabled:c||b,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g3,{className:"h-4 w-4"})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Refresh table data"})})]})})});g4.displayName="RefreshButton";let g5=(0,k.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var g6=c(99728);let g7=(0,g.memo)(({tableName:a,onSync:b})=>{let[c,d]=(0,g.useState)(!1),{toast:e}=(0,g6.dj)();if("d1_migrations"!==a)return null;let h=async()=>{try{d(!0);let a=await fetch("/api/migrations/sync-files",{method:"POST"}),c=await a.json();if(!a.ok)throw Error(c.error||"Failed to sync migrations");let{added:f=[],removed:g=[]}=c.details||{};e({title:"Migrations Synced",description:`Added: ${f.length}, Removed: ${g.length}`}),b&&await b()}catch(a){console.error("Error syncing migrations:",a),e({variant:"destructive",title:"Sync Failed",description:a.message})}finally{d(!1)}};return(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:h,disabled:c,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g5,{className:"h-4 w-4"})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});g7.displayName="SyncMigrationsButton";let g8=(0,k.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),g9=(0,k.A)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),ha=(0,k.A)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),hb=(0,k.A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),hc=(0,g.memo)(({tableName:a,onDownloadStart:b,onDownloadComplete:c,disabled:d})=>{let[e,h]=(0,g.useState)(!1),{toast:i}=(0,g6.dj)(),j=(a,b)=>{try{let c=new Blob([a],{type:"application/octet-stream"}),d=window.URL.createObjectURL(c),e=document.createElement("a");e.href=d,e.download=b,document.body.appendChild(e),e.click(),document.body.removeChild(e),window.URL.revokeObjectURL(d)}catch(a){throw console.error("Error during file download:",a),a}},k=async e=>{if(!d)try{h(!0),b?.();let d=await fetch(`/api/tables/${a}?export=true&page=1&limit=999999`),f=await d.json();if(!d.ok)throw Error(f.error||"Failed to fetch data");let{data:g,schema:k}=f;if(!g?.length)return void i({title:"No Data",description:"The table is empty.",variant:"destructive"});let l=new Date().toISOString().split("T")[0],m=`${a}_${l}.${e}`;switch(e){case"json":{let a=JSON.stringify(g,null,2);j(a,m);break}case"csv":{let a=Object.keys(g[0]),b=[a.join(","),...g.map(b=>a.map(a=>{let c=b[a];if(null==c)return"";if("string"==typeof c){let a=c.replace(/"/g,'""');return`"${a}"`}return c}).join(","))].join("\n");j(b,m);break}case"sql":{let b=`CREATE TABLE IF NOT EXISTS ${a} (
47
+ WHERE condition;`},fo={"Schema Information":["Show Tables","Table Schema","Table Indexes","Foreign Keys"],"Data Queries":["Table Data","Row Count","Column Stats"],"Schema Modification":["Create Table","Create View"]};function fp({onSelectQuery:a}){return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{variant:"outline",size:"sm",children:["Query Templates",(0,f.jsx)(o,{className:"ml-2 h-4 w-4"})]})}),(0,f.jsx)(dP,{align:"start",className:"w-72",children:Object.entries(fo).map(([b,c])=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:b}),c.map(b=>(0,f.jsx)(dQ,{onClick:()=>a(b),className:"font-sans text-neutral-800",children:b},b))]},b))})]})}function fq({initialQuery:a=""}){let{executeQuery:b,refreshTables:c}=(0,dR.t)(),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(!1),[j,k]=(0,g.useState)(300),[l,m]=(0,g.useState)(!1),n=(0,g.useRef)(null),o=(0,g.useRef)(null),p=(0,g.useCallback)(a=>{a.preventDefault();let b=a.pageY,c=a=>{k(Math.min(Math.max(j+(a.pageY-b),100),.8*window.innerHeight))},d=()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[j]),q=async()=>{if(!n.current)return;let a=n.current.getValue().trim().replace(/;+$/,"");if(!a)return void e({success:!1,error:{message:"Query cannot be empty."}});try{i(!0),e(null);let d=await b(a,{telemetryContext:{action:"sql_editor_run"}});/^(CREATE|DROP|ALTER)\s+TABLE/i.test(a)&&await c();let f=[];if(d.results){if(Array.isArray(d.results))if(d.results.length>0&&d.results[0]?.columns&&d.results[0]?.values){let a=d.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.results.length&&d.results[0].results&&Array.isArray(d.results[0].results)?d.results[0].results:d.results;else if(d.results.columns&&d.results.values){let a=d.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}else if(d.result&&d.result.results){if(Array.isArray(d.result.results))if(d.result.results.length>0&&d.result.results[0]?.columns&&d.result.results[0]?.values){let a=d.result.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.result.results.length&&d.result.results[0].results&&Array.isArray(d.result.results[0].results)?d.result.results[0].results:d.result.results;else if(d.result.results.columns&&d.result.results.values){let a=d.result.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}e({success:!0,results:f,target:d?.execution?.target||"local"})}catch(a){e({success:!1,error:fl(a)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,f.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,f.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,f.jsx)(fp,{onSelectQuery:a=>{if(n.current){let b=Object.keys(fn).find(b=>b.toLowerCase()===a.toLowerCase());if(b){let a=fn[b];n.current.setValue(a),n.current.focus(),(0,fj.w)("query_template_selected",{template:b})}else console.warn(`Query template not found for: ${a}`)}}})}),(0,f.jsx)("div",{ref:o,className:"relative pt-2 overflow-hidden",style:{height:`${j}px`,minHeight:"100px"},children:(0,f.jsx)(fc,{height:"100%",language:"sql",options:{minimap:{enabled:!1},fontSize:14,wordWrap:"on",automaticLayout:!0,lineNumbers:"on",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},onMount:a=>{n.current=a,a.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{q()})}})}),(0,f.jsx)("div",{className:`relative h-0.5 cursor-row-resize bg-neutral-200 group ${l?"bg-neutral-300":"hover:bg-neutral-300"}`,onMouseDown:a=>{m(!0),p(a)},onMouseUp:()=>m(!1),children:(0,f.jsx)("div",{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-neutral-900 rounded-sm px-0.5
48
+ ${l?"visible":"invisible group-hover:visible"}`,children:(0,f.jsx)(fd,{className:"h-3 w-3 text-white"})})}),(0,f.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,f.jsxs)("div",{className:"flex justify-between items-center",children:[(0,f.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,f.jsxs)(dT,{size:"sm",onClick:q,disabled:h,className:"flex items-center gap-1 text-sm font-medium",children:["Run",h?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(fe,{className:"h-4 w-4"}),(0,f.jsx)(ff,{className:"h-4 w-4"})]})]})]})}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(h)return(0,f.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!d)return(0,f.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!d.success)return console.debug("SQLEditor - Rendering error:",d.error),(0,f.jsx)(fh,{error:d.error});let a=d.results,b="remote"===d.target?"Remote":"Local";return a&&0!==a.length?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"text-xs text-neutral-500 mb-2",children:["Executed on: ",b]}),(0,f.jsx)(fi,{query:n.current?.getValue()||"",results:a})]}):(0,f.jsxs)("div",{className:"text-sm text-neutral-900 font-sans",children:["Success (",b,"). No results to display."]})})()})]})}function fr(a){let b=g.useRef({value:a,previous:a});return g.useMemo(()=>(b.current.value!==a&&(b.current.previous=b.current.value,b.current.value=a),b.current.previous),[a])}var fs="Checkbox",[ft,fu]=(0,E.A)(fs),[fv,fw]=ft(fs),fx=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:h,required:i,disabled:j,value:k="on",onCheckedChange:l,form:m,...n}=a,[o,p]=g.useState(null),q=(0,D.s)(b,a=>p(a)),r=g.useRef(!1),s=!o||m||!!o.closest("form"),[t=!1,u]=(0,F.i)({prop:e,defaultProp:h,onChange:l}),v=g.useRef(t);return g.useEffect(()=>{let a=o?.form;if(a){let b=()=>u(v.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[o,u]),(0,f.jsxs)(fv,{scope:c,state:t,disabled:j,children:[(0,f.jsx)(G.sG.button,{type:"button",role:"checkbox","aria-checked":fB(t)?"mixed":t,"aria-required":i,"data-state":fC(t),"data-disabled":j?"":void 0,disabled:j,value:k,...n,ref:q,onKeyDown:(0,C.m)(a.onKeyDown,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,C.m)(a.onClick,a=>{u(a=>!!fB(a)||!a),s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})}),s&&(0,f.jsx)(fA,{control:o,bubbles:!r.current,name:d,value:k,checked:t,required:i,disabled:j,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!fB(h)&&h})]})});fx.displayName=fs;var fy="CheckboxIndicator",fz=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,g=fw(fy,c);return(0,f.jsx)(bv.C,{present:d||fB(g.state)||!0===g.state,children:(0,f.jsx)(G.sG.span,{"data-state":fC(g.state),"data-disabled":g.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});fz.displayName=fy;var fA=a=>{let{control:b,checked:c,bubbles:d=!0,defaultChecked:e,...h}=a,i=g.useRef(null),j=fr(c),k=bb(b);g.useEffect(()=>{let a=i.current,b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(j!==c&&b){let e=new Event("click",{bubbles:d});a.indeterminate=fB(c),b.call(a,!fB(c)&&c),a.dispatchEvent(e)}},[j,c,d]);let l=g.useRef(!fB(c)&&c);return(0,f.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e??l.current,...h,tabIndex:-1,ref:i,style:{...a.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function fB(a){return"indeterminate"===a}function fC(a){return fB(a)?"indeterminate":a?"checked":"unchecked"}let fD=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(fx,{ref:c,className:(0,w.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...b,children:(0,f.jsx)(fz,{className:(0,w.cn)("flex items-center justify-center text-current"),children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}));fD.displayName=fx.displayName;var fE=c(85009),fF=[" ","Enter","ArrowUp","ArrowDown"],fG=[" ","Enter"],fH="Select",[fI,fJ,fK]=(0,H.N)(fH),[fL,fM]=(0,E.A)(fH,[fK,be]),fN=be(),[fO,fP]=fL(fH),[fQ,fR]=fL(fH),fS=a=>{let{__scopeSelect:b,children:c,open:d,defaultOpen:e,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=fN(b),[s,t]=g.useState(null),[u,v]=g.useState(null),[w,x]=g.useState(!1),y=J(l),[z=!1,A]=(0,F.i)({prop:d,defaultProp:e,onChange:h}),[B,C]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),D=g.useRef(null),E=!s||q||!!s.closest("form"),[G,H]=g.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,f.jsx)(bh,{...r,children:(0,f.jsxs)(fO,{required:p,scope:b,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:_(),value:B,onValueChange:C,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:D,disabled:o,children:[(0,f.jsx)(fI.Provider,{scope:b,children:(0,f.jsx)(fQ,{scope:a.__scopeSelect,onNativeOptionAdd:g.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:g.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:c})}),E?(0,f.jsxs)(gt,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:B,onChange:a=>C(a.target.value),disabled:o,form:q,children:[void 0===B?(0,f.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};fS.displayName=fH;var fT="SelectTrigger",fU=g.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,h=fN(c),i=fP(fT,c),j=i.disabled||d,k=(0,D.s)(b,i.onTriggerChange),l=fJ(c),m=g.useRef("touch"),[n,o,p]=gu(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=gv(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,f.jsx)(bj,{asChild:!0,...h,children:(0,f.jsx)(G.sG.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:j,"data-disabled":j?"":void 0,"data-placeholder":gs(i.value)?"":void 0,...e,ref:k,onClick:(0,C.m)(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,C.m)(e.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,C.m)(e.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&fF.includes(a.key)&&(q(),a.preventDefault())})})})});fU.displayName=fT;var fV="SelectValue",fW=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:g,placeholder:h="",...i}=a,j=fP(fV,c),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,D.s)(b,j.onValueNodeChange);return(0,Y.N)(()=>{k(l)},[k,l]),(0,f.jsx)(G.sG.span,{...i,ref:m,style:{pointerEvents:"none"},children:gs(j.value)?(0,f.jsx)(f.Fragment,{children:h}):g})});fW.displayName=fV;var fX=g.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});fX.displayName="SelectIcon";var fY=a=>(0,f.jsx)(bu.Z,{asChild:!0,...a});fY.displayName="SelectPortal";var fZ="SelectContent",f$=g.forwardRef((a,b)=>{let c=fP(fZ,a.__scopeSelect),[d,e]=g.useState();return((0,Y.N)(()=>{e(new DocumentFragment)},[]),c.open)?(0,f.jsx)(f1,{...a,ref:b}):d?a4.createPortal((0,f.jsx)(f_,{scope:a.__scopeSelect,children:(0,f.jsx)(fI.Slot,{scope:a.__scopeSelect,children:(0,f.jsx)("div",{children:a.children})})}),d):null});f$.displayName=fZ;var[f_,f0]=fL(fZ),f1=g.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=fP(fZ,c),[v,w]=g.useState(null),[x,y]=g.useState(null),z=(0,D.s)(b,a=>w(a)),[A,B]=g.useState(null),[E,F]=g.useState(null),G=fJ(c),[H,I]=g.useState(!1),J=g.useRef(!1);g.useEffect(()=>{if(v)return bT(v)},[v]),M();let L=g.useCallback(a=>{let[b,...c]=G().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[G,x]),N=g.useCallback(()=>L([A,v]),[L,A,v]);g.useEffect(()=>{H&&N()},[H,N]);let{onOpenChange:O,triggerPointerDownPosRef:P}=u;g.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(P.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(P.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||O(!1),document.removeEventListener("pointermove",b),P.current=null};return null!==P.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,O,P]),g.useEffect(()=>{let a=()=>O(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[O]);let[Q,R]=gu(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=gv(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),T=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&(B(a),d&&(J.current=!0))},[u.value]),U=g.useCallback(()=>v?.focus(),[v]),V=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&F(a)},[u.value]),W="popper"===d?f3:f2,X=W===f3?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,f.jsx)(f_,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:T,selectedItem:A,onItemLeave:U,itemTextRefCallback:V,focusSelectedItem:N,selectedItemText:E,position:d,isPositioned:H,searchRef:Q,children:(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,children:(0,f.jsx)(S,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,C.m)(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,f.jsx)(W,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...X,onPlaced:()=>I(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,C.m)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||R(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=G().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>L(b)),a.preventDefault()}})})})})})})});f1.displayName="SelectContentImpl";var f2=g.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,h=fP(fZ,c),i=f0(fZ,c),[j,k]=g.useState(null),[l,m]=g.useState(null),n=(0,D.s)(b,a=>m(a)),o=fJ(c),p=g.useRef(!1),q=g.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=g.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==h.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.right=k+"px"}let f=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=s.offsetHeight/2,B=m+n+(s.offsetTop+A);if(B<=z){let a=f.length>0&&s===f[f.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-z,A+(a?y:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=B+b+"px"}else{let a=f.length>0&&s===f[0].ref.current;j.style.top="0px";let b=Math.max(z,m+r.offsetTop+(a?x:0)+A);j.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,d]);(0,Y.N)(()=>v(),[v]);let[w,x]=g.useState();(0,Y.N)(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]);let y=g.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,f.jsx)(f4,{scope:c,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,f.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,f.jsx)(G.sG.div,{...e,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});f2.displayName="SelectItemAlignedPosition";var f3=g.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...g}=a,h=fN(c);return(0,f.jsx)(bn,{...h,...g,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...g.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)"}})});f3.displayName="SelectPopperPosition";var[f4,f5]=fL(fZ,{}),f6="SelectViewport",f7=g.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,h=f0(f6,c),i=f5(f6,c),j=(0,D.s)(b,h.onViewportChange),k=g.useRef(0);return(0,f.jsxs)(f.Fragment,{children:[(0,f.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:d}),(0,f.jsx)(fI.Slot,{scope:c,children:(0,f.jsx)(G.sG.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:(0,C.m)(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});f7.displayName=f6;var f8="SelectGroup",[f9,ga]=fL(f8);g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=_();return(0,f.jsx)(f9,{scope:c,id:e,children:(0,f.jsx)(G.sG.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=f8;var gb="SelectLabel",gc=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=ga(gb,c);return(0,f.jsx)(G.sG.div,{id:e.id,...d,ref:b})});gc.displayName=gb;var gd="SelectItem",[ge,gf]=fL(gd),gg=g.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:h,...i}=a,j=fP(gd,c),k=f0(gd,c),l=j.value===d,[m,n]=g.useState(h??""),[o,p]=g.useState(!1),q=(0,D.s)(b,a=>k.itemRefCallback?.(a,d,e)),r=_(),s=g.useRef("touch"),t=()=>{e||(j.onValueChange(d),j.onOpenChange(!1))};if(""===d)throw 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(0,f.jsx)(ge,{scope:c,value:d,disabled:e,textId:r,isSelected:l,onItemTextChange:g.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,f.jsx)(fI.ItemSlot,{scope:c,value:d,disabled:e,textValue:m,children:(0,f.jsx)(G.sG.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...i,ref:q,onFocus:(0,C.m)(i.onFocus,()=>p(!0)),onBlur:(0,C.m)(i.onBlur,()=>p(!1)),onClick:(0,C.m)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,C.m)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,C.m)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,C.m)(i.onPointerMove,a=>{s.current=a.pointerType,e?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,C.m)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,C.m)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(fG.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});gg.displayName=gd;var gh="SelectItemText",gi=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...h}=a,i=fP(gh,c),j=f0(gh,c),k=gf(gh,c),l=fR(gh,c),[m,n]=g.useState(null),o=(0,D.s)(b,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=g.useMemo(()=>(0,f.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,Y.N)(()=>(r(q),()=>s(q)),[r,s,q]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(G.sG.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?a4.createPortal(h.children,i.valueNode):null]})});gi.displayName=gh;var gj="SelectItemIndicator",gk=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return gf(gj,c).isSelected?(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...d,ref:b}):null});gk.displayName=gj;var gl="SelectScrollUpButton",gm=g.forwardRef((a,b)=>{let c=f0(gl,a.__scopeSelect),d=f5(gl,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){h(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(gp,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});gm.displayName=gl;var gn="SelectScrollDownButton",go=g.forwardRef((a,b)=>{let c=f0(gn,a.__scopeSelect),d=f5(gn,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(gp,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});go.displayName=gn;var gp=g.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,h=f0("SelectScrollButton",c),i=g.useRef(null),j=fJ(c),k=g.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return g.useEffect(()=>()=>k(),[k]),(0,Y.N)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:(0,C.m)(e.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(d,50))}),onPointerMove:(0,C.m)(e.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(d,50))}),onPointerLeave:(0,C.m)(e.onPointerLeave,()=>{k()})})}),gq=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...d,ref:b})});gq.displayName="SelectSeparator";var gr="SelectArrow";function gs(a){return""===a||void 0===a}g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=fN(c),g=fP(gr,c),h=f0(gr,c);return g.open&&"popper"===h.position?(0,f.jsx)(bq,{...e,...d,ref:b}):null}).displayName=gr;var gt=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=g.useRef(null),h=(0,D.s)(b,e),i=fr(c);return g.useEffect(()=>{let a=e.current,b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==c&&b){let d=new Event("change",{bubbles:!0});b.call(a,c),a.dispatchEvent(d)}},[i,c]),(0,f.jsx)(fE.s,{asChild:!0,children:(0,f.jsx)("select",{...d,ref:h,defaultValue:c})})});function gu(a){let b=(0,O.c)(a),c=g.useRef(""),d=g.useRef(0),e=g.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=g.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function gv(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}gt.displayName="BubbleSelect";let gw=(0,k.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),gx=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(fU,{ref:d,className:(0,w.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...c,children:[b,(0,f.jsx)(fX,{asChild:!0,children:(0,f.jsx)(o,{className:"h-4 w-4 opacity-50"})})]}));gx.displayName=fU.displayName;let gy=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gm,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(gw,{className:"h-4 w-4"})}));gy.displayName=gm.displayName;let gz=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(go,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(o,{className:"h-4 w-4"})}));gz.displayName=go.displayName;let gA=g.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,f.jsx)(fY,{children:(0,f.jsxs)(f$,{ref:e,className:(0,w.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:[(0,f.jsx)(gy,{}),(0,f.jsx)(f7,{className:(0,w.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,f.jsx)(gz,{})]})}));gA.displayName=f$.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gc,{ref:c,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",a),...b})).displayName=gc.displayName;let gB=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(gg,{ref:d,className:(0,w.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(gk,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),(0,f.jsx)(gi,{children:b})]}));gB.displayName=gg.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gq,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=gq.displayName;let gC=(0,k.A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),gD=(0,k.A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]),gE=(0,k.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),gF=(0,k.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[gG,gH]=(0,E.A)("Tooltip",[be]),gI=be(),gJ="TooltipProvider",gK="tooltip.open",[gL,gM]=gG(gJ),gN=a=>{let{__scopeTooltip:b,delayDuration:c=700,skipDelayDuration:d=300,disableHoverableContent:e=!1,children:h}=a,[i,j]=g.useState(!0),k=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{let a=l.current;return()=>window.clearTimeout(a)},[]),(0,f.jsx)(gL,{scope:b,isOpenDelayed:i,delayDuration:c,onOpen:g.useCallback(()=>{window.clearTimeout(l.current),j(!1)},[]),onClose:g.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>j(!0),d)},[d]),isPointerInTransitRef:k,onPointerInTransitChange:g.useCallback(a=>{k.current=a},[]),disableHoverableContent:e,children:h})};gN.displayName=gJ;var gO="Tooltip",[gP,gQ]=gG(gO),gR=a=>{let{__scopeTooltip:b,children:c,open:d,defaultOpen:e=!1,onOpenChange:h,disableHoverableContent:i,delayDuration:j}=a,k=gM(gO,a.__scopeTooltip),l=gI(b),[m,n]=g.useState(null),o=_(),p=g.useRef(0),q=i??k.disableHoverableContent,r=j??k.delayDuration,s=g.useRef(!1),[t=!1,u]=(0,F.i)({prop:d,defaultProp:e,onChange:a=>{a?(k.onOpen(),document.dispatchEvent(new CustomEvent(gK))):k.onClose(),h?.(a)}}),v=g.useMemo(()=>t?s.current?"delayed-open":"instant-open":"closed",[t]),w=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,s.current=!1,u(!0)},[u]),x=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,u(!1)},[u]),y=g.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{s.current=!0,u(!0),p.current=0},r)},[r,u]);return g.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),(0,f.jsx)(bh,{...l,children:(0,f.jsx)(gP,{scope:b,contentId:o,open:t,stateAttribute:v,trigger:m,onTriggerChange:n,onTriggerEnter:g.useCallback(()=>{k.isOpenDelayed?y():w()},[k.isOpenDelayed,y,w]),onTriggerLeave:g.useCallback(()=>{q?x():(window.clearTimeout(p.current),p.current=0)},[x,q]),onOpen:w,onClose:x,disableHoverableContent:q,children:c})})};gR.displayName=gO;var gS="TooltipTrigger",gT=g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gQ(gS,c),h=gM(gS,c),i=gI(c),j=g.useRef(null),k=(0,D.s)(b,j,e.onTriggerChange),l=g.useRef(!1),m=g.useRef(!1),n=g.useCallback(()=>l.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",n),[n]),(0,f.jsx)(bj,{asChild:!0,...i,children:(0,f.jsx)(G.sG.button,{"aria-describedby":e.open?e.contentId:void 0,"data-state":e.stateAttribute,...d,ref:k,onPointerMove:(0,C.m)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(m.current||h.isPointerInTransitRef.current||(e.onTriggerEnter(),m.current=!0))}),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>{e.onTriggerLeave(),m.current=!1}),onPointerDown:(0,C.m)(a.onPointerDown,()=>{l.current=!0,document.addEventListener("pointerup",n,{once:!0})}),onFocus:(0,C.m)(a.onFocus,()=>{l.current||e.onOpen()}),onBlur:(0,C.m)(a.onBlur,e.onClose),onClick:(0,C.m)(a.onClick,e.onClose)})})});gT.displayName=gS;var gU="TooltipPortal",[gV,gW]=gG(gU,{forceMount:void 0}),gX=a=>{let{__scopeTooltip:b,forceMount:c,children:d,container:e}=a,g=gQ(gU,b);return(0,f.jsx)(gV,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};gX.displayName=gU;var gY="TooltipContent",gZ=g.forwardRef((a,b)=>{let c=gW(gY,a.__scopeTooltip),{forceMount:d=c.forceMount,side:e="top",...g}=a,h=gQ(gY,a.__scopeTooltip);return(0,f.jsx)(bv.C,{present:d||h.open,children:h.disableHoverableContent?(0,f.jsx)(g1,{side:e,...g,ref:b}):(0,f.jsx)(g$,{side:e,...g,ref:b})})}),g$=g.forwardRef((a,b)=>{let c=gQ(gY,a.__scopeTooltip),d=gM(gY,a.__scopeTooltip),e=g.useRef(null),h=(0,D.s)(b,e),[i,j]=g.useState(null),{trigger:k,onClose:l}=c,m=e.current,{onPointerInTransitChange:n}=d,o=g.useCallback(()=>{j(null),n(!1)},[n]),p=g.useCallback((a,b)=>{let c=a.currentTarget,d={x:a.clientX,y:a.clientY},e=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(d,c.getBoundingClientRect());j(function(a){let b=a.slice();return b.sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(b)}([...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(d,e),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())])),n(!0)},[n]);return g.useEffect(()=>()=>o(),[o]),g.useEffect(()=>{if(k&&m){let a=a=>p(a,m),b=a=>p(a,k);return k.addEventListener("pointerleave",a),m.addEventListener("pointerleave",b),()=>{k.removeEventListener("pointerleave",a),m.removeEventListener("pointerleave",b)}}},[k,m,p,o]),g.useEffect(()=>{if(i){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=k?.contains(b)||m?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}(c,i);d?o():e&&(o(),l())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[k,m,i,l,o]),(0,f.jsx)(g1,{...a,ref:h})}),[g_,g0]=gG(gO,{isInside:!1}),g1=g.forwardRef((a,b)=>{let{__scopeTooltip:c,children:d,"aria-label":e,onEscapeKeyDown:h,onPointerDownOutside:i,...j}=a,k=gQ(gY,c),l=gI(c),{onClose:m}=k;return g.useEffect(()=>(document.addEventListener(gK,m),()=>document.removeEventListener(gK,m)),[m]),g.useEffect(()=>{if(k.trigger){let a=a=>{let b=a.target;b?.contains(k.trigger)&&m()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[k.trigger,m]),(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:m,children:(0,f.jsxs)(bn,{"data-state":k.stateAttribute,...l,...j,ref:b,style:{...j.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(bM.xV,{children:d}),(0,f.jsx)(g_,{scope:c,isInside:!0,children:(0,f.jsx)(fE.b,{id:k.contentId,role:"tooltip",children:e||d})})]})})});gZ.displayName=gY;var g2="TooltipArrow";g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gI(c);return g0(g2,c).isInside?null:(0,f.jsx)(bq,{...e,...d,ref:b})}).displayName=g2;let g3=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(gX,{children:(0,f.jsx)(gZ,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",a),...c})}));g3.displayName=gZ.displayName;let g4=(0,k.A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),g5=(0,g.memo)(({onRefresh:a,disabled:b})=>{let[c,d]=(0,g.useState)(!1),e=async()=>{if(!c&&!b){d(!0);try{await a()}catch(a){console.error("Refresh failed:",a)}finally{setTimeout(()=>{d(!1)},500)}}};return(0,f.jsx)(gN,{children:(0,f.jsxs)(gR,{children:[(0,f.jsx)(gT,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:e,disabled:c||b,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g4,{className:"h-4 w-4"})})}),(0,f.jsx)(g3,{children:(0,f.jsx)("p",{children:"Refresh table data"})})]})})});g5.displayName="RefreshButton";let g6=(0,k.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var g7=c(99728);let g8=(0,g.memo)(({tableName:a,onSync:b})=>{let[c,d]=(0,g.useState)(!1),{toast:e}=(0,g7.dj)();if("d1_migrations"!==a)return null;let h=async()=>{try{d(!0);let a=await fetch("/api/migrations/sync-files",{method:"POST"}),c=await a.json();if(!a.ok)throw Error(c.error||"Failed to sync migrations");let{added:f=[],removed:g=[]}=c.details||{};e({title:"Migrations Synced",description:`Added: ${f.length}, Removed: ${g.length}`}),b&&await b()}catch(a){console.error("Error syncing migrations:",a),e({variant:"destructive",title:"Sync Failed",description:a.message})}finally{d(!1)}};return(0,f.jsx)(gN,{children:(0,f.jsxs)(gR,{children:[(0,f.jsx)(gT,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:h,disabled:c,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g6,{className:"h-4 w-4"})})}),(0,f.jsx)(g3,{children:(0,f.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});g8.displayName="SyncMigrationsButton";let g9=(0,k.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),ha=(0,k.A)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),hb=(0,k.A)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),hc=(0,k.A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),hd=(0,g.memo)(({tableName:a,onDownloadStart:b,onDownloadComplete:c,disabled:d})=>{let[e,h]=(0,g.useState)(!1),{toast:i}=(0,g7.dj)(),j=(a,b)=>{try{let c=new Blob([a],{type:"application/octet-stream"}),d=window.URL.createObjectURL(c),e=document.createElement("a");e.href=d,e.download=b,document.body.appendChild(e),e.click(),document.body.removeChild(e),window.URL.revokeObjectURL(d)}catch(a){throw console.error("Error during file download:",a),a}},k=async e=>{if(!d)try{h(!0),b?.();let d=await fetch(`/api/tables/${a}?export=true&page=1&limit=999999`),f=await d.json();if(!d.ok)throw Error(f.error||"Failed to fetch data");let{data:g,schema:k}=f;if(!g?.length)return void i({title:"No Data",description:"The table is empty.",variant:"destructive"});let l=new Date().toISOString().split("T")[0],m=`${a}_${l}.${e}`;switch(e){case"json":{let a=JSON.stringify(g,null,2);j(a,m);break}case"csv":{let a=Object.keys(g[0]),b=[a.join(","),...g.map(b=>a.map(a=>{let c=b[a];if(null==c)return"";if("string"==typeof c){let a=c.replace(/"/g,'""');return`"${a}"`}return c}).join(","))].join("\n");j(b,m);break}case"sql":{let b=`CREATE TABLE IF NOT EXISTS ${a} (
49
49
  `+k.map(a=>{let b=[];return a.pk&&b.push("PRIMARY KEY"),a.notnull||b.push("NOT NULL"),` ${a.name} ${a.type}${b.length?` ${b.join(" ")}`:""}`}).join(",\n")+"\n);\n\n",c=g.map(b=>{let c=Object.keys(b),d=c.map(a=>{let c=b[a];return null===c?"NULL":"string"==typeof c?`'${c.replace(/'/g,"''")}'`:c});return`INSERT INTO ${a} (${c.join(", ")})
50
- VALUES (${d.join(", ")});`}).join("\n");j(b+c,m)}}i({title:"Download Complete",description:`${g.length} rows exported as ${e.toUpperCase()}.`}),c?.()}catch(a){console.error("Download error:",a),i({variant:"destructive",title:"Download Failed",description:a.message})}finally{h(!1)}};return(0,f.jsxs)(dy,{children:[(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",disabled:e||d,children:e?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g8,{className:"h-4 w-4"})})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Download table data"})})]})}),(0,f.jsxs)(dP,{align:"end",children:[(0,f.jsxs)(dQ,{onClick:()=>k("json"),disabled:d,children:[(0,f.jsx)(g9,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download JSON"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("csv"),disabled:d,children:[(0,f.jsx)(ha,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download CSV"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("sql"),disabled:d,children:[(0,f.jsx)(hb,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download SQL"})]})]})]})});hc.displayName="DownloadButton";let hd=(0,k.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),he=function({schema:a=[],visibleColumns:b=[],onColumnToggle:c}){let[d,e]=(0,g.useState)(""),h=a.filter(a=>a.name.toLowerCase().includes(d.toLowerCase())),i=h.map(a=>a.name),j=i.length>0&&i.every(a=>b.includes(a));return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,f.jsx)(hd,{className:"h-4 w-4"}),"Columns (",b.length,")"]})}),(0,f.jsxs)(dP,{align:"end",className:"w-64 font-sans",children:[(0,f.jsx)("div",{className:"p-2",children:(0,f.jsx)(x,{placeholder:"Search columns...",value:d,onChange:a=>e(a.target.value),className:"h-8"})}),(0,f.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fC,{id:"select-all-columns",checked:j,onCheckedChange:a=>{a?h.forEach(a=>{b.includes(a.name)||c(a.name)}):h.forEach(a=>{b.includes(a.name)&&c(a.name)})},className:"shrink-0"}),(0,f.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",d&&"(Filtered)"]})]}),(0,f.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:h.map(a=>(0,f.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fC,{id:`column-${a.name}`,checked:b.includes(a.name),onCheckedChange:()=>{c(a.name)},className:"mt-1"}),(0,f.jsxs)("label",{htmlFor:`column-${a.name}`,className:"flex-1 cursor-pointer",children:[(0,f.jsx)("div",{className:"text-sm font-medium",children:a.name}),(0,f.jsx)("div",{className:"text-xs text-muted-foreground",children:a.type.toLowerCase()})]})]},a.name))})]})]})},hf=(0,g.memo)(({onAdd:a,onDelete:b,onImport:c,selectedCount:d,disabled:e,readOnly:g,newRecordsCount:h,schema:i,visibleColumns:j,onColumnToggle:k,showFilters:l,onToggleFilters:m,activeFilterCount:n})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsxs)(dT,{size:"sm",variant:l?"default":"outline",className:"font-semibold gap-1",onClick:m,children:[(0,f.jsx)(gB,{className:"h-4 w-4"}),"Filters",n>0&&(0,f.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:n})]}),(0,f.jsx)(he,{schema:i,visibleColumns:j,onColumnToggle:k}),(0,f.jsx)("div",{className:"h-4 border-r mx-2"}),(0,f.jsx)(dT,{size:"sm",variant:"default",className:"font-semibold",onClick:a,disabled:g,children:"Add record"}),(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",onClick:c,disabled:e||g,children:[(0,f.jsx)(gC,{className:"h-4 w-4"}),"Import"]})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Import CSV or JSON"})})]})}),d>0&&(0,f.jsxs)(dT,{size:"sm",className:"font-semibold",onClick:b,variant:"destructive",disabled:e||h>0||g,children:["Delete ",d," ",1===d?"record":"records"]})]})),hg=(0,g.memo)(({totalRows:a})=>(0,f.jsxs)("span",{className:"text-sm text-neutral-600",children:[a," ",1===a?"row":"rows"]})),hh=(0,g.memo)(({currentPage:a,totalPages:b,onPageChange:c,disabled:d,newRecordsCount:e})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",a-1),c(a-1)},disabled:1===a||d||e>0,className:"h-8",children:(0,f.jsx)(gD,{className:"h-4 w-4"})}),(0,f.jsxs)("span",{className:"text-sm",children:["Page ",a," of ",b]}),(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",a+1),c(a+1)},disabled:a===b||d||e>0,className:"h-8",children:(0,f.jsx)(gE,{className:"h-4 w-4"})})]})),hi=(0,g.memo)(({value:a,onValueChange:b,disabled:c,newRecordsCount:d})=>(0,f.jsxs)(fR,{value:a.toString(),onValueChange:b,disabled:c||d>0,children:[(0,f.jsx)(gw,{className:"w-20 h-8",children:(0,f.jsx)(fV,{})}),(0,f.jsxs)(gz,{children:[(0,f.jsx)(gA,{value:"50",children:"50"}),(0,f.jsx)(gA,{value:"100",children:"100"}),(0,f.jsx)(gA,{value:"250",children:"250"})]})]})),hj=(0,g.memo)(({onSave:a,onDiscard:b,totalChanges:c,isSaving:d})=>(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"font-semibold",onClick:b,disabled:d,children:"Discard changes"}),(0,f.jsx)(dT,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:a,disabled:d,children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${c} ${1===c?"change":"changes"}`})]})),hk=({selectedCount:a=0,onAdd:b,onDelete:c,onImport:d,onRefresh:e,totalRows:g=0,currentPage:h=1,totalPages:i=1,onPageChange:j,rowsPerPage:k=50,onRowsPerPageChange:l,tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p=!1,readOnly:q=!1,editCount:r=0,newRecordsCount:s=0,onSaveChanges:t,onDiscardChanges:u,isSaving:v=!1,schema:w,visibleColumns:x,onColumnToggle:y,showFilters:z=!1,onToggleFilters:A,activeFilterCount:B=0})=>{let C=r+s;return(0,f.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,f.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,f.jsx)(hf,{onAdd:b,onDelete:c,onImport:d,selectedCount:a,disabled:p||v,readOnly:q,newRecordsCount:s,schema:w,visibleColumns:x,onColumnToggle:y,showFilters:z,onToggleFilters:A,activeFilterCount:B}),(0,f.jsx)("div",{className:"flex items-center gap-4",children:C>0&&!q?(0,f.jsx)(hj,{onSave:t,onDiscard:u,totalChanges:C,isSaving:v}):(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(hg,{totalRows:g}),(0,f.jsx)(hh,{currentPage:h,totalPages:i,onPageChange:j,disabled:p,newRecordsCount:s}),(0,f.jsx)(hi,{value:k,onValueChange:a=>{l(parseInt(a,10)),j(1)},disabled:p,newRecordsCount:s}),(0,f.jsx)(g4,{onRefresh:e,disabled:p}),(0,f.jsx)(g7,{tableName:m,onSync:e,disabled:p}),(0,f.jsx)(hc,{tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p})]})})]})})};hk.displayName="TableToolbar";let hl=(0,g.memo)(hk);function hm({value:a,row:b,column:c,schema:d,onChange:e,onStartEdit:h,isEditing:i,fkInfo:j,onShowRelation:k}){let l="string"==typeof a?a.replace(/^'|'$/g,""):a,[m,n]=(0,g.useState)(l),[o,p]=(0,g.useState)("auto"),q=(0,g.useRef)(null),r=(0,g.useRef)(null),s=d.find(a=>a.name===c),t=(0,g.useMemo)(()=>s?.check||null,[s]),u=(0,g.useMemo)(()=>{let a=s?.type?.toLowerCase()||"";return"boolean"===a||"bool"===a||"integer"===a&&c.toLowerCase().startsWith("is_")},[s,c]);s?.pk;let v=(0,g.useCallback)(a=>{let b=u?"true"===a?1:"false"===a?0:a:a;n(a),e?.(b)},[e,u]),w=(0,g.useCallback)(()=>{!i&&h&&h(l)},[i,h,l]),y="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",z=(0,g.useMemo)(()=>null==l?"null":u?1===l||"1"===l||"true"===l?"true":"false":l.toString(),[l,u]);return i?u?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fR,{value:z,onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:"Select value"})}),(0,f.jsxs)(gz,{className:"min-w-[8rem]",children:[(0,f.jsx)(gA,{value:"true",children:"true"}),(0,f.jsx)(gA,{value:"false",children:"false"})]})]})})}):t?.length>0?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fR,{value:m??t[0],onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:`Select ${c}`})}),(0,f.jsx)(gz,{className:"min-w-[8rem]",children:t.map(a=>(0,f.jsx)(gA,{value:a,children:a},a))})]})})}):(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)(x,{ref:r,value:m??"",onChange:a=>v(a.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,f.jsxs)(ex,{ref:q,className:`${y} relative group cursor-pointer hover:bg-muted/50`,onClick:w,children:[z,j&&(0,f.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:a=>{a.stopPropagation(),k?.()},title:`Show related ${j.table}`,children:(0,f.jsx)(gE,{className:"h-3 w-3 text-blue-500"})})]})}let hn=(0,k.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);function ho(a){return"string"==typeof a?a.replace(/^'|'$/g,""):a}function hp({schema:a,onRemove:b,onChange:c,showCheckbox:d=!1,initialData:e={}}){let[h,i]=(0,g.useState)(()=>a.reduce((a,b)=>{let c=e[b.name]??null;if(c=ho(c),1===b.pk&&(null===c||""===c))c="INTEGER"===b.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===c){let a=b.dflt_value&&"null"!==b.dflt_value?b.dflt_value:null;if(a){let d=ho(a);c=d.includes("randomblob")||d.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===b.type.toUpperCase()&&1===b.pk&&(d.includes("AUTOINCREMENT")||d.includes("AUTO_INCREMENT")||d.includes("nextval")||""===d||"0"===d)?"[Auto-generated INT]":d}else"INTEGER"===b.type.toUpperCase()?c="":"TEXT"===b.type.toUpperCase()&&(c="")}return a[b.name]=c,a},{}));(0,g.useRef)(!1);let j=(a,b)=>{let d={...h,[a]:b};i(d),c?.(d)};return(0,f.jsxs)(ev,{className:"bg-orange-50/50",children:[(0,f.jsx)(ex,{className:"w-10 p-0",children:(0,f.jsx)("div",{className:"pl-1 flex items-center",children:d?(0,f.jsx)(fC,{disabled:!0}):(0,f.jsx)(dT,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:b,children:(0,f.jsx)(hn,{className:"h-4 w-4"})})})}),a.map(a=>{let b=1===a.pk,c=a.check||null;if((a=>{let b=a.type?.toLowerCase()||"";return"boolean"===b||"bool"===b||"integer"===b&&a.name.toLowerCase().startsWith("is_")})(a)){let b="false";if(null!==a.dflt_value&&void 0!==a.dflt_value){let c=a.dflt_value.toString().toLowerCase();b="1"===c||"true"===c||"'true'"===c||'"true"'===c?"true":"false"}let c=null!==h[a.name]&&void 0!==h[a.name]?1===h[a.name]||!0===h[a.name]||"true"===h[a.name]?"true":"false":b;return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fR,{value:c,onValueChange:b=>j(a.name,+("true"===b)),children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${b}`,children:(0,f.jsx)(fV,{placeholder:`Select ${a.name}`})}),(0,f.jsxs)(gz,{className:"min-w-[8rem]",children:[(0,f.jsx)(gA,{value:"true",children:"true"}),(0,f.jsx)(gA,{value:"false",children:"false"})]})]})})},a.name)}if(c?.length>0)return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fR,{value:h[a.name]??c[0],onValueChange:b=>j(a.name,b),children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:`Select ${a.name}`})}),(0,f.jsx)(gz,{className:"min-w-[8rem]",children:c.map(a=>(0,f.jsx)(gA,{value:a,children:a},a))})]})})},a.name);let d=b&&("[Auto-generated INT]"===h[a.name]||"[Auto-generated UUID]"===h[a.name]||"[Auto-generated]"===h[a.name]);return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)(x,{value:d?"":h[a.name]??"",onChange:b=>j(a.name,b.target.value),disabled:d,className:`w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ${d?"opacity-50":""}`,placeholder:d?"Auto-generated":`Enter ${a.name}`})},a.name)})]})}var hq="Dialog",[hr,hs]=(0,E.A)(hq),[ht,hu]=hr(hq),hv=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:h,modal:i=!0}=a,j=g.useRef(null),k=g.useRef(null),[l=!1,m]=(0,F.i)({prop:d,defaultProp:e,onChange:h});return(0,f.jsx)(ht,{scope:b,triggerRef:j,contentRef:k,contentId:_(),titleId:_(),descriptionId:_(),open:l,onOpenChange:m,onOpenToggle:g.useCallback(()=>m(a=>!a),[m]),modal:i,children:c})};hv.displayName=hq;var hw="DialogTrigger";g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hw,c),g=(0,D.s)(b,e.triggerRef);return(0,f.jsx)(G.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":hP(e.open),...d,ref:g,onClick:(0,C.m)(a.onClick,e.onOpenToggle)})}).displayName=hw;var hx="DialogPortal",[hy,hz]=hr(hx,{forceMount:void 0}),hA=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,h=hu(hx,b);return(0,f.jsx)(hy,{scope:b,forceMount:c,children:g.Children.map(d,a=>(0,f.jsx)(bv.C,{present:c||h.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:a})}))})};hA.displayName=hx;var hB="DialogOverlay",hC=g.forwardRef((a,b)=>{let c=hz(hB,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hu(hB,a.__scopeDialog);return g.modal?(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(hD,{...e,ref:b})}):null});hC.displayName=hB;var hD=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hB,c);return(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,shards:[e.contentRef],children:(0,f.jsx)(G.sG.div,{"data-state":hP(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),hE="DialogContent",hF=g.forwardRef((a,b)=>{let c=hz(hE,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hu(hE,a.__scopeDialog);return(0,f.jsx)(bv.C,{present:d||g.open,children:g.modal?(0,f.jsx)(hG,{...e,ref:b}):(0,f.jsx)(hH,{...e,ref:b})})});hF.displayName=hE;var hG=g.forwardRef((a,b)=>{let c=hu(hE,a.__scopeDialog),d=g.useRef(null),e=(0,D.s)(b,c.contentRef,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(hI,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:(0,C.m)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault())})}),hH=g.forwardRef((a,b)=>{let c=hu(hE,a.__scopeDialog),d=g.useRef(!1),e=g.useRef(!1);return(0,f.jsx)(hI,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),hI=g.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:h,...i}=a,j=hu(hE,c),k=g.useRef(null),l=(0,D.s)(b,k);return M(),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(S,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:h,children:(0,f.jsx)(K.qW,{role:"dialog",id:j.contentId,"aria-describedby":j.descriptionId,"aria-labelledby":j.titleId,"data-state":hP(j.open),...i,ref:l,onDismiss:()=>j.onOpenChange(!1)})}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(hT,{titleId:j.titleId}),(0,f.jsx)(hU,{contentRef:k,descriptionId:j.descriptionId})]})]})}),hJ="DialogTitle",hK=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hJ,c);return(0,f.jsx)(G.sG.h2,{id:e.titleId,...d,ref:b})});hK.displayName=hJ;var hL="DialogDescription",hM=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hL,c);return(0,f.jsx)(G.sG.p,{id:e.descriptionId,...d,ref:b})});hM.displayName=hL;var hN="DialogClose",hO=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hN,c);return(0,f.jsx)(G.sG.button,{type:"button",...d,ref:b,onClick:(0,C.m)(a.onClick,()=>e.onOpenChange(!1))})});function hP(a){return a?"open":"closed"}hO.displayName=hN;var hQ="DialogTitleWarning",[hR,hS]=(0,E.q)(hQ,{contentName:hE,titleName:hJ,docsSlug:"dialog"}),hT=({titleId:a})=>{let b=hS(hQ),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
50
+ VALUES (${d.join(", ")});`}).join("\n");j(b+c,m)}}i({title:"Download Complete",description:`${g.length} rows exported as ${e.toUpperCase()}.`}),c?.()}catch(a){console.error("Download error:",a),i({variant:"destructive",title:"Download Failed",description:a.message})}finally{h(!1)}};return(0,f.jsxs)(dy,{children:[(0,f.jsx)(gN,{children:(0,f.jsxs)(gR,{children:[(0,f.jsx)(gT,{asChild:!0,children:(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",disabled:e||d,children:e?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g9,{className:"h-4 w-4"})})})}),(0,f.jsx)(g3,{children:(0,f.jsx)("p",{children:"Download table data"})})]})}),(0,f.jsxs)(dP,{align:"end",children:[(0,f.jsxs)(dQ,{onClick:()=>k("json"),disabled:d,children:[(0,f.jsx)(ha,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download JSON"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("csv"),disabled:d,children:[(0,f.jsx)(hb,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download CSV"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("sql"),disabled:d,children:[(0,f.jsx)(hc,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download SQL"})]})]})]})});hd.displayName="DownloadButton";let he=(0,k.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),hf=function({schema:a=[],visibleColumns:b=[],onColumnToggle:c}){let[d,e]=(0,g.useState)(""),h=a.filter(a=>a.name.toLowerCase().includes(d.toLowerCase())),i=h.map(a=>a.name),j=i.length>0&&i.every(a=>b.includes(a));return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,f.jsx)(he,{className:"h-4 w-4"}),"Columns (",b.length,")"]})}),(0,f.jsxs)(dP,{align:"end",className:"w-64 font-sans",children:[(0,f.jsx)("div",{className:"p-2",children:(0,f.jsx)(x,{placeholder:"Search columns...",value:d,onChange:a=>e(a.target.value),className:"h-8"})}),(0,f.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fD,{id:"select-all-columns",checked:j,onCheckedChange:a=>{a?h.forEach(a=>{b.includes(a.name)||c(a.name)}):h.forEach(a=>{b.includes(a.name)&&c(a.name)})},className:"shrink-0"}),(0,f.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",d&&"(Filtered)"]})]}),(0,f.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:h.map(a=>(0,f.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fD,{id:`column-${a.name}`,checked:b.includes(a.name),onCheckedChange:()=>{c(a.name)},className:"mt-1"}),(0,f.jsxs)("label",{htmlFor:`column-${a.name}`,className:"flex-1 cursor-pointer",children:[(0,f.jsx)("div",{className:"text-sm font-medium",children:a.name}),(0,f.jsx)("div",{className:"text-xs text-muted-foreground",children:a.type.toLowerCase()})]})]},a.name))})]})]})},hg=(0,g.memo)(({onAdd:a,onDelete:b,onImport:c,selectedCount:d,disabled:e,readOnly:g,newRecordsCount:h,schema:i,visibleColumns:j,onColumnToggle:k,showFilters:l,onToggleFilters:m,activeFilterCount:n})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsxs)(dT,{size:"sm",variant:l?"default":"outline",className:"font-semibold gap-1",onClick:m,children:[(0,f.jsx)(gC,{className:"h-4 w-4"}),"Filters",n>0&&(0,f.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:n})]}),(0,f.jsx)(hf,{schema:i,visibleColumns:j,onColumnToggle:k}),(0,f.jsx)("div",{className:"h-4 border-r mx-2"}),(0,f.jsx)(dT,{size:"sm",variant:"default",className:"font-semibold",onClick:a,disabled:g,children:"Add record"}),(0,f.jsx)(gN,{children:(0,f.jsxs)(gR,{children:[(0,f.jsx)(gT,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",onClick:c,disabled:e||g,children:[(0,f.jsx)(gD,{className:"h-4 w-4"}),"Import"]})}),(0,f.jsx)(g3,{children:(0,f.jsx)("p",{children:"Import CSV or JSON"})})]})}),d>0&&(0,f.jsxs)(dT,{size:"sm",className:"font-semibold",onClick:b,variant:"destructive",disabled:e||h>0||g,children:["Delete ",d," ",1===d?"record":"records"]})]})),hh=(0,g.memo)(({totalRows:a})=>(0,f.jsxs)("span",{className:"text-sm text-neutral-600",children:[a," ",1===a?"row":"rows"]})),hi=(0,g.memo)(({currentPage:a,totalPages:b,onPageChange:c,disabled:d,newRecordsCount:e})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",a-1),c(a-1)},disabled:1===a||d||e>0,className:"h-8",children:(0,f.jsx)(gE,{className:"h-4 w-4"})}),(0,f.jsxs)("span",{className:"text-sm",children:["Page ",a," of ",b]}),(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",a+1),c(a+1)},disabled:a===b||d||e>0,className:"h-8",children:(0,f.jsx)(gF,{className:"h-4 w-4"})})]})),hj=(0,g.memo)(({value:a,onValueChange:b,disabled:c,newRecordsCount:d})=>(0,f.jsxs)(fS,{value:a.toString(),onValueChange:b,disabled:c||d>0,children:[(0,f.jsx)(gx,{className:"w-20 h-8",children:(0,f.jsx)(fW,{})}),(0,f.jsxs)(gA,{children:[(0,f.jsx)(gB,{value:"50",children:"50"}),(0,f.jsx)(gB,{value:"100",children:"100"}),(0,f.jsx)(gB,{value:"250",children:"250"})]})]})),hk=(0,g.memo)(({onSave:a,onDiscard:b,totalChanges:c,isSaving:d})=>(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"font-semibold",onClick:b,disabled:d,children:"Discard changes"}),(0,f.jsx)(dT,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:a,disabled:d,children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${c} ${1===c?"change":"changes"}`})]})),hl=({selectedCount:a=0,onAdd:b,onDelete:c,onImport:d,onRefresh:e,totalRows:g=0,currentPage:h=1,totalPages:i=1,onPageChange:j,rowsPerPage:k=50,onRowsPerPageChange:l,tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p=!1,readOnly:q=!1,editCount:r=0,newRecordsCount:s=0,onSaveChanges:t,onDiscardChanges:u,isSaving:v=!1,schema:w,visibleColumns:x,onColumnToggle:y,showFilters:z=!1,onToggleFilters:A,activeFilterCount:B=0})=>{let C=r+s;return(0,f.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,f.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,f.jsx)(hg,{onAdd:b,onDelete:c,onImport:d,selectedCount:a,disabled:p||v,readOnly:q,newRecordsCount:s,schema:w,visibleColumns:x,onColumnToggle:y,showFilters:z,onToggleFilters:A,activeFilterCount:B}),(0,f.jsx)("div",{className:"flex items-center gap-4",children:C>0&&!q?(0,f.jsx)(hk,{onSave:t,onDiscard:u,totalChanges:C,isSaving:v}):(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(hh,{totalRows:g}),(0,f.jsx)(hi,{currentPage:h,totalPages:i,onPageChange:j,disabled:p,newRecordsCount:s}),(0,f.jsx)(hj,{value:k,onValueChange:a=>{l(parseInt(a,10)),j(1)},disabled:p,newRecordsCount:s}),(0,f.jsx)(g5,{onRefresh:e,disabled:p}),(0,f.jsx)(g8,{tableName:m,onSync:e,disabled:p}),(0,f.jsx)(hd,{tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p})]})})]})})};hl.displayName="TableToolbar";let hm=(0,g.memo)(hl);function hn({value:a,row:b,column:c,schema:d,onChange:e,onStartEdit:h,isEditing:i,fkInfo:j,onShowRelation:k}){let l="string"==typeof a?a.replace(/^'|'$/g,""):a,[m,n]=(0,g.useState)(l),[o,p]=(0,g.useState)("auto"),q=(0,g.useRef)(null),r=(0,g.useRef)(null),s=d.find(a=>a.name===c),t=(0,g.useMemo)(()=>s?.check||null,[s]),u=(0,g.useMemo)(()=>{let a=s?.type?.toLowerCase()||"";return"boolean"===a||"bool"===a||"integer"===a&&c.toLowerCase().startsWith("is_")},[s,c]);s?.pk;let v=(0,g.useCallback)(a=>{let b=u?"true"===a?1:"false"===a?0:a:a;n(a),e?.(b)},[e,u]),w=(0,g.useCallback)(()=>{!i&&h&&h(l)},[i,h,l]),y="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",z=(0,g.useMemo)(()=>null==l?"null":u?1===l||"1"===l||"true"===l?"true":"false":l.toString(),[l,u]);return i?u?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fS,{value:z,onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gx,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fW,{placeholder:"Select value"})}),(0,f.jsxs)(gA,{className:"min-w-[8rem]",children:[(0,f.jsx)(gB,{value:"true",children:"true"}),(0,f.jsx)(gB,{value:"false",children:"false"})]})]})})}):t?.length>0?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fS,{value:m??t[0],onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gx,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fW,{placeholder:`Select ${c}`})}),(0,f.jsx)(gA,{className:"min-w-[8rem]",children:t.map(a=>(0,f.jsx)(gB,{value:a,children:a},a))})]})})}):(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)(x,{ref:r,value:m??"",onChange:a=>v(a.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,f.jsxs)(ex,{ref:q,className:`${y} relative group cursor-pointer hover:bg-muted/50`,onClick:w,children:[z,j&&(0,f.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:a=>{a.stopPropagation(),k?.()},title:`Show related ${j.table}`,children:(0,f.jsx)(gF,{className:"h-3 w-3 text-blue-500"})})]})}let ho=(0,k.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);function hp(a){return"string"==typeof a?a.replace(/^'|'$/g,""):a}function hq({schema:a,onRemove:b,onChange:c,showCheckbox:d=!1,initialData:e={}}){let[h,i]=(0,g.useState)(()=>a.reduce((a,b)=>{let c=e[b.name]??null;if(c=hp(c),1===b.pk&&(null===c||""===c))c="INTEGER"===b.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===c){let a=b.dflt_value&&"null"!==b.dflt_value?b.dflt_value:null;if(a){let d=hp(a);c=d.includes("randomblob")||d.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===b.type.toUpperCase()&&1===b.pk&&(d.includes("AUTOINCREMENT")||d.includes("AUTO_INCREMENT")||d.includes("nextval")||""===d||"0"===d)?"[Auto-generated INT]":d}else"INTEGER"===b.type.toUpperCase()?c="":"TEXT"===b.type.toUpperCase()&&(c="")}return a[b.name]=c,a},{}));(0,g.useRef)(!1);let j=(a,b)=>{let d={...h,[a]:b};i(d),c?.(d)};return(0,f.jsxs)(ev,{className:"bg-orange-50/50",children:[(0,f.jsx)(ex,{className:"w-10 p-0",children:(0,f.jsx)("div",{className:"pl-1 flex items-center",children:d?(0,f.jsx)(fD,{disabled:!0}):(0,f.jsx)(dT,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:b,children:(0,f.jsx)(ho,{className:"h-4 w-4"})})})}),a.map(a=>{let b=1===a.pk,c=a.check||null;if((a=>{let b=a.type?.toLowerCase()||"";return"boolean"===b||"bool"===b||"integer"===b&&a.name.toLowerCase().startsWith("is_")})(a)){let b="false";if(null!==a.dflt_value&&void 0!==a.dflt_value){let c=a.dflt_value.toString().toLowerCase();b="1"===c||"true"===c||"'true'"===c||'"true"'===c?"true":"false"}let c=null!==h[a.name]&&void 0!==h[a.name]?1===h[a.name]||!0===h[a.name]||"true"===h[a.name]?"true":"false":b;return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fS,{value:c,onValueChange:b=>j(a.name,+("true"===b)),children:[(0,f.jsx)(gx,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${b}`,children:(0,f.jsx)(fW,{placeholder:`Select ${a.name}`})}),(0,f.jsxs)(gA,{className:"min-w-[8rem]",children:[(0,f.jsx)(gB,{value:"true",children:"true"}),(0,f.jsx)(gB,{value:"false",children:"false"})]})]})})},a.name)}if(c?.length>0)return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fS,{value:h[a.name]??c[0],onValueChange:b=>j(a.name,b),children:[(0,f.jsx)(gx,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fW,{placeholder:`Select ${a.name}`})}),(0,f.jsx)(gA,{className:"min-w-[8rem]",children:c.map(a=>(0,f.jsx)(gB,{value:a,children:a},a))})]})})},a.name);let d=b&&("[Auto-generated INT]"===h[a.name]||"[Auto-generated UUID]"===h[a.name]||"[Auto-generated]"===h[a.name]);return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)(x,{value:d?"":h[a.name]??"",onChange:b=>j(a.name,b.target.value),disabled:d,className:`w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ${d?"opacity-50":""}`,placeholder:d?"Auto-generated":`Enter ${a.name}`})},a.name)})]})}var hr="Dialog",[hs,ht]=(0,E.A)(hr),[hu,hv]=hs(hr),hw=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:h,modal:i=!0}=a,j=g.useRef(null),k=g.useRef(null),[l=!1,m]=(0,F.i)({prop:d,defaultProp:e,onChange:h});return(0,f.jsx)(hu,{scope:b,triggerRef:j,contentRef:k,contentId:_(),titleId:_(),descriptionId:_(),open:l,onOpenChange:m,onOpenToggle:g.useCallback(()=>m(a=>!a),[m]),modal:i,children:c})};hw.displayName=hr;var hx="DialogTrigger";g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hv(hx,c),g=(0,D.s)(b,e.triggerRef);return(0,f.jsx)(G.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":hQ(e.open),...d,ref:g,onClick:(0,C.m)(a.onClick,e.onOpenToggle)})}).displayName=hx;var hy="DialogPortal",[hz,hA]=hs(hy,{forceMount:void 0}),hB=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,h=hv(hy,b);return(0,f.jsx)(hz,{scope:b,forceMount:c,children:g.Children.map(d,a=>(0,f.jsx)(bv.C,{present:c||h.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:a})}))})};hB.displayName=hy;var hC="DialogOverlay",hD=g.forwardRef((a,b)=>{let c=hA(hC,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hv(hC,a.__scopeDialog);return g.modal?(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(hE,{...e,ref:b})}):null});hD.displayName=hC;var hE=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hv(hC,c);return(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,shards:[e.contentRef],children:(0,f.jsx)(G.sG.div,{"data-state":hQ(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),hF="DialogContent",hG=g.forwardRef((a,b)=>{let c=hA(hF,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hv(hF,a.__scopeDialog);return(0,f.jsx)(bv.C,{present:d||g.open,children:g.modal?(0,f.jsx)(hH,{...e,ref:b}):(0,f.jsx)(hI,{...e,ref:b})})});hG.displayName=hF;var hH=g.forwardRef((a,b)=>{let c=hv(hF,a.__scopeDialog),d=g.useRef(null),e=(0,D.s)(b,c.contentRef,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(hJ,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:(0,C.m)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault())})}),hI=g.forwardRef((a,b)=>{let c=hv(hF,a.__scopeDialog),d=g.useRef(!1),e=g.useRef(!1);return(0,f.jsx)(hJ,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),hJ=g.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:h,...i}=a,j=hv(hF,c),k=g.useRef(null),l=(0,D.s)(b,k);return M(),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(S,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:h,children:(0,f.jsx)(K.qW,{role:"dialog",id:j.contentId,"aria-describedby":j.descriptionId,"aria-labelledby":j.titleId,"data-state":hQ(j.open),...i,ref:l,onDismiss:()=>j.onOpenChange(!1)})}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(hU,{titleId:j.titleId}),(0,f.jsx)(hV,{contentRef:k,descriptionId:j.descriptionId})]})]})}),hK="DialogTitle",hL=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hv(hK,c);return(0,f.jsx)(G.sG.h2,{id:e.titleId,...d,ref:b})});hL.displayName=hK;var hM="DialogDescription",hN=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hv(hM,c);return(0,f.jsx)(G.sG.p,{id:e.descriptionId,...d,ref:b})});hN.displayName=hM;var hO="DialogClose",hP=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hv(hO,c);return(0,f.jsx)(G.sG.button,{type:"button",...d,ref:b,onClick:(0,C.m)(a.onClick,()=>e.onOpenChange(!1))})});function hQ(a){return a?"open":"closed"}hP.displayName=hO;var hR="DialogTitleWarning",[hS,hT]=(0,E.q)(hR,{contentName:hF,titleName:hK,docsSlug:"dialog"}),hU=({titleId:a})=>{let b=hT(hR),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
51
51
 
52
52
  If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
53
53
 
54
- For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return g.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},hU=({contentRef:a,descriptionId:b})=>{let c=hS("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return g.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};let hV=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hC,{ref:c,className:(0,w.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));hV.displayName=hC.displayName;let hW=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(hA,{children:[(0,f.jsx)(hV,{}),(0,f.jsxs)(hF,{ref:d,className:(0,w.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...c,children:[b,(0,f.jsxs)(hO,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,f.jsx)(ey.A,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));hW.displayName=hF.displayName;let hX=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...b});hX.displayName="DialogHeader";let hY=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...b});hY.displayName="DialogFooter";let hZ=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hK,{ref:c,className:(0,w.cn)("text-lg font-semibold leading-none tracking-tight",a),...b}));hZ.displayName=hK.displayName;let h$=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hM,{ref:c,className:(0,w.cn)("text-sm text-muted-foreground",a),...b}));h$.displayName=hM.displayName;let h_=function({isOpen:a,onClose:b,onConfirm:c,selectedCount:d,tableName:e,isDeleting:g,error:h}){return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md font-sans",children:[(0,f.jsxs)(hX,{children:[(0,f.jsxs)(hZ,{className:"mb-2",children:["Delete ",d," ",1===d?"Record":"Records","?"]}),(0,f.jsxs)(h$,{className:"text-neutral-600 font-medium",children:["You're about to delete ",d," ",1===d?"record":"records"," from ",(0,f.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:e}),"."]})]}),h&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h})]}),(0,f.jsxs)(hY,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,f.jsx)(dT,{variant:"outline",onClick:b,disabled:g,children:"Cancel"}),(0,f.jsx)(dT,{variant:"destructive",onClick:c,disabled:g,children:g?"Deleting...":"Delete"})]})]})})};function h0({isOpen:a,onClose:b,error:c}){if(!c||!a)return null;let{message:d,icon:e}=c?{message:c.message,icon:n}:{message:"An unknown error occurred.",icon:n};return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md font-sans",children:[(0,f.jsx)(hX,{children:(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(e,{className:"h-4 w-4 text-red-500"}),(0,f.jsx)(hZ,{children:"Error"})]})}),(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:d}),c.details?.suggestions&&(0,f.jsxs)("div",{className:"text-sm space-y-1",children:[(0,f.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,f.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:c.details.suggestions.map((a,b)=>(0,f.jsx)("li",{children:a},b))})]})]}),(0,f.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,f.jsx)(dT,{variant:"default",onClick:b,children:"Got it"})})]})})}let h1=(0,k.A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function h2({open:a,onClose:b,tableName:c,schema:d,onImportComplete:e}){let{currentDatabase:h}=(0,dR.t)(),{toast:i}=(0,g6.dj)(),j=(0,g.useRef)(null),[k,l]=(0,g.useState)(null),[m,o]=(0,g.useState)(""),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!1),[t,u]=(0,g.useState)(null),v=d.map(a=>a.name),w=(0,g.useCallback)(()=>{l(null),o(""),q(null),u(null),j.current&&(j.current.value="")},[]),x=(0,g.useCallback)(()=>{w(),b()},[w,b]),y=(0,g.useCallback)(async a=>{let b=a.target.files?.[0];if(b){q(null),u(null),o(b.name);try{let a,c=await b.text();if(b.name.endsWith(".json")){let b=JSON.parse(c);a=Array.isArray(b)?b:[b]}else if(b.name.endsWith(".csv"))a=function(a){let b=a.trim().split("\n");if(b.length<2)return[];let c=b[0].split(",").map(a=>a.trim().replace(/^"|"$/g,""));return b.slice(1).map(a=>{let b=[],d="",e=!1;for(let c=0;c<a.length;c++){let f=a[c];'"'===f?e&&'"'===a[c+1]?(d+='"',c++):e=!e:","!==f||e?d+=f:(b.push(d.trim()),d="")}b.push(d.trim());let f={};return c.forEach((a,c)=>{f[a]=b[c]??""}),f})}(c);else throw Error("Unsupported file type. Use .json or .csv");if(0===a.length)throw Error("File contains no data rows");l(a)}catch(a){q(a.message),l(null)}}},[]),z=(0,g.useCallback)(async()=>{if(k?.length){s(!0);try{let a=h?.database_name,b=await fetch(`/api/tables/${c}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:k,...a&&{db:a}})}),d=await b.json();if(!b.ok||!d.success)throw Error(d.error||"Import failed");u(d),i({title:"Import Complete",description:`${d.imported} row${1!==d.imported?"s":""} imported.`}),e?.()}catch(a){q(a.message)}finally{s(!1)}}},[k,c,h,i,e]),C=k?Object.keys(k[0]):[],D=C.filter(a=>v.includes(a)),E=C.filter(a=>!v.includes(a)),F=k?.slice(0,5)??[];return(0,f.jsx)(hv,{open:a,onOpenChange:a=>!a&&x(),children:(0,f.jsxs)(hW,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,f.jsx)(hX,{children:(0,f.jsxs)(hZ,{children:["Import data into ",(0,f.jsx)("span",{className:"font-mono",children:c})]})}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!k&&!t&&(0,f.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>j.current?.click(),children:[(0,f.jsx)(gC,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,f.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,f.jsx)("input",{ref:j,type:"file",accept:".csv,.json",className:"hidden",onChange:y})]}),p&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]}),t&&(0,f.jsxs)(A,{children:[(0,f.jsx)(h1,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Imported ",t.imported," row",1!==t.imported?"s":"",".",t.failed>0&&` ${t.failed} failed.`]})]}),k&&!t&&(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[m.endsWith(".json")?(0,f.jsx)(g9,{className:"h-4 w-4"}):(0,f.jsx)(ha,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"font-medium",children:m}),(0,f.jsxs)("span",{className:"text-muted-foreground",children:["— ",k.length," rows"]})]}),(0,f.jsx)(dT,{variant:"ghost",size:"sm",onClick:w,children:"Change file"})]}),E.length>0&&(0,f.jsxs)(A,{children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,f.jsx)("span",{className:"font-mono",children:E.join(", ")})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,k.length)," of ",k.length," rows)"]}),(0,f.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{children:D.map(a=>(0,f.jsx)(ew,{className:"text-xs whitespace-nowrap py-1 px-2",children:a},a))})}),(0,f.jsx)(eu,{children:F.map((a,b)=>(0,f.jsx)(ev,{children:D.map(b=>(0,f.jsx)(ex,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===a[b]||void 0===a[b]?(0,f.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(a[b])},b))},b))})]})})]})]})]}),(0,f.jsxs)(hY,{children:[(0,f.jsx)(dT,{variant:"ghost",onClick:x,disabled:r,children:t?"Close":"Cancel"}),k&&!t&&(0,f.jsx)(dT,{onClick:z,disabled:r||0===D.length,children:r?"Importing…":`Import ${k.length} row${1!==k.length?"s":""}`})]})]})})}let h3=({children:a,width:b,onResize:c,className:d=""})=>{let e=(0,g.useRef)(null),h=(0,g.useCallback)(a=>{a.preventDefault(),a.stopPropagation();let d=a.clientX,f=e.current?.offsetWidth??(b||150),g=e.current?.closest("table"),h=g?.offsetWidth??0;g&&(g.style.width=`${h}px`);let i=f,j=a=>{let b=Math.max(f+(a.clientX-d),80),c=b-i;i=b,e.current&&(e.current.style.width=`${b}px`),g&&0!==c&&(g.style.width=`${parseFloat(g.style.width)+c}px`)},k=a=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),document.body.style.cursor="",document.body.style.userSelect="";let b=Math.max(f+(a.clientX-d),80);g&&(g.style.width=""),c(b)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},[b,c]);return(0,f.jsxs)("th",{ref:e,className:`relative overflow-hidden ${d}`,style:{width:`${b}px`},children:[a,(0,f.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:h,onDoubleClick:a=>{a.preventDefault(),a.stopPropagation()}})]})},h4=(0,k.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),h5=(0,k.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),h6=(0,k.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function h7({column:a,sortConfig:b,onSort:c,children:d}){let e=b[a];return(0,f.jsx)("div",{className:"flex items-center w-full",children:(0,f.jsxs)(dT,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{c(a,e?"asc"===e?"desc":null:"asc")},children:[(0,f.jsx)("span",{className:"flex items-center gap-1 font-mono",children:d}),(0,f.jsxs)("span",{className:"shrink-0",children:["asc"===e&&(0,f.jsx)(h4,{className:"h-4 w-4"}),"desc"===e&&(0,f.jsx)(h5,{className:"h-4 w-4"}),!e&&(0,f.jsx)(h6,{className:"h-4 w-4"})]})]})})}function h8({relatedTable:a,relatedKey:b,value:c,colSpan:d,onClose:e}){let{executeQuery:h}=(0,dR.t)(),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(!0),[m,n]=(0,g.useState)(!1),o=i?Object.keys(i):[];return(0,f.jsx)(ev,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,f.jsx)(ex,{colSpan:d,className:"py-2 px-4 border-b border-neutral-200",children:(0,f.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,f.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,f.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:a}),k&&(0,f.jsx)(s,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!k&&m&&(0,f.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!k&&i&&(0,f.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,f.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,f.jsx)("thead",{children:(0,f.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:o.map(a=>(0,f.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:a},a))})}),(0,f.jsx)("tbody",{children:(0,f.jsx)("tr",{className:"bg-white",children:o.map(a=>(0,f.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==i[a]?(0,f.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(i[a])},a))})})]})})]}),(0,f.jsx)("button",{onClick:e,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]})})})}let h9=(0,k.A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ia=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],ib=new Set(["is_null","is_not_null"]),ic=1;function id(a){let b=a.filter(a=>!!a.column&&!!a.operator&&(!!ib.has(a.operator)||!!String(a.value??"").trim())).map(a=>{let b=`"${a.column}"`,c=a=>String(a).replace(/'/g,"''");switch(a.operator){case"equals":return`${b} LIKE '${c(a.value)}'`;case"not_equals":return`${b} NOT LIKE '${c(a.value)}'`;case"contains":return`${b} LIKE '%${c(a.value)}%'`;case"starts_with":return`${b} LIKE '${c(a.value)}%'`;case"ends_with":return`${b} LIKE '%${c(a.value)}'`;case"gt":return`${b} > '${c(a.value)}'`;case"gte":return`${b} >= '${c(a.value)}'`;case"lt":return`${b} < '${c(a.value)}'`;case"lte":return`${b} <= '${c(a.value)}'`;case"is_null":return`${b} IS NULL`;case"is_not_null":return`${b} IS NOT NULL`;default:return null}}).filter(Boolean);return 0===b.length?null:b.join(" AND ")}function ie({schema:a,filters:b,onFiltersChange:c,onOpenInSQL:d}){let e=a.map(a=>a.name),h=(0,g.useCallback)(()=>{c([...b,function(a=""){return{id:ic++,column:a,operator:"contains",value:""}}(e[0]||"")])},[b,c,e]),i=(0,g.useCallback)(a=>{c(b.filter(b=>b.id!==a))},[b,c]),j=(0,g.useCallback)((a,d)=>{c(b.map(b=>b.id===a?{...b,...d}:b))},[b,c]),k=(0,g.useCallback)(()=>{c([])},[c]);return(0,f.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===b.length&&(0,f.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),b.map(a=>(0,f.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,f.jsxs)(fR,{value:a.column,onValueChange:b=>j(a.id,{column:b}),children:[(0,f.jsx)(gw,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fV,{placeholder:"Column"})}),(0,f.jsx)(gz,{children:e.map(a=>(0,f.jsx)(gA,{value:a,className:"text-xs font-mono",children:a},a))})]}),(0,f.jsxs)(fR,{value:a.operator,onValueChange:b=>j(a.id,{operator:b}),children:[(0,f.jsx)(gw,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fV,{})}),(0,f.jsx)(gz,{children:ia.map(a=>(0,f.jsx)(gA,{value:a.value,className:"text-xs",children:a.label},a.value))})]}),!ib.has(a.operator)&&(0,f.jsx)(x,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:a.value,onChange:b=>j(a.id,{value:b.target.value})}),(0,f.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>i(a.id),title:"Remove filter",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]},a.id)),(0,f.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:h,children:[(0,f.jsx)(h9,{className:"h-3 w-3"}),"Add filter"]}),b.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:d,children:[(0,f.jsx)(t,{className:"h-3 w-3"}),"Open in SQL"]}),(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:k,children:"Clear filters"})]})]})]})}function ig({tableName:a,onOpenInSQL:b}){let{executeQuery:c,getCachedTable:d,updateTableCache:e,invalidateTable:h,switchTable:j,activeTable:k,updateTableData:l,setOperationStatus:m,sourceMode:o}=(0,dR.t)(),{toast:p}=(0,g6.dj)(),[q,r]=(0,g.useState)(()=>[]),[t,u]=(0,g.useState)([]),[v,w]=(0,g.useState)(0),[x,y]=(0,g.useState)(!0),[z,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),[F,G]=(0,g.useState)(new Map),[H,I]=(0,g.useState)(new Set),[J,K]=(0,g.useState)([]),[L,M]=(0,g.useState)(1),[N,O]=(0,g.useState)(50),[P,Q]=(0,g.useState)(1),[R,S]=(0,g.useState)(new Set),T=(0,g.useRef)(null),[U,V]=(0,g.useState)(!1),[W,X]=(0,g.useState)(!1),[Y,Z]=(0,g.useState)(null),[$,_]=(0,g.useState)(!1),[aa,ab]=(0,g.useState)(!1),[ac,ad]=(0,g.useState)(null),[ae,af]=(0,g.useState)({}),[ag,ah]=(0,g.useState)([]),[ai,aj]=(0,g.useState)(!1),[ak,al]=(0,g.useState)(null),[am,an]=(0,g.useState)(0),[ao,ap]=(0,g.useState)({}),[aq,ar]=(0,g.useState)(null);(0,g.useRef)(null);let[as,at]=(0,g.useState)({}),[au,av]=(0,g.useState)([]),aw=ai&&null!==ak,ax=aw?ak:q,ay=aw?am:v,az=aw?Math.max(1,Math.ceil(am/N)):P,aA=t.filter(a=>au.includes(a.name)),aB=aA.reduce((a,b)=>a+(as[b.name]||150),40),aC=F.size>0||J.length>0,aD="remote"===o,aE=(0,g.useCallback)(async a=>{try{let b=await c(`PRAGMA foreign_key_list("${a}")`),d=b?.results?.[0]?.results||[];if(d.length>0){let a={};d.forEach(b=>{a[b.from]={table:b.table,to:b.to}}),ap(a)}else ap({})}catch{ap({})}},[c]),aF=(0,g.useCallback)(async(b=!1)=>{if(!a)return;let c=d(a,L,N);if(c&&!b){r(c.data),u(c.schema),w(c.meta.total),Q(c.meta.totalPages);return}y(!0),E(null),S(new Set);try{let c=await j(a,{page:L,limit:N,forceFetch:b});c.meta.page=L;let d=c.schema||[];return r(Array.isArray(c.data)?c.data:[]),u(d),w(c.meta.total),Q(c.meta.totalPages),av(d.map(a=>a.name)),ar(null),aE(a),!0}catch(a){throw console.error("Error loading table data:",a),E(a.message||String(a)),p({variant:"destructive",title:"Error",description:`Failed to load table: ${a.message}`}),a}finally{y(!1)}},[a,L,N,d,j,p,aE]),aG=(0,g.useCallback)(b=>{av(c=>{let d=c.includes(b)?c.filter(a=>a!==b):[...c,b];return localStorage.setItem(`table-columns-${a}`,JSON.stringify(d)),d})},[a]),aH=(0,g.useCallback)((b,c)=>{at(d=>{let e={...d,[b]:c};return localStorage.setItem(`table-widths-${a}`,JSON.stringify(e)),e})},[a]),aI=(0,g.useCallback)(async()=>{try{S(new Set),h(a),await aF(!0),p({title:"Success",description:"Table data refreshed"})}catch(a){console.error("Refresh failed:",a),p({variant:"destructive",title:"Refresh Failed",description:a.message})}},[aF,h,a,p]),aJ=(0,g.useCallback)((b,c)=>{af(a=>({...a,[b]:c}));let f=c&&q.length?[...q].sort((a,d)=>{let e=a[b],f=d[b];if(null==e&&null==f)return 0;if(null==e)return 1;if(null==f)return -1;if("number"==typeof e&&"number"==typeof f)return"asc"===c?e-f:f-e;let g=String(e).toLowerCase(),h=String(f).toLowerCase();return"asc"===c?g.localeCompare(h):h.localeCompare(g)}):q;r(f);let g=d(a);g&&e(a,f,g.schema,{...g.meta,currentPage:L,limit:N},L,N)},[q,a,d,e]),aK=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`;G(a=>new Map(a).set(d,{value:c,originalValue:c})),I(b=>new Set(b).add(a))},[]),aL=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`,e=q[a],f=F.get(d)?.originalValue??e[b];if(c===f){let b=new Map(F);if(b.delete(d),G(b),!Array.from(b.keys()).some(b=>b.startsWith(`${a}::`))){let b=new Set(H);b.delete(a),I(b)}}else G(a=>new Map(a).set(d,{value:c,originalValue:f})),I(b=>new Set(b).add(a))},[q,F,H]),aM=(0,g.useCallback)(()=>{if(aD)return void p({variant:"destructive",title:"Remote is read-only",description:"Switch source to Local to add records."});K(a=>[...a,{}])},[aD,p]),aN=(0,g.useCallback)(a=>{K(b=>b.filter((b,c)=>c!==a))},[]),aO=(0,g.useCallback)((a,b)=>{K(c=>{let d=[...c];return d[a]=b,d})},[]),aP=async(b=!1)=>{C(!0);try{if(J.length>0){let b=0,d=t.filter(a=>"datetime"===a.type.toLowerCase()).map(a=>a.name);for(let e of J){let f=Object.keys(e).filter(a=>{let b=e[a];if(null===b||""===b||"null"===b){let b=t.find(b=>b.name===a);return!!(b?.dflt_value&&(b.dflt_value.includes("datetime(")||b.dflt_value.includes("randomblob")||b.dflt_value.includes("lower(hex(")))}if(b?.toString()==="[Auto-generated INT]"){let b=t.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return!1}return b?.toString(),!0});if(d.forEach(a=>{f.includes(a)||f.push(a)}),0===f.length)continue;let g=a=>a?.dflt_value&&"null"!==a.dflt_value&&null!==a.dflt_value,h=f.map(a=>{if(d.includes(a))return"CURRENT_TIMESTAMP";let b=e[a];if(null===b||""===b||"null"===b){let b=t.find(b=>b.name===a);return g(b)?b.dflt_value:"NULL"}let c=b.toString();if("[Auto-generated UUID]"===c){let b=t.find(b=>b.name===a);if(g(b))return b.dflt_value}if("[Auto-generated]"===c){let b=t.find(b=>b.name===a);return g(b)?b.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===c){let b=t.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return null}return c.includes("randomblob")||c.includes("CURRENT_TIMESTAMP")||c.includes("lower(hex(")||c.includes("datetime(")||c.startsWith("(")&&c.endsWith(")")?c:`'${c.replace(/'/g,"''")}'`}),i=`INSERT INTO ${a} (${f.join(", ")}) VALUES (${h.join(", ")});`;await c(i),b++}if(b>0){let c=await l(a);r(c.data),w(c.meta.total),Q(Math.ceil(c.meta.total/N)),m("success",`Added ${b} ${1===b?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Added ${b} ${1===b?"record":"records"}`})}K([])}if(F.size>0&&(b||!ac)){let b=t.find(a=>1===a.pk),d=b?.name;if(!d)throw Error("No primary key found in table schema");let e=b?.type?.toUpperCase()==="INTEGER",f=new Map;F.forEach((a,b)=>{let c=b.indexOf("::"),e=b.substring(0,c),g=b.substring(c+2),h=q[e];f.has(h[d])||f.set(h[d],new Map),f.get(h[d]).set(g,a.value)});let g=0;for(let[b,h]of f){let f=Array.from(h.entries()).map(([a,b])=>null===b||""===b||"null"===b?`${a} = NULL`:"CURRENT_TIMESTAMP"===b?`${a} = CURRENT_TIMESTAMP`:`${a} = '${b.toString().replace(/'/g,"''")}'`).join(", "),i=e?b:`'${String(b).replace(/'/g,"''")}'`,j=`
54
+ For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return g.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},hV=({contentRef:a,descriptionId:b})=>{let c=hT("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return g.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};let hW=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hD,{ref:c,className:(0,w.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));hW.displayName=hD.displayName;let hX=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(hB,{children:[(0,f.jsx)(hW,{}),(0,f.jsxs)(hG,{ref:d,className:(0,w.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...c,children:[b,(0,f.jsxs)(hP,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,f.jsx)(ey.A,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));hX.displayName=hG.displayName;let hY=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...b});hY.displayName="DialogHeader";let hZ=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...b});hZ.displayName="DialogFooter";let h$=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hL,{ref:c,className:(0,w.cn)("text-lg font-semibold leading-none tracking-tight",a),...b}));h$.displayName=hL.displayName;let h_=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hN,{ref:c,className:(0,w.cn)("text-sm text-muted-foreground",a),...b}));h_.displayName=hN.displayName;let h0=function({isOpen:a,onClose:b,onConfirm:c,selectedCount:d,tableName:e,isDeleting:g,error:h}){return(0,f.jsx)(hw,{open:a,onOpenChange:b,children:(0,f.jsxs)(hX,{className:"sm:max-w-md font-sans",children:[(0,f.jsxs)(hY,{children:[(0,f.jsxs)(h$,{className:"mb-2",children:["Delete ",d," ",1===d?"Record":"Records","?"]}),(0,f.jsxs)(h_,{className:"text-neutral-600 font-medium",children:["You're about to delete ",d," ",1===d?"record":"records"," from ",(0,f.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:e}),"."]})]}),h&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h})]}),(0,f.jsxs)(hZ,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,f.jsx)(dT,{variant:"outline",onClick:b,disabled:g,children:"Cancel"}),(0,f.jsx)(dT,{variant:"destructive",onClick:c,disabled:g,children:g?"Deleting...":"Delete"})]})]})})};function h1({isOpen:a,onClose:b,error:c}){if(!c||!a)return null;let{message:d,icon:e}=c?{message:c.message,icon:n}:{message:"An unknown error occurred.",icon:n};return(0,f.jsx)(hw,{open:a,onOpenChange:b,children:(0,f.jsxs)(hX,{className:"sm:max-w-md font-sans",children:[(0,f.jsx)(hY,{children:(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(e,{className:"h-4 w-4 text-red-500"}),(0,f.jsx)(h$,{children:"Error"})]})}),(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:d}),c.details?.suggestions&&(0,f.jsxs)("div",{className:"text-sm space-y-1",children:[(0,f.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,f.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:c.details.suggestions.map((a,b)=>(0,f.jsx)("li",{children:a},b))})]})]}),(0,f.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,f.jsx)(dT,{variant:"default",onClick:b,children:"Got it"})})]})})}let h2=(0,k.A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function h3({open:a,onClose:b,tableName:c,schema:d,onImportComplete:e}){let{currentDatabase:h}=(0,dR.t)(),{toast:i}=(0,g7.dj)(),j=(0,g.useRef)(null),[k,l]=(0,g.useState)(null),[m,o]=(0,g.useState)(""),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!1),[t,u]=(0,g.useState)(null),v=d.map(a=>a.name),w=(0,g.useCallback)(()=>{l(null),o(""),q(null),u(null),j.current&&(j.current.value="")},[]),x=(0,g.useCallback)(()=>{w(),b()},[w,b]),y=(0,g.useCallback)(async a=>{let b=a.target.files?.[0];if(b){q(null),u(null),o(b.name);try{let a,c=await b.text();if(b.name.endsWith(".json")){let b=JSON.parse(c);a=Array.isArray(b)?b:[b]}else if(b.name.endsWith(".csv"))a=function(a){let b=a.trim().split("\n");if(b.length<2)return[];let c=b[0].split(",").map(a=>a.trim().replace(/^"|"$/g,""));return b.slice(1).map(a=>{let b=[],d="",e=!1;for(let c=0;c<a.length;c++){let f=a[c];'"'===f?e&&'"'===a[c+1]?(d+='"',c++):e=!e:","!==f||e?d+=f:(b.push(d.trim()),d="")}b.push(d.trim());let f={};return c.forEach((a,c)=>{f[a]=b[c]??""}),f})}(c);else throw Error("Unsupported file type. Use .json or .csv");if(0===a.length)throw Error("File contains no data rows");l(a)}catch(a){q(a.message),l(null)}}},[]),z=(0,g.useCallback)(async()=>{if(k?.length){s(!0);try{let a=h?.database_name,b=await fetch(`/api/tables/${c}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:k,...a&&{db:a}})}),d=await b.json();if(!b.ok||!d.success)throw Error(d.error||"Import failed");u(d),i({title:"Import Complete",description:`${d.imported} row${1!==d.imported?"s":""} imported.`}),e?.()}catch(a){q(a.message)}finally{s(!1)}}},[k,c,h,i,e]),C=k?Object.keys(k[0]):[],D=C.filter(a=>v.includes(a)),E=C.filter(a=>!v.includes(a)),F=k?.slice(0,5)??[];return(0,f.jsx)(hw,{open:a,onOpenChange:a=>!a&&x(),children:(0,f.jsxs)(hX,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,f.jsx)(hY,{children:(0,f.jsxs)(h$,{children:["Import data into ",(0,f.jsx)("span",{className:"font-mono",children:c})]})}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!k&&!t&&(0,f.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>j.current?.click(),children:[(0,f.jsx)(gD,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,f.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,f.jsx)("input",{ref:j,type:"file",accept:".csv,.json",className:"hidden",onChange:y})]}),p&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]}),t&&(0,f.jsxs)(A,{children:[(0,f.jsx)(h2,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Imported ",t.imported," row",1!==t.imported?"s":"",".",t.failed>0&&` ${t.failed} failed.`]})]}),k&&!t&&(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[m.endsWith(".json")?(0,f.jsx)(ha,{className:"h-4 w-4"}):(0,f.jsx)(hb,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"font-medium",children:m}),(0,f.jsxs)("span",{className:"text-muted-foreground",children:["— ",k.length," rows"]})]}),(0,f.jsx)(dT,{variant:"ghost",size:"sm",onClick:w,children:"Change file"})]}),E.length>0&&(0,f.jsxs)(A,{children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,f.jsx)("span",{className:"font-mono",children:E.join(", ")})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,k.length)," of ",k.length," rows)"]}),(0,f.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{children:D.map(a=>(0,f.jsx)(ew,{className:"text-xs whitespace-nowrap py-1 px-2",children:a},a))})}),(0,f.jsx)(eu,{children:F.map((a,b)=>(0,f.jsx)(ev,{children:D.map(b=>(0,f.jsx)(ex,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===a[b]||void 0===a[b]?(0,f.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(a[b])},b))},b))})]})})]})]})]}),(0,f.jsxs)(hZ,{children:[(0,f.jsx)(dT,{variant:"ghost",onClick:x,disabled:r,children:t?"Close":"Cancel"}),k&&!t&&(0,f.jsx)(dT,{onClick:z,disabled:r||0===D.length,children:r?"Importing…":`Import ${k.length} row${1!==k.length?"s":""}`})]})]})})}let h4=({children:a,width:b,onResize:c,className:d=""})=>{let e=(0,g.useRef)(null),h=(0,g.useCallback)(a=>{a.preventDefault(),a.stopPropagation();let d=a.clientX,f=e.current?.offsetWidth??(b||150),g=e.current?.closest("table"),h=g?.offsetWidth??0;g&&(g.style.width=`${h}px`);let i=f,j=a=>{let b=Math.max(f+(a.clientX-d),80),c=b-i;i=b,e.current&&(e.current.style.width=`${b}px`),g&&0!==c&&(g.style.width=`${parseFloat(g.style.width)+c}px`)},k=a=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),document.body.style.cursor="",document.body.style.userSelect="";let b=Math.max(f+(a.clientX-d),80);g&&(g.style.width=""),c(b)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},[b,c]);return(0,f.jsxs)("th",{ref:e,className:`relative overflow-hidden ${d}`,style:{width:`${b}px`},children:[a,(0,f.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:h,onDoubleClick:a=>{a.preventDefault(),a.stopPropagation()}})]})},h5=(0,k.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),h6=(0,k.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),h7=(0,k.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function h8({column:a,sortConfig:b,onSort:c,children:d}){let e=b[a];return(0,f.jsx)("div",{className:"flex items-center w-full",children:(0,f.jsxs)(dT,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{c(a,e?"asc"===e?"desc":null:"asc")},children:[(0,f.jsx)("span",{className:"flex items-center gap-1 font-mono",children:d}),(0,f.jsxs)("span",{className:"shrink-0",children:["asc"===e&&(0,f.jsx)(h5,{className:"h-4 w-4"}),"desc"===e&&(0,f.jsx)(h6,{className:"h-4 w-4"}),!e&&(0,f.jsx)(h7,{className:"h-4 w-4"})]})]})})}function h9({relatedTable:a,relatedKey:b,value:c,colSpan:d,onClose:e}){let{executeQuery:h}=(0,dR.t)(),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(!0),[m,n]=(0,g.useState)(!1),o=i?Object.keys(i):[];return(0,f.jsx)(ev,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,f.jsx)(ex,{colSpan:d,className:"py-2 px-4 border-b border-neutral-200",children:(0,f.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,f.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,f.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:a}),k&&(0,f.jsx)(s,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!k&&m&&(0,f.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!k&&i&&(0,f.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,f.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,f.jsx)("thead",{children:(0,f.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:o.map(a=>(0,f.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:a},a))})}),(0,f.jsx)("tbody",{children:(0,f.jsx)("tr",{className:"bg-white",children:o.map(a=>(0,f.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==i[a]?(0,f.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(i[a])},a))})})]})})]}),(0,f.jsx)("button",{onClick:e,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]})})})}let ia=(0,k.A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ib=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],ic=new Set(["is_null","is_not_null"]),id=1;function ie(a){let b=a.filter(a=>!!a.column&&!!a.operator&&(!!ic.has(a.operator)||!!String(a.value??"").trim())).map(a=>{let b=`"${a.column}"`,c=a=>String(a).replace(/'/g,"''");switch(a.operator){case"equals":return`${b} LIKE '${c(a.value)}'`;case"not_equals":return`${b} NOT LIKE '${c(a.value)}'`;case"contains":return`${b} LIKE '%${c(a.value)}%'`;case"starts_with":return`${b} LIKE '${c(a.value)}%'`;case"ends_with":return`${b} LIKE '%${c(a.value)}'`;case"gt":return`${b} > '${c(a.value)}'`;case"gte":return`${b} >= '${c(a.value)}'`;case"lt":return`${b} < '${c(a.value)}'`;case"lte":return`${b} <= '${c(a.value)}'`;case"is_null":return`${b} IS NULL`;case"is_not_null":return`${b} IS NOT NULL`;default:return null}}).filter(Boolean);return 0===b.length?null:b.join(" AND ")}function ig({schema:a,filters:b,onFiltersChange:c,onOpenInSQL:d}){let e=a.map(a=>a.name),h=(0,g.useCallback)(()=>{c([...b,function(a=""){return{id:id++,column:a,operator:"contains",value:""}}(e[0]||"")])},[b,c,e]),i=(0,g.useCallback)(a=>{c(b.filter(b=>b.id!==a))},[b,c]),j=(0,g.useCallback)((a,d)=>{c(b.map(b=>b.id===a?{...b,...d}:b))},[b,c]),k=(0,g.useCallback)(()=>{c([])},[c]);return(0,f.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===b.length&&(0,f.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),b.map(a=>(0,f.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,f.jsxs)(fS,{value:a.column,onValueChange:b=>j(a.id,{column:b}),children:[(0,f.jsx)(gx,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fW,{placeholder:"Column"})}),(0,f.jsx)(gA,{children:e.map(a=>(0,f.jsx)(gB,{value:a,className:"text-xs font-mono",children:a},a))})]}),(0,f.jsxs)(fS,{value:a.operator,onValueChange:b=>j(a.id,{operator:b}),children:[(0,f.jsx)(gx,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fW,{})}),(0,f.jsx)(gA,{children:ib.map(a=>(0,f.jsx)(gB,{value:a.value,className:"text-xs",children:a.label},a.value))})]}),!ic.has(a.operator)&&(0,f.jsx)(x,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:a.value,onChange:b=>j(a.id,{value:b.target.value})}),(0,f.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>i(a.id),title:"Remove filter",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]},a.id)),(0,f.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:h,children:[(0,f.jsx)(ia,{className:"h-3 w-3"}),"Add filter"]}),b.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:d,children:[(0,f.jsx)(t,{className:"h-3 w-3"}),"Open in SQL"]}),(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:k,children:"Clear filters"})]})]})]})}function ih({tableName:a,onOpenInSQL:b}){let{executeQuery:c,getCachedTable:d,updateTableCache:e,invalidateTable:h,switchTable:j,activeTable:k,updateTableData:l,setOperationStatus:m,sourceMode:o}=(0,dR.t)(),{toast:p}=(0,g7.dj)(),[q,r]=(0,g.useState)(()=>[]),[t,u]=(0,g.useState)([]),[v,w]=(0,g.useState)(0),[x,y]=(0,g.useState)(!0),[z,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),[F,G]=(0,g.useState)(new Map),[H,I]=(0,g.useState)(new Set),[J,K]=(0,g.useState)([]),[L,M]=(0,g.useState)(1),[N,O]=(0,g.useState)(50),[P,Q]=(0,g.useState)(1),[R,S]=(0,g.useState)(new Set),T=(0,g.useRef)(null),[U,V]=(0,g.useState)(!1),[W,X]=(0,g.useState)(!1),[Y,Z]=(0,g.useState)(null),[$,_]=(0,g.useState)(!1),[aa,ab]=(0,g.useState)(!1),[ac,ad]=(0,g.useState)(null),[ae,af]=(0,g.useState)({}),[ag,ah]=(0,g.useState)([]),[ai,aj]=(0,g.useState)(!1),[ak,al]=(0,g.useState)(null),[am,an]=(0,g.useState)(0),[ao,ap]=(0,g.useState)({}),[aq,ar]=(0,g.useState)(null);(0,g.useRef)(null);let[as,at]=(0,g.useState)({}),[au,av]=(0,g.useState)([]),aw=ai&&null!==ak,ax=aw?ak:q,ay=aw?am:v,az=aw?Math.max(1,Math.ceil(am/N)):P,aA=t.filter(a=>au.includes(a.name)),aB=aA.reduce((a,b)=>a+(as[b.name]||150),40),aC=F.size>0||J.length>0,aD="remote"===o,aE=(0,g.useCallback)(async a=>{try{let b=await c(`PRAGMA foreign_key_list("${a}")`),d=b?.results?.[0]?.results||[];if(d.length>0){let a={};d.forEach(b=>{a[b.from]={table:b.table,to:b.to}}),ap(a)}else ap({})}catch{ap({})}},[c]),aF=(0,g.useCallback)(async(b=!1)=>{if(!a)return;let c=d(a,L,N);if(c&&!b){r(c.data),u(c.schema),w(c.meta.total),Q(c.meta.totalPages);return}y(!0),E(null),S(new Set);try{let c=await j(a,{page:L,limit:N,forceFetch:b});c.meta.page=L;let d=c.schema||[];return r(Array.isArray(c.data)?c.data:[]),u(d),w(c.meta.total),Q(c.meta.totalPages),av(d.map(a=>a.name)),ar(null),aE(a),!0}catch(a){throw console.error("Error loading table data:",a),E(a.message||String(a)),p({variant:"destructive",title:"Error",description:`Failed to load table: ${a.message}`}),a}finally{y(!1)}},[a,L,N,d,j,p,aE]),aG=(0,g.useCallback)(b=>{av(c=>{let d=c.includes(b)?c.filter(a=>a!==b):[...c,b];return localStorage.setItem(`table-columns-${a}`,JSON.stringify(d)),d})},[a]),aH=(0,g.useCallback)((b,c)=>{at(d=>{let e={...d,[b]:c};return localStorage.setItem(`table-widths-${a}`,JSON.stringify(e)),e})},[a]),aI=(0,g.useCallback)(async()=>{try{S(new Set),h(a),await aF(!0),p({title:"Success",description:"Table data refreshed"})}catch(a){console.error("Refresh failed:",a),p({variant:"destructive",title:"Refresh Failed",description:a.message})}},[aF,h,a,p]),aJ=(0,g.useCallback)((b,c)=>{af(a=>({...a,[b]:c}));let f=c&&q.length?[...q].sort((a,d)=>{let e=a[b],f=d[b];if(null==e&&null==f)return 0;if(null==e)return 1;if(null==f)return -1;if("number"==typeof e&&"number"==typeof f)return"asc"===c?e-f:f-e;let g=String(e).toLowerCase(),h=String(f).toLowerCase();return"asc"===c?g.localeCompare(h):h.localeCompare(g)}):q;r(f);let g=d(a);g&&e(a,f,g.schema,{...g.meta,currentPage:L,limit:N},L,N)},[q,a,d,e]),aK=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`;G(a=>new Map(a).set(d,{value:c,originalValue:c})),I(b=>new Set(b).add(a))},[]),aL=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`,e=q[a],f=F.get(d)?.originalValue??e[b];if(c===f){let b=new Map(F);if(b.delete(d),G(b),!Array.from(b.keys()).some(b=>b.startsWith(`${a}::`))){let b=new Set(H);b.delete(a),I(b)}}else G(a=>new Map(a).set(d,{value:c,originalValue:f})),I(b=>new Set(b).add(a))},[q,F,H]),aM=(0,g.useCallback)(()=>{if(aD)return void p({variant:"destructive",title:"Remote is read-only",description:"Switch source to Local to add records."});K(a=>[...a,{}])},[aD,p]),aN=(0,g.useCallback)(a=>{K(b=>b.filter((b,c)=>c!==a))},[]),aO=(0,g.useCallback)((a,b)=>{K(c=>{let d=[...c];return d[a]=b,d})},[]),aP=async(b=!1)=>{C(!0);try{if(J.length>0){let b=0,d=t.filter(a=>"datetime"===a.type.toLowerCase()).map(a=>a.name);for(let e of J){let f=Object.keys(e).filter(a=>{let b=e[a];if(null===b||""===b||"null"===b){let b=t.find(b=>b.name===a);return!!(b?.dflt_value&&(b.dflt_value.includes("datetime(")||b.dflt_value.includes("randomblob")||b.dflt_value.includes("lower(hex(")))}if(b?.toString()==="[Auto-generated INT]"){let b=t.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return!1}return b?.toString(),!0});if(d.forEach(a=>{f.includes(a)||f.push(a)}),0===f.length)continue;let g=a=>a?.dflt_value&&"null"!==a.dflt_value&&null!==a.dflt_value,h=f.map(a=>{if(d.includes(a))return"CURRENT_TIMESTAMP";let b=e[a];if(null===b||""===b||"null"===b){let b=t.find(b=>b.name===a);return g(b)?b.dflt_value:"NULL"}let c=b.toString();if("[Auto-generated UUID]"===c){let b=t.find(b=>b.name===a);if(g(b))return b.dflt_value}if("[Auto-generated]"===c){let b=t.find(b=>b.name===a);return g(b)?b.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===c){let b=t.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return null}return c.includes("randomblob")||c.includes("CURRENT_TIMESTAMP")||c.includes("lower(hex(")||c.includes("datetime(")||c.startsWith("(")&&c.endsWith(")")?c:`'${c.replace(/'/g,"''")}'`}),i=`INSERT INTO ${a} (${f.join(", ")}) VALUES (${h.join(", ")});`;await c(i,{telemetryContext:0===b?{action:"table_add_rows",rowsAdded:J.length}:void 0}),b++}if(b>0){let c=await l(a);r(c.data),w(c.meta.total),Q(Math.ceil(c.meta.total/N)),m("success",`Added ${b} ${1===b?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Added ${b} ${1===b?"record":"records"}`})}K([])}if(F.size>0&&(b||!ac)){let b=t.find(a=>1===a.pk),d=b?.name;if(!d)throw Error("No primary key found in table schema");let e=b?.type?.toUpperCase()==="INTEGER",f=new Map;F.forEach((a,b)=>{let c=b.indexOf("::"),e=b.substring(0,c),g=b.substring(c+2),h=q[e];f.has(h[d])||f.set(h[d],new Map),f.get(h[d]).set(g,a.value)});let g=0;for(let[b,h]of f){let i=Array.from(h.entries()).map(([a,b])=>null===b||""===b||"null"===b?`${a} = NULL`:"CURRENT_TIMESTAMP"===b?`${a} = CURRENT_TIMESTAMP`:`${a} = '${b.toString().replace(/'/g,"''")}'`).join(", "),j=e?b:`'${String(b).replace(/'/g,"''")}'`,k=`
55
55
  UPDATE ${a}
56
- SET ${f}
57
- WHERE ${d} = ${i};
58
- `;await c(j),g++}if(g>0){let b=await l(a);r(b.data),w(b.meta.total),Q(Math.ceil(b.meta.total/N)),m("success",`Updated ${g} ${1===g?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Updated ${g} ${1===g?"record":"records"}`})}}G(new Map),I(new Set),ad(null)}catch(d){let b=fk(d),c={...b,stderr:d.stderr,stdout:d.stdout};m("error",b.message||"Save failed",`Error saving changes to ${a}`),ad(c),ab(!0)}finally{C(!1)}},aQ=(0,g.useCallback)(async()=>{if(!aD&&a){X(!0),Z(null);try{let b,d=t.find(a=>1===a.pk)?.name;if(!d)throw Error("No primary key found in table schema");let e=Array.from(R).map(a=>q[a][d]);if(0===e.length)return;let f=a=>null==a||"null"===a,g=e.filter(f),h=e.filter(a=>!f(a)),i=h.map(a=>"string"==typeof a&&isNaN(a)?`'${a.replace(/'/g,"''")}'`:a);b=g.length>0&&h.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL OR ${d} IN (${i.join(",")});`:g.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL;`:`DELETE FROM ${a} WHERE ${d} IN (${i.join(",")});`,await c(b);let j=new Set(e),k=q.filter(a=>!j.has(a[d]));r(k),w(a=>a-e.length),Q(Math.ceil((v-e.length)/N)),L>1&&q.length===e.length&&M(a=>a-1),V(!1),S(new Set),m("success",`Deleted ${e.length} ${1===e.length?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Deleted ${e.length} ${1===e.length?"record":"records"}`})}catch(b){console.error("Delete operation failed:",b),m("error",b.message||"Delete failed",`Error deleting from ${a}`),Z(b.message||String(b))}finally{X(!1)}}},[a,R,q,t,c,l,aF,L,N,v,p,d,e,m,aD]),aR=(0,g.useCallback)(a=>{S(a?new Set(ax.map((a,b)=>b)):new Set)},[ax]),aS=(0,g.useCallback)((a,b)=>{S(c=>{let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]);return((0,g.useCallback)(b=>{at(b),localStorage.setItem(`table-widths-${a}`,JSON.stringify(b))},[a]),(0,g.useCallback)(async b=>{let d=id(b);if(!d){al(null),an(0);return}try{let b=t.find(a=>1===a.pk)?.name||t[0]?.name||"rowid",e=await c(`SELECT COUNT(*) as total FROM "${a}" WHERE ${d}`),f=e?.results?.[0]?.results?.[0]?.total??0,g=await c(`SELECT * FROM "${a}" WHERE ${d} ORDER BY "${b}" DESC LIMIT ${N} OFFSET ${(L-1)*N}`),h=g?.results?.[0]?.results||[];an(f),al(h)}catch{al([]),an(0)}},[a,t,c,N,L]),D)?(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Failed to load table: ",D]})]})}):(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsx)(hl,{selectedCount:R.size,totalRows:ay,currentPage:L,totalPages:az,rowsPerPage:N,onPageChange:M,onRowsPerPageChange:O,onAdd:aM,onDelete:()=>V(!0),onImport:()=>{if(aD)return void p({variant:"destructive",title:"Remote is read-only",description:"Switch source to Local to import records."});_(!0)},onRefresh:aI,tableName:a,disabled:aC,readOnly:aD,editCount:F.size,newRecordsCount:J.length,isSaving:z,onSaveChanges:aP,onDiscardChanges:()=>{G(new Map),I(new Set),K([]),ad(null),p({description:"Changes discarded"})},schema:t,visibleColumns:au,onColumnToggle:aG,showFilters:ai,onToggleFilters:()=>aj(a=>!a),activeFilterCount:ag.filter(a=>a.column&&a.operator).length}),ai&&(0,f.jsx)(ie,{schema:t,filters:ag,onFiltersChange:ah,onOpenInSQL:()=>{let c=id(ag);if(c&&b){let d=t.find(a=>1===a.pk)?.name||t[0]?.name||"rowid";b(`SELECT * FROM "${a}" WHERE ${c} ORDER BY "${d}" DESC LIMIT ${N};`)}}}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,f.jsxs)(eq,{className:"w-full h-full",children:[(0,f.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,f.jsxs)(es,{style:{tableLayout:"fixed",width:`${aB}px`},children:[!x&&(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,f.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,f.jsx)(fC,{ref:T,checked:R.size===ax.length&&ax.length>0,onCheckedChange:aR,disabled:aC})})}),aA.map(a=>(0,f.jsx)(h3,{width:as[a.name]||150,onResize:b=>aH(a.name,b),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,f.jsxs)(h7,{column:a.name,sortConfig:ae,onSort:aJ,children:[(0,f.jsx)("span",{className:"text-xs font-bold text-foreground",children:a.name}),(0,f.jsx)("span",{className:"text-xs text-muted-foreground",children:a.type?.toLowerCase()})]})},a.name))]})}),(0,f.jsxs)(eu,{children:[x&&(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:aA.length+1,className:"h-64",children:(0,f.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,f.jsx)(s,{className:"h-6 w-6 animate-spin text-primary"})})})}),!x&&(0,f.jsxs)(f.Fragment,{children:[J.map((a,b)=>(0,f.jsx)(hp,{schema:aA,onRemove:()=>aN(b),onChange:a=>aO(b,a)},`new-${b}`)),0===ax.length&&0===J.length?(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:aA.length+1,className:"h-64 text-center text-muted-foreground",children:aw?"No rows match the current filters":"Table is empty"})}):ax.map((a,b)=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsxs)(ev,{className:R.has(b)?"bg-blue-50":"bg-white",children:[(0,f.jsx)(ex,{className:"p-0",children:(0,f.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,f.jsx)(fC,{checked:R.has(b),onCheckedChange:a=>aS(b,a),disabled:aC||aD})})}),aA.map(c=>{let d=`${b}::${c.name}`,e=F.get(d);return(0,f.jsx)(hm,{value:e?e.value:a[c.name],row:a,column:c.name,schema:t,onChange:a=>aL(b,c.name,a),onStartEdit:aw||aD?void 0:a=>aK(b,c.name,a),isEditing:!aw&&F.has(d),style:{width:`${as[c.name]||150}px`},fkInfo:ao[c.name],onShowRelation:ao[c.name]?()=>ar({rowIndex:b,relatedTable:ao[c.name].table,relatedKey:ao[c.name].to,value:a[c.name]}):void 0},c.name)})]}),aq?.rowIndex===b&&(0,f.jsx)(h8,{relatedTable:aq.relatedTable,relatedKey:aq.relatedKey,value:aq.value,colSpan:aA.length+1,onClose:()=>ar(null)})]},b))]})]})]})}),(0,f.jsx)(er,{orientation:"horizontal"})]})}),(0,f.jsx)(h_,{isOpen:U,onClose:()=>{V(!1),Z(null)},onConfirm:aQ,selectedCount:R.size,tableName:a,isDeleting:W,error:Y}),(0,f.jsx)(h0,{isOpen:aa,onClose:()=>ab(!1),error:ac,onOpenInSQL:()=>{ab(!1)},onUpdateAnyway:async()=>{ab(!1),await aP(!0)},showSQLOption:ac?.type==="NULLABLE_PK"}),(0,f.jsx)(h2,{open:$,onClose:()=>_(!1),tableName:a,schema:t,onImportComplete:()=>{_(!1),aI()}})]})}function ih({migration:a}){return a.orphaned?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(n,{className:"h-3 w-3"})," Orphaned"]}):a.applied?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,f.jsx)(h1,{className:"h-3 w-3"})," Applied"]}):(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(v,{className:"h-3 w-3"})," Pending"]})}function ii(){let{currentDatabase:a,executeQuery:b,refreshTables:c}=(0,dR.t)(),{toast:d}=(0,g6.dj)(),[e,h]=(0,g.useState)([]),[i,j]=(0,g.useState)(""),[k,l]=(0,g.useState)(!0),[m,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(null),r=(0,g.useCallback)(async()=>{l(!0),q(null);try{let b=a?.database_name,c=b?`?db=${encodeURIComponent(b)}`:"",d=await fetch(`/api/migrations/list${c}`),e=await d.json();if(!d.ok||!e.success)throw Error(e.error||"Failed to load migrations");h(e.migrations),j(e.migrationsDir)}catch(a){q(a.message)}finally{l(!1)}},[a]),t=e.filter(a=>!a.applied&&!a.orphaned),u=(0,g.useCallback)(async()=>{if(0===t.length)return;o(!0);let b=0;try{for(let c of t){await fetch(`/api/migrations/list?file=${encodeURIComponent(c.name)}${a?.database_name?`&db=${encodeURIComponent(a.database_name)}`:""}`);let d=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:c.name,db:a?.database_name})}),e=await d.json();if(!d.ok||!e.success)throw Error(`Failed to apply ${c.name}: ${e.error||"Unknown error"}`);b++}d({title:"Migrations Applied",description:`${b} migration${1!==b?"s":""} applied successfully.`}),await c(),await r()}catch(a){d({variant:"destructive",title:"Apply Failed",description:a.message})}finally{o(!1)}},[t,a,d,c,r]);return(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),i&&(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:i})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[t.length>0&&(0,f.jsx)(dT,{size:"sm",onClick:u,disabled:m,className:"font-semibold",children:m?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"})," Applying…"]}):`Apply ${t.length} pending`}),(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",onClick:r,disabled:k,children:(0,f.jsx)(g3,{className:`h-4 w-4 ${k?"animate-spin":""}`})})]})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-auto",children:[p&&(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]})}),!k&&!p&&0===e.length&&(0,f.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,f.jsx)(hb,{className:"h-8 w-8"}),(0,f.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,f.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!p&&e.length>0&&(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"text-xs font-bold",children:"Migration file"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-28",children:"Status"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,f.jsx)(eu,{children:e.map(a=>(0,f.jsxs)(ev,{className:a.orphaned?"opacity-60":"",children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{children:(0,f.jsx)(ih,{migration:a})}),(0,f.jsx)(ex,{className:"text-xs text-muted-foreground",children:a.applied_at?new Date(a.applied_at).toLocaleString():"—"}),(0,f.jsx)(ex,{className:"font-mono text-xs text-muted-foreground",children:a.checksum?a.checksum.slice(0,8):"—"})]},a.name))})]})]})]})}var ij=c(33540);let ik=c.n(ij)()(async()=>{},{loadableGenerated:{modules:["components/schema-view.jsx -> ./schema-erd"]},ssr:!1,loading:()=>(0,f.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,f.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function il(){let{currentDatabase:a,sourceMode:b}=(0,dR.t)();return(0,f.jsx)(ik,{db:a?.database_name,source:b})}let im={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},io=["January","February","March","April","May","June","July","August","September","October","November","December"],ip={2:[3,7,10,14,16],1:[5,12,18,22]};function iq(a){return String(a).padStart(2,"0")}function ir({year:a,month:b,selDay:c,today:d,earliest:e,onSelect:g,onPrev:h,onNext:i}){let j=new Date(a,b,1).getDay(),k=new Date(a,b+1,0).getDate(),l=ip[b]||[],m=d.getUTCFullYear(),n=d.getUTCMonth(),o=d.getUTCDate(),p=[];for(let a=0;a<j;a++)p.push((0,f.jsx)("div",{},`b${a}`));for(let d=1;d<=k;d++){let h=a>m||a===m&&b>n||a===m&&b===n&&d>o,i=new Date(a,b,d).getTime(),j=!!e&&i<new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),k=a===m&&b===n&&d===o,q=d===c,r=l.includes(d),s=h||j;p.push((0,f.jsxs)("div",{onClick:s?void 0:()=>g(d),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:s?"default":"pointer",color:s?im.border2:q?im.bg:k?im.text:im.text2,background:q?im.text:"transparent",fontWeight:k?600:void 0,pointerEvents:s?"none":void 0,position:"relative",userSelect:"none"},className:s||q?"":"hover:bg-[#f2f0ec]",children:[d,r&&!h&&(0,f.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:q?im.bg:im.orange,display:"block"}})]},d))}return(0,f.jsxs)("div",{style:{padding:"14px 16px",borderBottom:`1px solid ${im.border}`},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,f.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:im.text},children:[io[b]," ",a]}),(0,f.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",h],["›",i]].map(([a,b])=>(0,f.jsx)("button",{onClick:b,style:{width:24,height:24,border:`1px solid ${im.border}`,borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:im.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:a},a))})]}),(0,f.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,f.jsx)("div",{style:{fontSize:10,fontWeight:500,color:im.text3,textAlign:"center",padding:"3px 0"},children:a},a)),p]})]})}function is({kind:a,text:b}){let c={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:im.text3,markBg:"#f9fafb",markColor:im.text3,mark:"~"}}[a];return(0,f.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,f.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:c.markBg,color:c.markColor},children:c.mark}),(0,f.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:c.bg,color:c.color},children:b})]})}function it({type:a,children:b}){return(0,f.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[a]},children:b})}function iu({label:a,bookmark:b,onCancel:c,onConfirm:d}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:im.bg,border:`1px solid ${im.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,f.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,f.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,f.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:im.text,marginBottom:5},children:"Restore database?"}),(0,f.jsx)("div",{style:{fontSize:12,color:im.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,f.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:im.bg2,borderRadius:6,color:im.text,marginBottom:10,lineHeight:1.7},children:[a,b&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("br",{}),(0,f.jsxs)("span",{style:{fontSize:10,color:im.text3},children:["bookmark: ",b]})]})]}),(0,f.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:im.orangeBg,border:`1px solid ${im.orangeBorder}`,borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,f.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,f.jsx)("button",{onClick:c,style:{flex:1,padding:8,border:`1px solid ${im.border}`,borderRadius:7,background:"transparent",color:im.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,f.jsx)("button",{onClick:d,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function iv({label:a,undoBookmark:b,onDone:c}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:im.bg,border:`1px solid ${im.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,f.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,f.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:im.text,marginBottom:5},children:"Database restored"}),(0,f.jsxs)("div",{style:{fontSize:12,color:im.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",a," successfully."]}),b&&(0,f.jsxs)("div",{style:{fontSize:11,color:im.text2,background:im.bg2,border:`1px solid ${im.border}`,borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",b,(0,f.jsx)("br",{}),(0,f.jsx)("span",{style:{fontSize:10,color:im.text3},children:"Use this to revert if something looks wrong"})]}),(0,f.jsx)("button",{onClick:c,style:{width:"100%",padding:9,background:im.text,color:im.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function iw(){let{currentDatabase:a}=(0,dR.t)(),b=a?.database_name||"database",c=new Date,[d,e]=(0,g.useState)(c.getUTCFullYear()),[h,i]=(0,g.useState)(c.getUTCMonth()),[j,k]=(0,g.useState)(c.getUTCDate()),[l,m]=(0,g.useState)(`${iq(c.getUTCHours())}:${iq(c.getUTCMinutes())}:00`),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!0),[t,u]=(0,g.useState)(null),[v,w]=(0,g.useState)(null),x=new Date(c.getTime()-2592e6),y=v||x,[z,A]=(0,g.useState)(null),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),[F,G]=(0,g.useState)(!1),[H,I]=(0,g.useState)(!1),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(!1),[N,O]=(0,g.useState)(null),P=`${io[h].slice(0,3)} ${iq(j)}, ${d} \xb7 ${l||"00:00:00"} UTC`,Q=`${io[h].slice(0,3)} ${iq(j)}, ${d} at ${l||"00:00:00"} UTC`,R=(0,g.useCallback)(()=>{i(a=>0===a?(e(a=>a-1),11):a-1),k(1),A(null)},[]),S=(0,g.useCallback)(()=>{let a=11===h?0:h+1,b=11===h?d+1:d;b>c.getUTCFullYear()||b===c.getUTCFullYear()&&a>c.getUTCMonth()||(i(a),e(b),k(1),A(null))},[h,d,c]),T=(0,g.useCallback)(a=>{k(a),o(null),A(null)},[]),U=(0,g.useCallback)((a,b,c,d,f)=>{e(b),i(c),k(d),m(f),o(a),A(null)},[]),V=(0,g.useCallback)(()=>{let a=new Date;e(a.getUTCFullYear()),i(a.getUTCMonth()),k(a.getUTCDate()),m(`${iq(a.getUTCHours())}:${iq(a.getUTCMinutes())}:00`),o(null),A(null)},[]),W=(0,g.useCallback)(async()=>{C(!0),E(null),A(null);try{let b=a?.database_name?`?db=${encodeURIComponent(a.database_name)}`:"",c=await fetch(`/api/time-travel/preview${b}`),d=await c.json();if(!c.ok||!d.success)throw Error(d.error||"Failed to refresh remote state");q(d.currentBookmark),A({bookmark:d.currentBookmark})}catch(a){E(a.message)}finally{C(!1)}},[a]),X=(0,g.useCallback)(async()=>{G(!1),I(!0),K(null);try{let b=new Date(`${d}-${iq(h+1)}-${iq(j)}T${l}Z`).toISOString(),c=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:a?.database_name,bookmark:z?.bookmark??null,timestamp:b})}),e=await c.json();if(!c.ok||!e.success)throw Error(e.error||"Restore failed");O(e.undoBookmark),M(!0)}catch(a){K(a.message)}finally{I(!1)}},[d,h,j,l,a,z]),Y=new Date(c-18e5),Z=new Date(c);Z.setHours(12,0,0,0);let $=new Date(c-864e5);$.setHours(18,0,0,0);let _=new Date(c-1728e5);_.setHours(9,0,0,0);let aa=new Date(c-6048e5);aa.setHours(0,0,0,0);let ab=[{id:"q30",label:"30 minutes ago",time:`${iq(Y.getUTCHours())}:${iq(Y.getUTCMinutes())}`,date:Y,y:Y.getUTCFullYear(),m:Y.getUTCMonth(),d:Y.getUTCDate(),t:`${iq(Y.getUTCHours())}:${iq(Y.getUTCMinutes())}:00`,icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:`${io[$.getUTCMonth()].slice(0,3)} ${$.getUTCDate()}`,date:$,y:$.getUTCFullYear(),m:$.getUTCMonth(),d:$.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:`${io[_.getUTCMonth()].slice(0,3)} ${_.getUTCDate()}`,date:_,y:_.getUTCFullYear(),m:_.getUTCMonth(),d:_.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:`${io[aa.getUTCMonth()].slice(0,3)} ${aa.getUTCDate()}`,date:aa,y:aa.getUTCFullYear(),m:aa.getUTCMonth(),d:aa.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:im.bg},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{style:{fontSize:13,fontWeight:600,color:im.text},children:"Time travel"}),(0,f.jsxs)("div",{style:{fontSize:11,color:im.text3,marginTop:1},children:[b," \xb7 remote \xb7"," ",r?"loading available window…":t?"could not load window info":p?`latest snapshot: ${p.slice(0,18)}…`:"restore to any point in the available window"]})]}),(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:im.orangeBg,border:`1px solid ${im.orangeBorder}`,borderRadius:20,fontSize:11,color:im.orange,marginLeft:"auto",flexShrink:0},children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,f.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{width:290,minWidth:290,borderRight:`1px solid ${im.border}`,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsx)(ir,{year:d,month:h,selDay:j,today:c,earliest:y,onSelect:T,onPrev:R,onNext:S}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:7},children:"Time (UTC)"}),(0,f.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,f.jsx)("input",{value:l,onChange:a=>{m(a.target.value),A(null)},style:{flex:1,padding:"7px 10px",border:`1px solid ${im.border}`,borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:im.text,background:im.bg,outline:"none"},onFocus:a=>a.target.style.borderColor=im.border2,onBlur:a=>a.target.style.borderColor=im.border,placeholder:"HH:MM:SS"}),(0,f.jsx)("button",{onClick:V,style:{padding:"7px 11px",border:`1px solid ${im.border}`,borderRadius:6,fontSize:11,color:im.text2,background:im.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,f.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:9},children:"Quick points"}),ab.map(a=>{let b=n===a.id,c=a.date<new Date(y.getFullYear(),y.getMonth(),y.getDate());return(0,f.jsxs)("button",{onClick:c?void 0:()=>U(a.id,a.y,a.m,a.d,a.t),disabled:c,title:c?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:`1px solid ${b?im.text:im.border}`,borderRadius:7,background:b?im.bg2:im.bg,cursor:c?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:c?im.border2:b?im.text:im.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:c?.5:1},className:c?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===a.icon?(0,f.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,f.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:(0,f.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),a.label,(0,f.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:im.text3},children:a.time})]},a.id)})]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:im.text,flex:1},children:["Snapshot — ",Q]}),z?.bookmark&&(0,f.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:im.text3,padding:"2px 7px",background:im.bg2,border:`1px solid ${im.border}`,borderRadius:3},children:z.bookmark.length>22?z.bookmark.slice(0,20)+"…":z.bookmark})]}),(0,f.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[D&&(0,f.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:D}),J&&(0,f.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",J]}),B&&(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:im.text3,padding:"20px 0"},children:[(0,f.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,f.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,f.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,f.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!B&&!z&&!D&&(0,f.jsxs)("div",{style:{padding:"20px 0",color:im.text3,fontSize:12},children:[p&&(0,f.jsxs)("div",{style:{background:im.bg2,border:`1px solid ${im.border}`,borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,f.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:im.text,wordBreak:"break-all"},children:p})]}),(0,f.jsxs)("div",{style:{textAlign:"center",paddingTop:p?4:24},children:[(0,f.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,f.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!B&&z&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{style:{marginBottom:18},children:[(0,f.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:im.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,f.jsx)(it,{type:"add",children:"refreshed"})]}),(0,f.jsx)(is,{kind:"c",text:`Restore target: ${Q}`}),z.bookmark?(0,f.jsx)(is,{kind:"a",text:`current bookmark: ${z.bookmark}`}):(0,f.jsx)(is,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,f.jsx)(is,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,f.jsx)("div",{style:{fontSize:11,color:im.text3,background:im.bg2,border:`1px solid ${im.border}`,borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderTop:`1px solid ${im.border}`,display:"flex",alignItems:"center",gap:10,background:im.bg,flexShrink:0},children:[(0,f.jsxs)("div",{style:{flex:1},children:[(0,f.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:im.text},children:["Restore to ",P]}),z?.bookmark&&(0,f.jsxs)("div",{style:{fontSize:11,color:im.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",z.bookmark]})]}),(0,f.jsxs)("button",{onClick:W,disabled:B,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:`1px solid ${im.border}`,background:im.bg,color:im.text,fontSize:12,fontWeight:500,cursor:B?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:B?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,f.jsxs)("button",{onClick:()=>G(!0),disabled:H,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:H?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:H?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),H?"Restoring…":"Restore database"]})]})]})]}),F&&(0,f.jsx)(iu,{label:P,bookmark:z?.bookmark,onCancel:()=>G(!1),onConfirm:X}),L&&(0,f.jsx)(iv,{label:P,undoBookmark:N,onDone:()=>{M(!1),A(null)}})]})}function ix({open:a,onClose:b,onSubmit:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(""),[l,m]=(0,g.useState)(!1),n=async a=>{a.preventDefault(),k(""),m(!0);try{await c({accountId:d,apiToken:h}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:d,apiToken:h})),b()}catch(a){k(a.message)}finally{m(!1)}};return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md",children:[(0,f.jsxs)(hX,{children:[(0,f.jsx)(hZ,{children:"Connect to Cloudflare"}),(0,f.jsx)(h$,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,f.jsxs)("form",{onSubmit:n,className:"space-y-4 mt-4",children:[j&&(0,f.jsx)(A,{variant:"destructive",children:(0,f.jsx)(B,{children:j})}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,f.jsx)(x,{placeholder:"Your Cloudflare Account ID",value:d,onChange:a=>e(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,f.jsx)(x,{type:"password",placeholder:"Your D1 Database API Token",value:h,onChange:a=>i(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,f.jsx)(dT,{type:"button",variant:"outline",onClick:b,children:"Cancel"}),(0,f.jsxs)(dT,{type:"submit",disabled:l,children:[l&&(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function iy(){let{refreshTables:a}=(0,dR.t)(),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(null),{isConnecting:j,isPushing:k,showPreview:l,connectToCloudflare:m,pushToRemote:o,pullToRemotePreview:p,validateStoredCredentials:q,PreviewUI:r}=eB(),t=async()=>{i(null),e("push");try{if(!await q())return void c(!0);await o(),i({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(a){i({type:"error",message:a.message})}},u=async()=>{i(null),e("pull");try{if(!await q())return void c(!0);await p()}catch(a){i({type:"error",message:a.message})}},v=j||k;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,f.jsx)(g3,{className:"h-4 w-4"}),(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,f.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),h&&(0,f.jsxs)(A,{variant:"error"===h.type?"destructive":"default",children:["error"===h.type?(0,f.jsx)(n,{className:"h-4 w-4"}):(0,f.jsx)(h1,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h.message})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(gC,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,f.jsx)(dT,{size:"sm",onClick:t,disabled:v,className:"w-full",children:k&&"push"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(gC,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(g8,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,f.jsx)(dT,{size:"sm",variant:"outline",onClick:u,disabled:v,className:"w-full",children:j&&"pull"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(g8,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,f.jsx)(ix,{open:b,onClose:()=>c(!1),onSubmit:m}),r]})}let iz={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},iA={loading:null,success:"✓",error:"✗",info:"─"};function iB(){let{lastStatus:a}=(0,dR.t)(),b=function(a){let[b,c]=(0,g.useState)("");return b}(a?.ts),c=a?.type??"info",d=a?.message??"Ready",e=a?.detail??null,h=iz[c]??iz.info,i=iA[c];return(0,f.jsxs)("div",{className:`flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ${h}`,role:"status","aria-live":"polite",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,f.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===c?(0,f.jsx)(s,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)("span",{children:i})}),(0,f.jsx)("span",{className:"truncate",children:d}),e&&(0,f.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",e]})]}),b&&(0,f.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:b})]})}function iC(){let[a,b]=(0,g.useState)("sql-editor"),[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)("");return(0,f.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,f.jsx)(eD,{className:"w-64 border-r flex-shrink-0",currentView:a,onNavigate:b,onTableSelect:a=>{d(a),b("table-view")}}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,f.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===a&&(0,f.jsx)(fp,{initialQuery:e}),"schema"===a&&(0,f.jsx)(il,{}),"migrations"===a&&(0,f.jsx)(ii,{}),"time-travel"===a&&(0,f.jsx)(iw,{}),"remote-sync"===a&&(0,f.jsx)(iy,{}),"table-view"===a&&c&&(0,f.jsx)(ig,{tableName:c,onOpenInSQL:a=>{h(a),b("sql-editor")}})]}),(0,f.jsx)(iB,{})]})]})}},33540:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(35288)._(c(43972));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43972:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(21124),e=c(38301),f=c(24207),g=c(52402);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},52402:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return h}});let d=c(21124),e=c(23312),f=c(29294),g=c(61348);function h(a){let{moduleIds:b}=a,c=f.workAsyncStorage.getStore();if(void 0===c)return null;let h=[];if(c.reactLoadableManifest&&b){let a=c.reactLoadableManifest;for(let c of b){if(!a[c])continue;let b=a[c].files;h.push(...b)}}return 0===h.length?null:(0,d.jsx)(d.Fragment,{children:h.map(a=>{let b=c.assetPrefix+"/_next/"+(0,g.encodeURIPath)(a);return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:b,rel:"stylesheet",as:"style"},a):((0,e.preload)(b,{as:"script",fetchPriority:"low"}),null)})})}},61348:(a,b)=>{"use strict";function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},81316:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,1905)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,61662)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
56
+ SET ${i}
57
+ WHERE ${d} = ${j};
58
+ `;await c(k,{telemetryContext:0===g?{action:"table_update_rows",rowsAffected:f.size}:void 0}),g++}if(g>0){let b=await l(a);r(b.data),w(b.meta.total),Q(Math.ceil(b.meta.total/N)),m("success",`Updated ${g} ${1===g?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Updated ${g} ${1===g?"record":"records"}`})}}G(new Map),I(new Set),ad(null)}catch(d){let b=fl(d),c={...b,stderr:d.stderr,stdout:d.stdout};m("error",b.message||"Save failed",`Error saving changes to ${a}`),ad(c),ab(!0)}finally{C(!1)}},aQ=(0,g.useCallback)(async()=>{if(!aD&&a){X(!0),Z(null);try{let b,d=t.find(a=>1===a.pk)?.name;if(!d)throw Error("No primary key found in table schema");let e=Array.from(R).map(a=>q[a][d]);if(0===e.length)return;let f=a=>null==a||"null"===a,g=e.filter(f),h=e.filter(a=>!f(a)),i=h.map(a=>"string"==typeof a&&isNaN(a)?`'${a.replace(/'/g,"''")}'`:a);b=g.length>0&&h.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL OR ${d} IN (${i.join(",")});`:g.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL;`:`DELETE FROM ${a} WHERE ${d} IN (${i.join(",")});`,await c(b,{telemetryContext:{action:"table_delete_rows",rowsAffected:e.length}});let j=new Set(e),k=q.filter(a=>!j.has(a[d]));r(k),w(a=>a-e.length),Q(Math.ceil((v-e.length)/N)),L>1&&q.length===e.length&&M(a=>a-1),V(!1),S(new Set),m("success",`Deleted ${e.length} ${1===e.length?"record":"records"} \xb7 ${a}`),p({title:"Success",description:`Deleted ${e.length} ${1===e.length?"record":"records"}`})}catch(b){console.error("Delete operation failed:",b),m("error",b.message||"Delete failed",`Error deleting from ${a}`),Z(b.message||String(b))}finally{X(!1)}}},[a,R,q,t,c,l,aF,L,N,v,p,d,e,m,aD]),aR=(0,g.useCallback)(a=>{S(a?new Set(ax.map((a,b)=>b)):new Set)},[ax]),aS=(0,g.useCallback)((a,b)=>{S(c=>{let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]);return((0,g.useCallback)(b=>{at(b),localStorage.setItem(`table-widths-${a}`,JSON.stringify(b))},[a]),(0,g.useCallback)(async b=>{let d=ie(b);if(!d){al(null),an(0);return}try{let e=t.find(a=>1===a.pk)?.name||t[0]?.name||"rowid",f=await c(`SELECT COUNT(*) as total FROM "${a}" WHERE ${d}`),g=f?.results?.[0]?.results?.[0]?.total??0,h=await c(`SELECT * FROM "${a}" WHERE ${d} ORDER BY "${e}" DESC LIMIT ${N} OFFSET ${(L-1)*N}`,{telemetryContext:{action:"table_filter",filterCount:b.length}}),i=h?.results?.[0]?.results||[];an(g),al(i)}catch{al([]),an(0)}},[a,t,c,N,L]),D)?(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Failed to load table: ",D]})]})}):(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsx)(hm,{selectedCount:R.size,totalRows:ay,currentPage:L,totalPages:az,rowsPerPage:N,onPageChange:M,onRowsPerPageChange:O,onAdd:aM,onDelete:()=>V(!0),onImport:()=>{if(aD)return void p({variant:"destructive",title:"Remote is read-only",description:"Switch source to Local to import records."});_(!0)},onRefresh:aI,tableName:a,disabled:aC,readOnly:aD,editCount:F.size,newRecordsCount:J.length,isSaving:z,onSaveChanges:aP,onDiscardChanges:()=>{G(new Map),I(new Set),K([]),ad(null),p({description:"Changes discarded"})},schema:t,visibleColumns:au,onColumnToggle:aG,showFilters:ai,onToggleFilters:()=>aj(a=>!a),activeFilterCount:ag.filter(a=>a.column&&a.operator).length}),ai&&(0,f.jsx)(ig,{schema:t,filters:ag,onFiltersChange:ah,onOpenInSQL:()=>{let c=ie(ag);if(c&&b){let d=t.find(a=>1===a.pk)?.name||t[0]?.name||"rowid";b(`SELECT * FROM "${a}" WHERE ${c} ORDER BY "${d}" DESC LIMIT ${N};`)}}}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,f.jsxs)(eq,{className:"w-full h-full",children:[(0,f.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,f.jsxs)(es,{style:{tableLayout:"fixed",width:`${aB}px`},children:[!x&&(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,f.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,f.jsx)(fD,{ref:T,checked:R.size===ax.length&&ax.length>0,onCheckedChange:aR,disabled:aC})})}),aA.map(a=>(0,f.jsx)(h4,{width:as[a.name]||150,onResize:b=>aH(a.name,b),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,f.jsxs)(h8,{column:a.name,sortConfig:ae,onSort:aJ,children:[(0,f.jsx)("span",{className:"text-xs font-bold text-foreground",children:a.name}),(0,f.jsx)("span",{className:"text-xs text-muted-foreground",children:a.type?.toLowerCase()})]})},a.name))]})}),(0,f.jsxs)(eu,{children:[x&&(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:aA.length+1,className:"h-64",children:(0,f.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,f.jsx)(s,{className:"h-6 w-6 animate-spin text-primary"})})})}),!x&&(0,f.jsxs)(f.Fragment,{children:[J.map((a,b)=>(0,f.jsx)(hq,{schema:aA,onRemove:()=>aN(b),onChange:a=>aO(b,a)},`new-${b}`)),0===ax.length&&0===J.length?(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:aA.length+1,className:"h-64 text-center text-muted-foreground",children:aw?"No rows match the current filters":"Table is empty"})}):ax.map((a,b)=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsxs)(ev,{className:R.has(b)?"bg-blue-50":"bg-white",children:[(0,f.jsx)(ex,{className:"p-0",children:(0,f.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,f.jsx)(fD,{checked:R.has(b),onCheckedChange:a=>aS(b,a),disabled:aC||aD})})}),aA.map(c=>{let d=`${b}::${c.name}`,e=F.get(d);return(0,f.jsx)(hn,{value:e?e.value:a[c.name],row:a,column:c.name,schema:t,onChange:a=>aL(b,c.name,a),onStartEdit:aw||aD?void 0:a=>aK(b,c.name,a),isEditing:!aw&&F.has(d),style:{width:`${as[c.name]||150}px`},fkInfo:ao[c.name],onShowRelation:ao[c.name]?()=>ar({rowIndex:b,relatedTable:ao[c.name].table,relatedKey:ao[c.name].to,value:a[c.name]}):void 0},c.name)})]}),aq?.rowIndex===b&&(0,f.jsx)(h9,{relatedTable:aq.relatedTable,relatedKey:aq.relatedKey,value:aq.value,colSpan:aA.length+1,onClose:()=>ar(null)})]},b))]})]})]})}),(0,f.jsx)(er,{orientation:"horizontal"})]})}),(0,f.jsx)(h0,{isOpen:U,onClose:()=>{V(!1),Z(null)},onConfirm:aQ,selectedCount:R.size,tableName:a,isDeleting:W,error:Y}),(0,f.jsx)(h1,{isOpen:aa,onClose:()=>ab(!1),error:ac,onOpenInSQL:()=>{ab(!1)},onUpdateAnyway:async()=>{ab(!1),await aP(!0)},showSQLOption:ac?.type==="NULLABLE_PK"}),(0,f.jsx)(h3,{open:$,onClose:()=>_(!1),tableName:a,schema:t,onImportComplete:()=>{_(!1),aI()}})]})}function ii({migration:a}){return a.orphaned?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(n,{className:"h-3 w-3"})," Orphaned"]}):a.applied?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,f.jsx)(h2,{className:"h-3 w-3"})," Applied"]}):(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(v,{className:"h-3 w-3"})," Pending"]})}function ij(){let{currentDatabase:a,executeQuery:b,refreshTables:c}=(0,dR.t)(),{toast:d}=(0,g7.dj)(),[e,h]=(0,g.useState)([]),[i,j]=(0,g.useState)(""),[k,l]=(0,g.useState)(!0),[m,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(null),r=(0,g.useCallback)(async()=>{l(!0),q(null);try{let b=a?.database_name,c=b?`?db=${encodeURIComponent(b)}`:"",d=await fetch(`/api/migrations/list${c}`),e=await d.json();if(!d.ok||!e.success)throw Error(e.error||"Failed to load migrations");h(e.migrations),j(e.migrationsDir)}catch(a){q(a.message)}finally{l(!1)}},[a]),t=e.filter(a=>!a.applied&&!a.orphaned),u=(0,g.useCallback)(async()=>{if(0===t.length)return;o(!0);let b=0;try{for(let c of t){await fetch(`/api/migrations/list?file=${encodeURIComponent(c.name)}${a?.database_name?`&db=${encodeURIComponent(a.database_name)}`:""}`);let d=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:c.name,db:a?.database_name})}),e=await d.json();if(!d.ok||!e.success)throw Error(`Failed to apply ${c.name}: ${e.error||"Unknown error"}`);b++}d({title:"Migrations Applied",description:`${b} migration${1!==b?"s":""} applied successfully.`}),await c(),await r()}catch(a){d({variant:"destructive",title:"Apply Failed",description:a.message})}finally{o(!1)}},[t,a,d,c,r]);return(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),i&&(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:i})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[t.length>0&&(0,f.jsx)(dT,{size:"sm",onClick:u,disabled:m,className:"font-semibold",children:m?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"})," Applying…"]}):`Apply ${t.length} pending`}),(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",onClick:r,disabled:k,children:(0,f.jsx)(g4,{className:`h-4 w-4 ${k?"animate-spin":""}`})})]})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-auto",children:[p&&(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]})}),!k&&!p&&0===e.length&&(0,f.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,f.jsx)(hc,{className:"h-8 w-8"}),(0,f.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,f.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!p&&e.length>0&&(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"text-xs font-bold",children:"Migration file"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-28",children:"Status"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,f.jsx)(eu,{children:e.map(a=>(0,f.jsxs)(ev,{className:a.orphaned?"opacity-60":"",children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{children:(0,f.jsx)(ii,{migration:a})}),(0,f.jsx)(ex,{className:"text-xs text-muted-foreground",children:a.applied_at?new Date(a.applied_at).toLocaleString():"—"}),(0,f.jsx)(ex,{className:"font-mono text-xs text-muted-foreground",children:a.checksum?a.checksum.slice(0,8):"—"})]},a.name))})]})]})]})}var ik=c(33540);let il=c.n(ik)()(async()=>{},{loadableGenerated:{modules:["components/schema-view.jsx -> ./schema-erd"]},ssr:!1,loading:()=>(0,f.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,f.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function im(){let{currentDatabase:a,sourceMode:b}=(0,dR.t)();return(0,f.jsx)(il,{db:a?.database_name,source:b})}let io={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},ip=["January","February","March","April","May","June","July","August","September","October","November","December"],iq={2:[3,7,10,14,16],1:[5,12,18,22]};function ir(a){return String(a).padStart(2,"0")}function is({year:a,month:b,selDay:c,today:d,earliest:e,onSelect:g,onPrev:h,onNext:i}){let j=new Date(a,b,1).getDay(),k=new Date(a,b+1,0).getDate(),l=iq[b]||[],m=d.getUTCFullYear(),n=d.getUTCMonth(),o=d.getUTCDate(),p=[];for(let a=0;a<j;a++)p.push((0,f.jsx)("div",{},`b${a}`));for(let d=1;d<=k;d++){let h=a>m||a===m&&b>n||a===m&&b===n&&d>o,i=new Date(a,b,d).getTime(),j=!!e&&i<new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),k=a===m&&b===n&&d===o,q=d===c,r=l.includes(d),s=h||j;p.push((0,f.jsxs)("div",{onClick:s?void 0:()=>g(d),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:s?"default":"pointer",color:s?io.border2:q?io.bg:k?io.text:io.text2,background:q?io.text:"transparent",fontWeight:k?600:void 0,pointerEvents:s?"none":void 0,position:"relative",userSelect:"none"},className:s||q?"":"hover:bg-[#f2f0ec]",children:[d,r&&!h&&(0,f.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:q?io.bg:io.orange,display:"block"}})]},d))}return(0,f.jsxs)("div",{style:{padding:"14px 16px",borderBottom:`1px solid ${io.border}`},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,f.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:io.text},children:[ip[b]," ",a]}),(0,f.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",h],["›",i]].map(([a,b])=>(0,f.jsx)("button",{onClick:b,style:{width:24,height:24,border:`1px solid ${io.border}`,borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:io.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:a},a))})]}),(0,f.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,f.jsx)("div",{style:{fontSize:10,fontWeight:500,color:io.text3,textAlign:"center",padding:"3px 0"},children:a},a)),p]})]})}function it({kind:a,text:b}){let c={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:io.text3,markBg:"#f9fafb",markColor:io.text3,mark:"~"}}[a];return(0,f.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,f.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:c.markBg,color:c.markColor},children:c.mark}),(0,f.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:c.bg,color:c.color},children:b})]})}function iu({type:a,children:b}){return(0,f.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[a]},children:b})}function iv({label:a,bookmark:b,onCancel:c,onConfirm:d}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:io.bg,border:`1px solid ${io.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,f.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,f.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,f.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:io.text,marginBottom:5},children:"Restore database?"}),(0,f.jsx)("div",{style:{fontSize:12,color:io.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,f.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:io.bg2,borderRadius:6,color:io.text,marginBottom:10,lineHeight:1.7},children:[a,b&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("br",{}),(0,f.jsxs)("span",{style:{fontSize:10,color:io.text3},children:["bookmark: ",b]})]})]}),(0,f.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:io.orangeBg,border:`1px solid ${io.orangeBorder}`,borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,f.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,f.jsx)("button",{onClick:c,style:{flex:1,padding:8,border:`1px solid ${io.border}`,borderRadius:7,background:"transparent",color:io.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,f.jsx)("button",{onClick:d,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function iw({label:a,undoBookmark:b,onDone:c}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:io.bg,border:`1px solid ${io.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,f.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,f.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:io.text,marginBottom:5},children:"Database restored"}),(0,f.jsxs)("div",{style:{fontSize:12,color:io.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",a," successfully."]}),b&&(0,f.jsxs)("div",{style:{fontSize:11,color:io.text2,background:io.bg2,border:`1px solid ${io.border}`,borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",b,(0,f.jsx)("br",{}),(0,f.jsx)("span",{style:{fontSize:10,color:io.text3},children:"Use this to revert if something looks wrong"})]}),(0,f.jsx)("button",{onClick:c,style:{width:"100%",padding:9,background:io.text,color:io.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function ix(){let{currentDatabase:a}=(0,dR.t)(),b=a?.database_name||"database",c=new Date,[d,e]=(0,g.useState)(c.getUTCFullYear()),[h,i]=(0,g.useState)(c.getUTCMonth()),[j,k]=(0,g.useState)(c.getUTCDate()),[l,m]=(0,g.useState)(`${ir(c.getUTCHours())}:${ir(c.getUTCMinutes())}:00`),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!0),[t,u]=(0,g.useState)(null),[v,w]=(0,g.useState)(null),x=new Date(c.getTime()-2592e6),y=v||x,[z,A]=(0,g.useState)(null),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),[F,G]=(0,g.useState)(!1),[H,I]=(0,g.useState)(!1),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(!1),[N,O]=(0,g.useState)(null),P=`${ip[h].slice(0,3)} ${ir(j)}, ${d} \xb7 ${l||"00:00:00"} UTC`,Q=`${ip[h].slice(0,3)} ${ir(j)}, ${d} at ${l||"00:00:00"} UTC`,R=(0,g.useCallback)(()=>{i(a=>0===a?(e(a=>a-1),11):a-1),k(1),A(null)},[]),S=(0,g.useCallback)(()=>{let a=11===h?0:h+1,b=11===h?d+1:d;b>c.getUTCFullYear()||b===c.getUTCFullYear()&&a>c.getUTCMonth()||(i(a),e(b),k(1),A(null))},[h,d,c]),T=(0,g.useCallback)(a=>{k(a),o(null),A(null)},[]),U=(0,g.useCallback)((a,b,c,d,f)=>{e(b),i(c),k(d),m(f),o(a),A(null)},[]),V=(0,g.useCallback)(()=>{let a=new Date;e(a.getUTCFullYear()),i(a.getUTCMonth()),k(a.getUTCDate()),m(`${ir(a.getUTCHours())}:${ir(a.getUTCMinutes())}:00`),o(null),A(null)},[]),W=(0,g.useCallback)(async()=>{C(!0),E(null),A(null);try{let b=a?.database_name?`?db=${encodeURIComponent(a.database_name)}`:"",c=await fetch(`/api/time-travel/preview${b}`),d=await c.json();if(!c.ok||!d.success)throw Error(d.error||"Failed to refresh remote state");q(d.currentBookmark),A({bookmark:d.currentBookmark})}catch(a){E(a.message)}finally{C(!1)}},[a]),X=(0,g.useCallback)(async()=>{G(!1),I(!0),K(null);try{let b=new Date(`${d}-${ir(h+1)}-${ir(j)}T${l}Z`).toISOString(),c=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:a?.database_name,bookmark:z?.bookmark??null,timestamp:b})}),e=await c.json();if(!c.ok||!e.success)throw Error(e.error||"Restore failed");O(e.undoBookmark),M(!0)}catch(a){K(a.message)}finally{I(!1)}},[d,h,j,l,a,z]),Y=new Date(c-18e5),Z=new Date(c);Z.setHours(12,0,0,0);let $=new Date(c-864e5);$.setHours(18,0,0,0);let _=new Date(c-1728e5);_.setHours(9,0,0,0);let aa=new Date(c-6048e5);aa.setHours(0,0,0,0);let ab=[{id:"q30",label:"30 minutes ago",time:`${ir(Y.getUTCHours())}:${ir(Y.getUTCMinutes())}`,date:Y,y:Y.getUTCFullYear(),m:Y.getUTCMonth(),d:Y.getUTCDate(),t:`${ir(Y.getUTCHours())}:${ir(Y.getUTCMinutes())}:00`,icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:`${ip[$.getUTCMonth()].slice(0,3)} ${$.getUTCDate()}`,date:$,y:$.getUTCFullYear(),m:$.getUTCMonth(),d:$.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:`${ip[_.getUTCMonth()].slice(0,3)} ${_.getUTCDate()}`,date:_,y:_.getUTCFullYear(),m:_.getUTCMonth(),d:_.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:`${ip[aa.getUTCMonth()].slice(0,3)} ${aa.getUTCDate()}`,date:aa,y:aa.getUTCFullYear(),m:aa.getUTCMonth(),d:aa.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:io.bg},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:`1px solid ${io.border}`,flexShrink:0},children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{style:{fontSize:13,fontWeight:600,color:io.text},children:"Time travel"}),(0,f.jsxs)("div",{style:{fontSize:11,color:io.text3,marginTop:1},children:[b," \xb7 remote \xb7"," ",r?"loading available window…":t?"could not load window info":p?`latest snapshot: ${p.slice(0,18)}…`:"restore to any point in the available window"]})]}),(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:io.orangeBg,border:`1px solid ${io.orangeBorder}`,borderRadius:20,fontSize:11,color:io.orange,marginLeft:"auto",flexShrink:0},children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,f.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{width:290,minWidth:290,borderRight:`1px solid ${io.border}`,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsx)(is,{year:d,month:h,selDay:j,today:c,earliest:y,onSelect:T,onPrev:R,onNext:S}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${io.border}`,flexShrink:0},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:io.text3,marginBottom:7},children:"Time (UTC)"}),(0,f.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,f.jsx)("input",{value:l,onChange:a=>{m(a.target.value),A(null)},style:{flex:1,padding:"7px 10px",border:`1px solid ${io.border}`,borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:io.text,background:io.bg,outline:"none"},onFocus:a=>a.target.style.borderColor=io.border2,onBlur:a=>a.target.style.borderColor=io.border,placeholder:"HH:MM:SS"}),(0,f.jsx)("button",{onClick:V,style:{padding:"7px 11px",border:`1px solid ${io.border}`,borderRadius:6,fontSize:11,color:io.text2,background:io.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,f.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:io.text3,marginBottom:9},children:"Quick points"}),ab.map(a=>{let b=n===a.id,c=a.date<new Date(y.getFullYear(),y.getMonth(),y.getDate());return(0,f.jsxs)("button",{onClick:c?void 0:()=>U(a.id,a.y,a.m,a.d,a.t),disabled:c,title:c?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:`1px solid ${b?io.text:io.border}`,borderRadius:7,background:b?io.bg2:io.bg,cursor:c?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:c?io.border2:b?io.text:io.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:c?.5:1},className:c?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===a.icon?(0,f.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,f.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:(0,f.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),a.label,(0,f.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:io.text3},children:a.time})]},a.id)})]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:`1px solid ${io.border}`,flexShrink:0},children:[(0,f.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:io.text,flex:1},children:["Snapshot — ",Q]}),z?.bookmark&&(0,f.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:io.text3,padding:"2px 7px",background:io.bg2,border:`1px solid ${io.border}`,borderRadius:3},children:z.bookmark.length>22?z.bookmark.slice(0,20)+"…":z.bookmark})]}),(0,f.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[D&&(0,f.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:D}),J&&(0,f.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",J]}),B&&(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:io.text3,padding:"20px 0"},children:[(0,f.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,f.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,f.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,f.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!B&&!z&&!D&&(0,f.jsxs)("div",{style:{padding:"20px 0",color:io.text3,fontSize:12},children:[p&&(0,f.jsxs)("div",{style:{background:io.bg2,border:`1px solid ${io.border}`,borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:io.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,f.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:io.text,wordBreak:"break-all"},children:p})]}),(0,f.jsxs)("div",{style:{textAlign:"center",paddingTop:p?4:24},children:[(0,f.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,f.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!B&&z&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{style:{marginBottom:18},children:[(0,f.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:io.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,f.jsx)(iu,{type:"add",children:"refreshed"})]}),(0,f.jsx)(it,{kind:"c",text:`Restore target: ${Q}`}),z.bookmark?(0,f.jsx)(it,{kind:"a",text:`current bookmark: ${z.bookmark}`}):(0,f.jsx)(it,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,f.jsx)(it,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,f.jsx)("div",{style:{fontSize:11,color:io.text3,background:io.bg2,border:`1px solid ${io.border}`,borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderTop:`1px solid ${io.border}`,display:"flex",alignItems:"center",gap:10,background:io.bg,flexShrink:0},children:[(0,f.jsxs)("div",{style:{flex:1},children:[(0,f.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:io.text},children:["Restore to ",P]}),z?.bookmark&&(0,f.jsxs)("div",{style:{fontSize:11,color:io.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",z.bookmark]})]}),(0,f.jsxs)("button",{onClick:W,disabled:B,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:`1px solid ${io.border}`,background:io.bg,color:io.text,fontSize:12,fontWeight:500,cursor:B?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:B?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,f.jsxs)("button",{onClick:()=>G(!0),disabled:H,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:H?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:H?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),H?"Restoring…":"Restore database"]})]})]})]}),F&&(0,f.jsx)(iv,{label:P,bookmark:z?.bookmark,onCancel:()=>G(!1),onConfirm:X}),L&&(0,f.jsx)(iw,{label:P,undoBookmark:N,onDone:()=>{M(!1),A(null)}})]})}function iy({open:a,onClose:b,onSubmit:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(""),[l,m]=(0,g.useState)(!1),n=async a=>{a.preventDefault(),k(""),m(!0);try{await c({accountId:d,apiToken:h}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:d,apiToken:h})),b()}catch(a){k(a.message)}finally{m(!1)}};return(0,f.jsx)(hw,{open:a,onOpenChange:b,children:(0,f.jsxs)(hX,{className:"sm:max-w-md",children:[(0,f.jsxs)(hY,{children:[(0,f.jsx)(h$,{children:"Connect to Cloudflare"}),(0,f.jsx)(h_,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,f.jsxs)("form",{onSubmit:n,className:"space-y-4 mt-4",children:[j&&(0,f.jsx)(A,{variant:"destructive",children:(0,f.jsx)(B,{children:j})}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,f.jsx)(x,{placeholder:"Your Cloudflare Account ID",value:d,onChange:a=>e(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,f.jsx)(x,{type:"password",placeholder:"Your D1 Database API Token",value:h,onChange:a=>i(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,f.jsx)(dT,{type:"button",variant:"outline",onClick:b,children:"Cancel"}),(0,f.jsxs)(dT,{type:"submit",disabled:l,children:[l&&(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function iz(){let{refreshTables:a}=(0,dR.t)(),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(null),{isConnecting:j,isPushing:k,showPreview:l,connectToCloudflare:m,pushToRemote:o,pullToRemotePreview:p,validateStoredCredentials:q,PreviewUI:r}=eB(),t=async()=>{i(null),e("push");try{if(!await q())return void c(!0);await o(),i({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(a){i({type:"error",message:a.message})}},u=async()=>{i(null),e("pull");try{if(!await q())return void c(!0);await p()}catch(a){i({type:"error",message:a.message})}},v=j||k;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,f.jsx)(g4,{className:"h-4 w-4"}),(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,f.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),h&&(0,f.jsxs)(A,{variant:"error"===h.type?"destructive":"default",children:["error"===h.type?(0,f.jsx)(n,{className:"h-4 w-4"}):(0,f.jsx)(h2,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h.message})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(gD,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,f.jsx)(dT,{size:"sm",onClick:t,disabled:v,className:"w-full",children:k&&"push"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(gD,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(g9,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,f.jsx)(dT,{size:"sm",variant:"outline",onClick:u,disabled:v,className:"w-full",children:j&&"pull"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(g9,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,f.jsx)(iy,{open:b,onClose:()=>c(!1),onSubmit:m}),r]})}let iA={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},iB={loading:null,success:"✓",error:"✗",info:"─"};function iC(){let{lastStatus:a}=(0,dR.t)(),b=function(a){let[b,c]=(0,g.useState)("");return b}(a?.ts),c=a?.type??"info",d=a?.message??"Ready",e=a?.detail??null,h=iA[c]??iA.info,i=iB[c];return(0,f.jsxs)("div",{className:`flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ${h}`,role:"status","aria-live":"polite",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,f.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===c?(0,f.jsx)(s,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)("span",{children:i})}),(0,f.jsx)("span",{className:"truncate",children:d}),e&&(0,f.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",e]})]}),b&&(0,f.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:b})]})}function iD(){let[a,b]=(0,g.useState)("sql-editor"),[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)("");return(0,f.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,f.jsx)(eD,{className:"w-64 border-r flex-shrink-0",currentView:a,onNavigate:b,onTableSelect:a=>{d(a),b("table-view")}}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,f.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===a&&(0,f.jsx)(fq,{initialQuery:e}),"schema"===a&&(0,f.jsx)(im,{}),"migrations"===a&&(0,f.jsx)(ij,{}),"time-travel"===a&&(0,f.jsx)(ix,{}),"remote-sync"===a&&(0,f.jsx)(iz,{}),"table-view"===a&&c&&(0,f.jsx)(ih,{tableName:c,onOpenInSQL:a=>{h(a),b("sql-editor")}})]}),(0,f.jsx)(iC,{})]})]})}},33540:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(35288)._(c(43972));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43972:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(21124),e=c(38301),f=c(24207),g=c(52402);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},52402:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return h}});let d=c(21124),e=c(23312),f=c(29294),g=c(61348);function h(a){let{moduleIds:b}=a,c=f.workAsyncStorage.getStore();if(void 0===c)return null;let h=[];if(c.reactLoadableManifest&&b){let a=c.reactLoadableManifest;for(let c of b){if(!a[c])continue;let b=a[c].files;h.push(...b)}}return 0===h.length?null:(0,d.jsx)(d.Fragment,{children:h.map(a=>{let b=c.assetPrefix+"/_next/"+(0,g.encodeURIPath)(a);return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:b,rel:"stylesheet",as:"style"},a):((0,e.preload)(b,{as:"script",fetchPriority:"low"}),null)})})}},61348:(a,b)=>{"use strict";function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},81316:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,1905)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,61662)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
59
59
  see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},97048:(a,b,c)=>{Promise.resolve().then(c.bind(c,1905))}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[873,386,839],()=>b(b.s=81316));module.exports=c})();