@gv-tech/ui-web 2.15.2 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/accordion.cjs +1 -1
  2. package/dist/accordion.mjs +3 -3
  3. package/dist/alert-dialog.cjs +2 -2
  4. package/dist/alert-dialog.mjs +16 -16
  5. package/dist/alert.cjs +1 -1
  6. package/dist/alert.mjs +1 -1
  7. package/dist/avatar.cjs +1 -1
  8. package/dist/avatar.mjs +34 -34
  9. package/dist/badge.cjs +1 -1
  10. package/dist/badge.mjs +1 -1
  11. package/dist/breadcrumb.cjs +1 -1
  12. package/dist/breadcrumb.mjs +1 -1
  13. package/dist/button.cjs +1 -1
  14. package/dist/button.mjs +1 -1
  15. package/dist/calendar.cjs +1 -1
  16. package/dist/calendar.mjs +1 -1
  17. package/dist/card.cjs +1 -1
  18. package/dist/card.mjs +1 -1
  19. package/dist/carousel.cjs +1 -1
  20. package/dist/carousel.mjs +1 -1
  21. package/dist/chart.cjs +1 -1
  22. package/dist/chart.mjs +1 -1
  23. package/dist/checkbox.cjs +1 -1
  24. package/dist/checkbox.mjs +2 -2
  25. package/dist/command.cjs +1 -1
  26. package/dist/command.mjs +114 -114
  27. package/dist/context-menu.cjs +1 -1
  28. package/dist/context-menu.mjs +68 -68
  29. package/dist/dialog.cjs +1 -1
  30. package/dist/dialog.mjs +21 -21
  31. package/dist/drawer.cjs +1 -1
  32. package/dist/drawer.mjs +16 -16
  33. package/dist/dropdown-menu.cjs +1 -1
  34. package/dist/dropdown-menu.mjs +43 -43
  35. package/dist/form.cjs +1 -1
  36. package/dist/form.mjs +1 -1
  37. package/dist/hover-card.cjs +1 -1
  38. package/dist/hover-card.mjs +2 -2
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.d.ts +28 -0
  41. package/dist/index.mjs +22 -20
  42. package/dist/input.cjs +1 -1
  43. package/dist/input.mjs +1 -1
  44. package/dist/label.cjs +1 -1
  45. package/dist/label.mjs +2 -2
  46. package/dist/menubar.cjs +1 -1
  47. package/dist/menubar.mjs +77 -77
  48. package/dist/navigation-menu.cjs +1 -1
  49. package/dist/navigation-menu.mjs +57 -57
  50. package/dist/pagination.cjs +1 -1
  51. package/dist/pagination.mjs +1 -1
  52. package/dist/popover.cjs +1 -1
  53. package/dist/popover.mjs +62 -62
  54. package/dist/progress.cjs +2 -2
  55. package/dist/progress.mjs +2 -2
  56. package/dist/radio-group.cjs +1 -1
  57. package/dist/radio-group.mjs +36 -36
  58. package/dist/resizable.cjs +1 -1
  59. package/dist/resizable.mjs +1 -1
  60. package/dist/scroll-area.cjs +1 -1
  61. package/dist/scroll-area.mjs +88 -88
  62. package/dist/search.cjs +1 -1
  63. package/dist/search.mjs +1 -1
  64. package/dist/select.cjs +1 -1
  65. package/dist/select.mjs +74 -74
  66. package/dist/separator.cjs +1 -1
  67. package/dist/separator.mjs +9 -9
  68. package/dist/sheet.cjs +1 -1
  69. package/dist/sheet.mjs +12 -12
  70. package/dist/skeleton.cjs +1 -1
  71. package/dist/skeleton.mjs +1 -1
  72. package/dist/slider.cjs +1 -1
  73. package/dist/slider.mjs +2 -2
  74. package/dist/switch.cjs +1 -1
  75. package/dist/switch.mjs +12 -12
  76. package/dist/table-of-contents.cjs +1 -0
  77. package/dist/table-of-contents.d.ts +35 -0
  78. package/dist/table-of-contents.mjs +160 -0
  79. package/dist/table.cjs +1 -1
  80. package/dist/table.mjs +1 -1
  81. package/dist/tabs.cjs +1 -1
  82. package/dist/tabs.mjs +41 -41
  83. package/dist/text.cjs +1 -1
  84. package/dist/text.mjs +1 -1
  85. package/dist/textarea.cjs +1 -1
  86. package/dist/textarea.mjs +1 -1
  87. package/dist/{theme-toggle-B4VZTDpe.js → theme-toggle-DXQGNfCe.js} +1 -1
  88. package/dist/{theme-toggle-WtPW9UZi.mjs → theme-toggle-tHXIbr8W.mjs} +1 -1
  89. package/dist/theme-toggle.cjs +1 -1
  90. package/dist/theme-toggle.mjs +2 -2
  91. package/dist/toast.cjs +1 -1
  92. package/dist/toast.mjs +35 -35
  93. package/dist/toggle-group.cjs +1 -1
  94. package/dist/toggle-group.mjs +15 -15
  95. package/dist/toggle.cjs +1 -1
  96. package/dist/toggle.mjs +4 -4
  97. package/dist/tooltip.cjs +1 -1
  98. package/dist/tooltip.mjs +3 -3
  99. package/dist/utils-DY6fhrgS.mjs +12 -0
  100. package/dist/utils-cdbZV8DZ.js +1 -0
  101. package/package.json +1 -1
  102. package/src/accordion.tsx +2 -2
  103. package/src/alert-dialog.tsx +6 -6
  104. package/src/avatar.tsx +3 -3
  105. package/src/checkbox.tsx +1 -1
  106. package/src/command.tsx +7 -7
  107. package/src/context-menu.tsx +8 -8
  108. package/src/dialog.tsx +4 -4
  109. package/src/drawer.tsx +3 -3
  110. package/src/dropdown-menu.tsx +8 -8
  111. package/src/hover-card.tsx +1 -1
  112. package/src/index.ts +4 -1
  113. package/src/label.tsx +1 -1
  114. package/src/lib/utils.ts +10 -0
  115. package/src/menubar.tsx +10 -10
  116. package/src/navigation-menu.tsx +6 -6
  117. package/src/popover.tsx +1 -1
  118. package/src/progress.tsx +1 -1
  119. package/src/radio-group.tsx +2 -2
  120. package/src/scroll-area.tsx +2 -2
  121. package/src/select.tsx +7 -7
  122. package/src/separator.tsx +1 -1
  123. package/src/sheet.tsx +4 -4
  124. package/src/slider.tsx +1 -1
  125. package/src/switch.tsx +1 -1
  126. package/src/table-of-contents.tsx +285 -0
  127. package/src/tabs.tsx +3 -3
  128. package/src/toast.tsx +6 -6
  129. package/src/toggle-group.tsx +2 -2
  130. package/src/toggle.tsx +1 -1
  131. package/src/tooltip.tsx +2 -2
  132. package/dist/utils-B6yFEsav.mjs +0 -8
  133. package/dist/utils-IjLH3w2e.js +0 -1
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("./jsx-runtime-nZSsnGb7.js"),Ze=require("lucide-react"),P=require("react"),Ge=require("./utils-IjLH3w2e.js");function Qe(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function et(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function tt(e){return e/100*window.innerHeight}function nt(e){return e/100*window.innerWidth}function ot(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function oe({groupSize:e,panelElement:t,styleProp:n}){let o;const[a,i]=ot(n);switch(i){case"%":{o=a/100*e;break}case"px":{o=a;break}case"rem":{o=et(t,a);break}case"em":{o=Qe(t,a);break}case"vh":{o=tt(a);break}case"vw":{o=nt(a);break}}return o}function O(e){return parseFloat(e.toFixed(3))}function Z({group:e}){const{orientation:t,panels:n}=e;return n.reduce((o,a)=>(o+=t==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,o),0)}function le(e){const{panels:t}=e,n=Z({group:e});return n===0?t.map(o=>({collapsedSize:0,collapsible:o.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:o.panelConstraints.disabled,minSize:0,maxSize:100,panelId:o.id})):t.map(o=>{const{element:a,panelConstraints:i}=o;let l=0;if(i.collapsedSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.collapsedSize});l=O(u/n*100)}let r;if(i.defaultSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.defaultSize});r=O(u/n*100)}let s=0;if(i.minSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.minSize});s=O(u/n*100)}let c=100;if(i.maxSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.maxSize});c=O(u/n*100)}return{collapsedSize:l,collapsible:i.collapsible===!0,defaultSize:r,disabled:i.disabled,minSize:s,maxSize:c,panelId:o.id}})}function C(e,t="Assertion error"){if(!e)throw Error(t)}function ue(e,t){return Array.from(t).sort(e==="horizontal"?rt:at)}function rt(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function at(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Te(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ie(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function it({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let a,i=Number.MAX_VALUE;for(const l of t){const{x:r,y:s}=Ie(o,l),c=e==="horizontal"?r:s;c<i&&(i=c,a=l)}return C(a,"No rect found"),a}let re;function st(){return re===void 0&&(typeof matchMedia=="function"?re=!!matchMedia("(pointer:coarse)").matches:re=!1),re}function je(e){const{element:t,orientation:n,panels:o,separators:a}=e,i=ue(n,Array.from(t.children).filter(Te).map(h=>({element:h}))).map(({element:h})=>h),l=[];let r=!1,s=!1,c=-1,u=-1,x=0,S,b=[];{let h=-1;for(const d of i)d.hasAttribute("data-panel")&&(h++,d.ariaDisabled===null&&(x++,c===-1&&(c=h),u=h))}if(x>1){let h=-1;for(const d of i)if(d.hasAttribute("data-panel")){h++;const p=o.find(f=>f.element===d);if(p){if(S){const f=S.element.getBoundingClientRect(),v=d.getBoundingClientRect();let y;if(s){const g=n==="horizontal"?new DOMRect(f.right,f.top,0,f.height):new DOMRect(f.left,f.bottom,f.width,0),m=n==="horizontal"?new DOMRect(v.left,v.top,0,v.height):new DOMRect(v.left,v.top,v.width,0);switch(b.length){case 0:{y=[g,m];break}case 1:{const L=b[0],R=it({orientation:n,rects:[f,v],targetRect:L.element.getBoundingClientRect()});y=[L,R===f?m:g];break}default:{y=b;break}}}else b.length?y=b:y=[n==="horizontal"?new DOMRect(f.right,v.top,v.left-f.right,v.height):new DOMRect(v.left,f.bottom,v.width,v.top-f.bottom)];for(const g of y){let m="width"in g?g:g.element.getBoundingClientRect();const L=st()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(m.width<L){const M=L-m.width;m=new DOMRect(m.x-M/2,m.y,m.width+M,m.height)}if(m.height<L){const M=L-m.height;m=new DOMRect(m.x,m.y-M/2,m.width,m.height+M)}const R=h<=c||h>u;!r&&!R&&l.push({group:e,groupSize:Z({group:e}),panels:[S,p],separator:"width"in g?void 0:g,rect:m}),r=!1}}s=!1,S=p,b=[]}}else if(d.hasAttribute("data-separator")){d.ariaDisabled!==null&&(r=!0);const p=a.find(f=>f.element===d);p?b.push(p):(S=void 0,b=[])}else s=!0}return l}class lt{#e={};addListener(t,n){const o=this.#e[t];return o===void 0?this.#e[t]=[n]:o.includes(n)||o.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const o=this.#e[t];if(o!==void 0)if(o.length===1)o[0].call(null,n);else{let a=!1,i=null;const l=Array.from(o);for(let r=0;r<l.length;r++){const s=l[r];try{s.call(null,n)}catch(c){i===null&&(a=!0,i=c)}}if(a)throw i}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const a=o.indexOf(n);a>=0&&o.splice(a,1)}}}function k(e,t,n=0){return Math.abs(O(e)-O(t))<=n}let j={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const A=new lt;function D(){return j}function G(e){const t=typeof e=="function"?e(j):e;if(j===t)return j;const n=j;return j={...j,...t},t.cursorFlags!==void 0&&A.emit("cursorFlagsChange",j.cursorFlags),t.interactionState!==void 0&&A.emit("interactionStateChange",j.interactionState),t.mountedGroups!==void 0&&(j.mountedGroups.forEach((o,a)=>{o.derivedPanelConstraints.forEach(i=>{if(i.collapsible){const{layout:l}=n.mountedGroups.get(a)??{};if(l){const r=k(i.collapsedSize,o.layout[i.panelId]),s=k(i.collapsedSize,l[i.panelId]);r&&!s&&(a.inMemoryLastExpandedPanelSizes[i.panelId]=l[i.panelId])}}})}),A.emit("mountedGroupsChange",j.mountedGroups)),j}function ut(e,t,n){let o,a={x:1/0,y:1/0};for(const i of t){const l=Ie(n,i.rect);switch(e){case"horizontal":{l.x<=a.x&&(o=i,a=l);break}case"vertical":{l.y<=a.y&&(o=i,a=l);break}}}return o?{distance:a,hitRegion:o}:void 0}function ct(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function dt(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:be(e),b:be(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)o=n.a.pop(),n.b.pop();C(o,"Stacking order can only be calculated for elements with a common ancestor");const a={a:ye(ve(n.a)),b:ye(ve(n.b))};if(a.a===a.b){const i=o.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let r=i.length;for(;r--;){const s=i[r];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(a.a-a.b)}const ft=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function pt(e){const t=getComputedStyle(Ne(e)??e).display;return t==="flex"||t==="inline-flex"}function mt(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||pt(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ft.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function ve(e){let t=e.length;for(;t--;){const n=e[t];if(C(n,"Missing node"),mt(n))return n}return null}function ye(e){return e&&Number(getComputedStyle(e).zIndex)||0}function be(e){const t=[];for(;e;)t.push(e),e=Ne(e);return t}function Ne(e){const{parentNode:t}=e;return ct(t)?t.host:t}function ht(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function gt({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Te(n)||n.contains(e)||e.contains(n))return!0;if(dt(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(ht(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function ce(e,t){const n=[];return t.forEach((o,a)=>{if(a.disabled)return;const i=je(a),l=ut(a.orientation,i,{x:e.clientX,y:e.clientY});l&&l.distance.x<=0&&l.distance.y<=0&&gt({groupElement:a.element,hitRegion:l.hitRegion.rect,pointerEventTarget:e.target})&&n.push(l.hitRegion)}),n}function vt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function F(e,t){return k(e,t)?0:e>t?1:-1}function K({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:o}){const{collapsedSize:a=0,collapsible:i,disabled:l,maxSize:r=100,minSize:s=0}=t;if(l&&!e)return n;if(F(o,s)<0)if(i){const c=(a+s)/2;F(o,c)<0?o=a:o=s}else o=s;return o=Math.min(r,o),o=O(o),o}function te({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:a,trigger:i}){if(k(e,0))return t;const l=i==="imperative-api",r=Object.values(t),s=Object.values(a),c=[...r],[u,x]=o;C(u!=null,"Invalid first pivot index"),C(x!=null,"Invalid second pivot index");let S=0;switch(i){case"keyboard":{{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,f)){const m=y-g;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}{const d=e<0?u:x,p=n[d];C(p,`No panel constraints found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,y)){const m=g-f;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}break}default:{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const f=r[d],{collapsible:v,collapsedSize:y,minSize:g}=p;if(v&&F(f,g)<0)if(e>0){const m=g-y,L=m/2,R=f+e;F(R,g)<0&&(e=F(e,L)<=0?0:m)}else{const m=g-y,L=100-m/2,R=f-e;F(R,g)<0&&(e=F(100+e,L)>0?0:-m)}break}}{const d=e<0?1:-1;let p=e<0?x:u,f=0;for(;;){const y=r[p];C(y!=null,`Previous layout not found for panel index ${p}`);const g=K({overrideDisabledPanels:l,panelConstraints:n[p],prevSize:y,size:100})-y;if(f+=g,p+=d,p<0||p>=n.length)break}const v=Math.min(Math.abs(e),Math.abs(f));e=e<0?0-v:v}{let d=e<0?u:x;for(;d>=0&&d<n.length;){const p=Math.abs(e)-Math.abs(S),f=r[d];C(f!=null,`Previous layout not found for panel index ${d}`);const v=f-p,y=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:f,size:v});if(!k(f,y)&&(S+=f-y,c[d]=y,S.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(vt(s,c))return a;{const d=e<0?x:u,p=r[d];C(p!=null,`Previous layout not found for panel index ${d}`);const f=p+S,v=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:p,size:f});if(c[d]=v,!k(v,f)){let y=f-v,g=e<0?x:u;for(;g>=0&&g<n.length;){const m=c[g];C(m!=null,`Previous layout not found for panel index ${g}`);const L=m+y,R=K({overrideDisabledPanels:l,panelConstraints:n[g],prevSize:m,size:L});if(k(m,R)||(y-=R-m,c[g]=R),k(y,0))break;e>0?g--:g++}}}const b=Object.values(c).reduce((d,p)=>p+d,0);if(!k(b,100,.1))return a;const h=Object.keys(a);return c.reduce((d,p,f)=>(d[h[f]]=p,d),{})}function q(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||F(e[n],t[n])!==0)return!1;return!0}function Y({layout:e,panelConstraints:t}){const n=Object.values(e),o=[...n],a=o.reduce((r,s)=>r+s,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(r=>`${r}%`).join(", ")}`);if(!k(a,100)&&o.length>0)for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=100/a*s;o[r]=c}let i=0;for(let r=0;r<t.length;r++){const s=n[r];C(s!=null,`No layout data found for index ${r}`);const c=o[r];C(c!=null,`No layout data found for index ${r}`);const u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});c!=u&&(i+=c-u,o[r]=u)}if(!k(i,0))for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=s+i,u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});if(s!==u&&(i-=u-s,o[r]=u,k(i,0)))break}const l=Object.keys(e);return o.reduce((r,s,c)=>(r[l[c]]=s,r),{})}function Oe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:r}=D();for(const[s,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:x,separatorToPanels:S}]of r)if(s.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:s,layout:x,separatorToPanels:S};throw Error(`Group ${e} not found`)},o=()=>{const r=n().derivedPanelConstraints.find(s=>s.panelId===t);if(r!==void 0)return r;throw Error(`Panel constraints not found for Panel ${t}`)},a=()=>{const r=n().group.panels.find(s=>s.id===t);if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},i=()=>{const r=n().layout[t];if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},l=r=>{const s=i();if(r===s)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:x,layout:S,separatorToPanels:b}=n(),h=x.panels.findIndex(v=>v.id===t),d=h===x.panels.length-1,p=te({delta:d?s-r:r-s,initialLayout:S,panelConstraints:u,pivotIndices:d?[h-1,h]:[h,h+1],prevLayout:S,trigger:"imperative-api"}),f=Y({layout:p,panelConstraints:u});q(S,f)||G(v=>({mountedGroups:new Map(v.mountedGroups).set(x,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:f,separatorToPanels:b})}))};return{collapse:()=>{const{collapsible:r,collapsedSize:s}=o(),{mutableValues:c}=a(),u=i();r&&u!==s&&(c.expandToSize=u,l(s))},expand:()=>{const{collapsible:r,collapsedSize:s,minSize:c}=o(),{mutableValues:u}=a(),x=i();if(r&&x===s){let S=u.expandToSize??c;S===0&&(S=1),l(S)}},getSize:()=>{const{group:r}=n(),s=i(),{element:c}=a(),u=r.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:s,inPixels:u}},isCollapsed:()=>{const{collapsible:r,collapsedSize:s}=o(),c=i();return r&&k(s,c)},resize:r=>{if(i()!==r){let s;switch(typeof r){case"number":{const{group:c}=n(),u=Z({group:c});s=O(r/u*100);break}case"string":{s=parseFloat(r);break}}l(s)}}}}function we(e){if(e.defaultPrevented)return;const{mountedGroups:t}=D();ce(e,t).forEach(n=>{if(n.separator){const o=n.panels.find(a=>a.panelConstraints.defaultSize!==void 0);if(o){const a=o.panelConstraints.defaultSize,i=Oe({groupId:n.group.id,panelId:o.id});i&&a!==void 0&&(i.resize(a),e.preventDefault())}}})}function ie(e){const{mountedGroups:t}=D();for(const[n]of t)if(n.separators.some(o=>o.element===e))return n;throw Error("Could not find parent Group for separator element")}function Fe({groupId:e}){const t=()=>{const{mountedGroups:n}=D();for(const[o,a]of n)if(o.id===e)return{group:o,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:o}=t();return n?{}:o},setLayout(n){const{defaultLayoutDeferred:o,derivedPanelConstraints:a,group:i,layout:l,separatorToPanels:r}=t(),s=Y({layout:n,panelConstraints:a});if(o)return l;if(!q(l,s)){G(u=>({mountedGroups:new Map(u.mountedGroups).set(i,{defaultLayoutDeferred:o,derivedPanelConstraints:a,layout:s,separatorToPanels:r})}));const c=i.panels.map(({id:u})=>u).join(",");i.inMemoryLayouts[c]=s}return s}}}function $e(e){const{mountedGroups:t}=D(),n=t.get(e);return C(n,`Mounted Group ${e.id} not found`),n}function X(e,t){const n=ie(e),o=$e(n),a=n.separators.find(u=>u.element===e);C(a,"Matching separator not found");const i=o.separatorToPanels.get(a);C(i,"Matching panels not found");const l=i.map(u=>n.panels.indexOf(u)),r=Fe({groupId:n.id}).getLayout(),s=te({delta:t,initialLayout:r,panelConstraints:o.derivedPanelConstraints,pivotIndices:l,prevLayout:r,trigger:"keyboard"}),c=Y({layout:s,panelConstraints:o.derivedPanelConstraints});q(r,c)||G(u=>({mountedGroups:new Map(u.mountedGroups).set(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedPanelConstraints:o.derivedPanelConstraints,layout:c,separatorToPanels:o.separatorToPanels})}))}function xe(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=ie(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&X(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&X(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&X(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&X(t,-5);break}case"End":{e.preventDefault(),X(t,100);break}case"Enter":{e.preventDefault();const o=ie(t),{derivedPanelConstraints:a,layout:i,separatorToPanels:l}=$e(o),r=o.separators.find(x=>x.element===t);C(r,"Matching separator not found");const s=l.get(r);C(s,"Matching panels not found");const c=s[0],u=a.find(x=>x.panelId===c.id);if(C(u,"Panel metadata not found"),u.collapsible){const x=i[c.id],S=u.collapsedSize===x?o.inMemoryLastExpandedPanelSizes[c.id]??u.minSize:u.collapsedSize;X(t,S-x)}break}case"F6":{e.preventDefault();const o=ie(t).separators.map(l=>l.element),a=Array.from(o).findIndex(l=>l===e.currentTarget);C(a!==null,"Index not found");const i=e.shiftKey?a>0?a-1:o.length-1:a+1<o.length?a+1:0;o[i].focus();break}case"Home":{e.preventDefault(),X(t,-100);break}}}function Se(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=D(),n=ce(e,t),o=new Map;let a=!1;n.forEach(i=>{i.separator&&(a||(a=!0,i.separator.element.focus()));const l=t.get(i.group);l&&o.set(i.group,l.layout)}),G({interactionState:{hitRegions:n,initialLayoutMap:o,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}const yt=e=>e,se=()=>{},Ae=1,We=2,He=4,Ve=8,ze=3,Ce=12;let ae;function Le(){return ae===void 0&&(ae=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(ae=!0)),ae}function bt({cursorFlags:e,groups:t,state:n}){let o=0,a=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{a++;break}}})}if(!(o===0&&a===0)){switch(n){case"active":{if(e&&Le()){const i=(e&Ae)!==0,l=(e&We)!==0,r=(e&He)!==0,s=(e&Ve)!==0;if(i)return r?"se-resize":s?"ne-resize":"e-resize";if(l)return r?"sw-resize":s?"nw-resize":"w-resize";if(r)return"s-resize";if(s)return"n-resize"}break}}return Le()?o>0&&a>0?"move":o>0?"ew-resize":"ns-resize":o>0&&a>0?"grab":o>0?"col-resize":"row-resize"}}const Pe=new WeakMap;function de(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Pe.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets.push(n));const{cursorFlags:o,interactionState:a}=D();switch(a.state){case"active":case"hover":{const i=bt({cursorFlags:o,groups:a.hitRegions.map(r=>r.group),state:a.state}),l=`*, *:hover {cursor: ${i} !important; }`;if(t===l)return;t=l,i?n.cssRules.length===0?n.insertRule(l):n.replaceSync(l):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Pe.set(e,{prevStyle:t,styleSheet:n})}function Be({document:e,event:t,hitRegions:n,initialLayoutMap:o,mountedGroups:a,pointerDownAtPoint:i,prevCursorFlags:l}){let r=0;const s=new Map(a);n.forEach(u=>{const{group:x,groupSize:S}=u,{disableCursor:b,orientation:h,panels:d}=x;let p=0;i?h==="horizontal"?p=(t.clientX-i.x)/S*100:p=(t.clientY-i.y)/S*100:h==="horizontal"?p=t.clientX<0?-100:100:p=t.clientY<0?-100:100;const f=o.get(x),{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:g,separatorToPanels:m}=a.get(x)??{defaultLayoutDeferred:!1};if(y&&f&&g&&m){const L=te({delta:p,initialLayout:f,panelConstraints:y,pivotIndices:u.panels.map(R=>d.indexOf(R)),prevLayout:g,trigger:"mouse-or-touch"});if(q(L,g)){if(p!==0&&!b)switch(h){case"horizontal":{r|=p<0?Ae:We;break}case"vertical":{r|=p<0?He:Ve;break}}}else{s.set(u.group,{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:L,separatorToPanels:m});const R=u.group.panels.map(({id:M})=>M).join(",");u.group.inMemoryLayouts[R]=L}}});let c=0;t.movementX===0?c|=l&ze:c|=r&ze,t.movementY===0?c|=l&Ce:c|=r&Ce,G({cursorFlags:c,mountedGroups:s}),de(e)}function Re(e){const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();n.state==="active"&&Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,prevCursorFlags:t})}function Me(e){if(e.defaultPrevented)return;const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();switch(n.state){case"active":{if(e.buttons===0){G(a=>a.interactionState.state==="inactive"?a:{cursorFlags:0,interactionState:{state:"inactive"}}),G(a=>({mountedGroups:new Map(a.mountedGroups)}));return}Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:t});break}default:{const a=ce(e,o);a.length===0?n.state!=="inactive"&&G({interactionState:{state:"inactive"}}):G({interactionState:{hitRegions:a,state:"hover"}}),de(e.currentTarget);break}}}function Ee(e){if(e.relatedTarget instanceof HTMLIFrameElement){const{interactionState:t}=D();t.state==="hover"&&G({interactionState:{state:"inactive"}})}}function ke(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:t}=D();t.state==="active"&&(G({cursorFlags:0,interactionState:{state:"inactive"}}),t.hitRegions.length>0&&(de(e.currentTarget),G(n=>({mountedGroups:new Map(n.mountedGroups)})),e.preventDefault()))}function De(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const l=O(i.defaultSize);n+=l,o[i.panelId]=l}else o[i.panelId]=void 0;const a=e.length-t;if(a!==0){const i=O((100-n)/a);for(const l of e)l.defaultSize===void 0&&(o[l.panelId]=i)}return o}function wt(e,t,n){if(!n[0])return;const o=e.panels.find(s=>s.element===t);if(!o||!o.onResize)return;const a=Z({group:e}),i=e.orientation==="horizontal"?o.element.offsetWidth:o.element.offsetHeight,l=o.mutableValues.prevSize,r={asPercentage:O(i/a*100),inPixels:i};o.mutableValues.prevSize=r,o.onResize(r,o.id,l)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function St(e,t){const n=e.map(a=>a.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const a of n)if(!o.includes(a))return!1;return!0}const U=new Map;function zt(e){let t=!0;C(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,a=new Set,i=new n(h=>{for(const d of h){const{borderBoxSize:p,target:f}=d;if(f===e.element){if(t){if(Z({group:e})===0)return;G(v=>{const y=v.mountedGroups.get(e);if(y){const g=le(e),m=y.defaultLayoutDeferred?De(g):y.layout,L=Y({layout:m,panelConstraints:g});return!y.defaultLayoutDeferred&&q(m,L)&&xt(y.derivedPanelConstraints,g)?v:{mountedGroups:new Map(v.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:g,layout:L,separatorToPanels:y.separatorToPanels})}}return v})}}else wt(e,f,p)}});i.observe(e.element),e.panels.forEach(h=>{C(!o.has(h.id),`Panel ids must be unique; id "${h.id}" was used more than once`),o.add(h.id),h.onResize&&i.observe(h.element)});const l=Z({group:e}),r=le(e),s=e.panels.map(({id:h})=>h).join(",");let c=e.defaultLayout;c&&(St(e.panels,c)||(c=void 0));const u=e.inMemoryLayouts[s]??c??De(r),x=Y({layout:u,panelConstraints:r}),S=je(e),b=e.element.ownerDocument;return G(h=>{const d=new Map;return U.set(b,(U.get(b)??0)+1),S.forEach(p=>{p.separator&&d.set(p.separator,p.panels)}),{mountedGroups:new Map(h.mountedGroups).set(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:r,layout:x,separatorToPanels:d})}}),e.separators.forEach(h=>{C(!a.has(h.id),`Separator ids must be unique; id "${h.id}" was used more than once`),a.add(h.id),h.element.addEventListener("keydown",xe)}),U.get(b)===1&&(b.addEventListener("dblclick",we,!0),b.addEventListener("pointerdown",Se,!0),b.addEventListener("pointerleave",Re),b.addEventListener("pointermove",Me),b.addEventListener("pointerout",Ee),b.addEventListener("pointerup",ke,!0)),function(){t=!1,U.set(b,Math.max(0,(U.get(b)??0)-1)),G(h=>{const d=new Map(h.mountedGroups);return d.delete(e),{mountedGroups:d}}),e.separators.forEach(h=>{h.element.removeEventListener("keydown",xe)}),U.get(b)||(b.removeEventListener("dblclick",we,!0),b.removeEventListener("pointerdown",Se,!0),b.removeEventListener("pointerleave",Re),b.removeEventListener("pointermove",Me),b.removeEventListener("pointerout",Ee),b.removeEventListener("pointerup",ke,!0)),i.disconnect()}}function Ct(){const[e,t]=P.useState({}),n=P.useCallback(()=>t({}),[]);return[e,n]}function fe(e){const t=P.useId();return`${e??t}`}const _=typeof window<"u"?P.useLayoutEffect:P.useEffect;function ee(e){const t=P.useRef(e);return _(()=>{t.current=e},[e]),P.useCallback((...n)=>t.current?.(...n),[t])}function pe(...e){return ee(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function me(e){const t=P.useRef({...e});return _(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Xe=P.createContext(null);function Lt(e,t){const n=P.useRef({getLayout:()=>({}),setLayout:yt});P.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,Fe({groupId:e}))})}function qe({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:a,elementRef:i,groupRef:l,id:r,onLayoutChange:s,onLayoutChanged:c,orientation:u="horizontal",resizeTargetMinimumSize:x={coarse:20,fine:10},style:S,...b}){const h=P.useRef({onLayoutChange:{},onLayoutChanged:{}}),d=ee(w=>{q(h.current.onLayoutChange,w)||(h.current.onLayoutChange=w,s?.(w))}),p=ee(w=>{q(h.current.onLayoutChanged,w)||(h.current.onLayoutChanged=w,c?.(w))}),f=fe(r),v=P.useRef(null),[y,g]=Ct(),m=P.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:x,separators:[]}),L=pe(v,i);Lt(f,l);const R=ee((w,z)=>{const{interactionState:E,mountedGroups:T}=D();for(const I of T.keys())if(I.id===w){const N=T.get(I);if(N){let V=!1;return E.state==="active"&&(V=E.hitRegions.some(Q=>Q.group===I)),{flexGrow:N.layout[z]??1,pointerEvents:V?"none":void 0}}}return{flexGrow:n?.[z]??1}}),M=me({defaultLayout:n,disableCursor:o}),J=P.useMemo(()=>({get disableCursor(){return!!M.disableCursor},getPanelStyles:R,id:f,orientation:u,registerPanel:w=>{const z=m.current;return z.panels=ue(u,[...z.panels,w]),g(),()=>{z.panels=z.panels.filter(E=>E!==w),g()}},registerSeparator:w=>{const z=m.current;return z.separators=ue(u,[...z.separators,w]),g(),()=>{z.separators=z.separators.filter(E=>E!==w),g()}},togglePanelDisabled:(w,z)=>{const E=m.current.panels.find(I=>I.id===w);E&&(E.panelConstraints.disabled=z);const{mountedGroups:T}=D();for(const I of T.keys())if(I.id===f){const N=T.get(I);N&&(N.derivedPanelConstraints=le(I))}},toggleSeparatorDisabled:(w,z)=>{const E=m.current.separators.find(T=>T.id===w);E&&(E.disabled=z)}}),[R,f,g,u,M]),H=P.useRef(null);return _(()=>{const w=v.current;if(w===null)return;const z=m.current;let E;if(M.defaultLayout!==void 0&&Object.keys(M.defaultLayout).length===z.panels.length){E={};for(const W of z.panels){const B=M.defaultLayout[W.id];B!==void 0&&(E[W.id]=B)}}const T={defaultLayout:E,disableCursor:!!M.disableCursor,disabled:!!a,element:w,id:f,inMemoryLastExpandedPanelSizes:m.current.lastExpandedPanelSizes,inMemoryLayouts:m.current.layouts,orientation:u,panels:z.panels,resizeTargetMinimumSize:z.resizeTargetMinimumSize,separators:z.separators};H.current=T;const I=zt(T),N=D().mountedGroups.get(T);if(N){const{defaultLayoutDeferred:W,derivedPanelConstraints:B,layout:ne}=N;!W&&B.length>0&&(d(ne),p(ne))}const V=A.addListener("interactionStateChange",W=>{W.state}),Q=A.addListener("mountedGroupsChange",W=>{const B=W.get(T);if(B){const{defaultLayoutDeferred:ne,derivedPanelConstraints:Je,layout:ge}=B;if(ne||Je.length===0)return;const{interactionState:Ue}=D(),Ke=Ue.state!=="active";d(ge),Ke&&p(ge)}});return()=>{H.current=null,I(),V(),Q()}},[a,f,p,d,u,y,M]),P.useEffect(()=>{const w=H.current;w&&(w.defaultLayout=n,w.disableCursor=!!o)}),$.jsxRuntimeExports.jsx(Xe.Provider,{value:J,children:$.jsxRuntimeExports.jsx("div",{...b,className:t,"data-group":!0,"data-testid":f,id:f,ref:L,style:{height:"100%",width:"100%",overflow:"hidden",...S,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:u==="horizontal"?"pan-y":"pan-x"},children:e})})}qe.displayName="Group";function he(){const e=P.useContext(Xe);return C(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Pt(e,t){const{id:n}=he(),o=P.useRef({collapse:se,expand:se,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:se});P.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Oe({groupId:n,panelId:e}))})}function Ye({children:e,className:t,collapsedSize:n="0%",collapsible:o=!1,defaultSize:a,disabled:i,elementRef:l,id:r,maxSize:s="100%",minSize:c="0%",onResize:u,panelRef:x,style:S,...b}){const h=!!r,d=fe(r),p=me({disabled:i}),f=P.useRef(null),v=pe(f,l),{getPanelStyles:y,id:g,orientation:m,registerPanel:L,togglePanelDisabled:R}=he(),M=u!==null,J=ee((w,z,E)=>{u?.(w,r,E)});_(()=>{const w=f.current;if(w!==null){const z={element:w,id:d,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:M?J:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:a,disabled:p.disabled,maxSize:s,minSize:c}};return L(z)}},[n,o,a,M,d,h,s,c,J,L,p]),P.useEffect(()=>{R(d,!!i)},[i,d,R]),Pt(d,x);const H=P.useSyncExternalStore(w=>(A.addListener("mountedGroupsChange",w),()=>{A.removeListener("mountedGroupsChange",w)}),()=>JSON.stringify(y(g,d)),()=>JSON.stringify(y(g,d)));return $.jsxRuntimeExports.jsx("div",{...b,"aria-disabled":i||void 0,"data-panel":!0,"data-testid":d,id:d,ref:v,style:{...Rt,display:"flex",flexBasis:0,flexShrink:1,overflow:"hidden",...JSON.parse(H)},children:$.jsxRuntimeExports.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,...S,touchAction:m==="horizontal"?"pan-y":"pan-x"},children:e})})}Ye.displayName="Panel";const Rt={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Mt({layout:e,panelConstraints:t,panelId:n,panelIndex:o}){let a,i;const l=e[n],r=t.find(s=>s.panelId===n);if(r){const s=r.maxSize,c=r.collapsible?r.collapsedSize:r.minSize,u=[o,o+1];i=Y({layout:te({delta:c-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],a=Y({layout:te({delta:s-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:a,valueMin:i,valueNow:l}}function _e({children:e,className:t,disabled:n,elementRef:o,id:a,style:i,...l}){const r=fe(a),s=me({disabled:n}),[c,u]=P.useState({}),[x,S]=P.useState("inactive"),b=P.useRef(null),h=pe(b,o),{disableCursor:d,id:p,orientation:f,registerSeparator:v,toggleSeparatorDisabled:y}=he(),g=f==="horizontal"?"vertical":"horizontal";_(()=>{const L=b.current;if(L!==null){const R={disabled:s.disabled,element:L,id:r},M=v(R),J=A.addListener("interactionStateChange",w=>{S(w.state!=="inactive"&&w.hitRegions.some(z=>z.separator===R)?w.state:"inactive")}),H=A.addListener("mountedGroupsChange",w=>{w.forEach(({derivedPanelConstraints:z,layout:E,separatorToPanels:T},I)=>{if(I.id===p){const N=T.get(R);if(N){const V=N[0],Q=I.panels.indexOf(V);u(Mt({layout:E,panelConstraints:z,panelId:V.id,panelIndex:Q}))}}})});return()=>{J(),H(),M()}}},[p,r,v,s]),P.useEffect(()=>{y(r,!!n)},[n,r,y]);let m;return n&&!d&&(m="not-allowed"),$.jsxRuntimeExports.jsx("div",{...l,"aria-controls":c.valueControls,"aria-disabled":n||void 0,"aria-orientation":g,"aria-valuemax":c.valueMax,"aria-valuemin":c.valueMin,"aria-valuenow":c.valueNow,children:e,className:t,"data-separator":n?"disabled":x,"data-testid":r,id:r,ref:h,role:"separator",style:{flexBasis:"auto",cursor:m,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}_e.displayName="Separator";const Et=({className:e,direction:t,...n})=>$.jsxRuntimeExports.jsx(qe,{orientation:t,className:Ge.cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...n}),kt=Ye,Dt=({withHandle:e,className:t,...n})=>$.jsxRuntimeExports.jsx(_e,{className:Ge.cn("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&$.jsxRuntimeExports.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:$.jsxRuntimeExports.jsx(Ze.GripVertical,{className:"h-2.5 w-2.5"})})});exports.ResizableHandle=Dt;exports.ResizablePanel=kt;exports.ResizablePanelGroup=Et;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("./jsx-runtime-nZSsnGb7.js"),Ze=require("lucide-react"),P=require("react"),Ge=require("./utils-cdbZV8DZ.js");function Qe(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function et(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function tt(e){return e/100*window.innerHeight}function nt(e){return e/100*window.innerWidth}function ot(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function oe({groupSize:e,panelElement:t,styleProp:n}){let o;const[a,i]=ot(n);switch(i){case"%":{o=a/100*e;break}case"px":{o=a;break}case"rem":{o=et(t,a);break}case"em":{o=Qe(t,a);break}case"vh":{o=tt(a);break}case"vw":{o=nt(a);break}}return o}function O(e){return parseFloat(e.toFixed(3))}function Z({group:e}){const{orientation:t,panels:n}=e;return n.reduce((o,a)=>(o+=t==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,o),0)}function le(e){const{panels:t}=e,n=Z({group:e});return n===0?t.map(o=>({collapsedSize:0,collapsible:o.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:o.panelConstraints.disabled,minSize:0,maxSize:100,panelId:o.id})):t.map(o=>{const{element:a,panelConstraints:i}=o;let l=0;if(i.collapsedSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.collapsedSize});l=O(u/n*100)}let r;if(i.defaultSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.defaultSize});r=O(u/n*100)}let s=0;if(i.minSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.minSize});s=O(u/n*100)}let c=100;if(i.maxSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.maxSize});c=O(u/n*100)}return{collapsedSize:l,collapsible:i.collapsible===!0,defaultSize:r,disabled:i.disabled,minSize:s,maxSize:c,panelId:o.id}})}function C(e,t="Assertion error"){if(!e)throw Error(t)}function ue(e,t){return Array.from(t).sort(e==="horizontal"?rt:at)}function rt(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function at(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Te(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ie(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function it({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let a,i=Number.MAX_VALUE;for(const l of t){const{x:r,y:s}=Ie(o,l),c=e==="horizontal"?r:s;c<i&&(i=c,a=l)}return C(a,"No rect found"),a}let re;function st(){return re===void 0&&(typeof matchMedia=="function"?re=!!matchMedia("(pointer:coarse)").matches:re=!1),re}function je(e){const{element:t,orientation:n,panels:o,separators:a}=e,i=ue(n,Array.from(t.children).filter(Te).map(h=>({element:h}))).map(({element:h})=>h),l=[];let r=!1,s=!1,c=-1,u=-1,x=0,S,b=[];{let h=-1;for(const d of i)d.hasAttribute("data-panel")&&(h++,d.ariaDisabled===null&&(x++,c===-1&&(c=h),u=h))}if(x>1){let h=-1;for(const d of i)if(d.hasAttribute("data-panel")){h++;const p=o.find(f=>f.element===d);if(p){if(S){const f=S.element.getBoundingClientRect(),v=d.getBoundingClientRect();let y;if(s){const g=n==="horizontal"?new DOMRect(f.right,f.top,0,f.height):new DOMRect(f.left,f.bottom,f.width,0),m=n==="horizontal"?new DOMRect(v.left,v.top,0,v.height):new DOMRect(v.left,v.top,v.width,0);switch(b.length){case 0:{y=[g,m];break}case 1:{const L=b[0],R=it({orientation:n,rects:[f,v],targetRect:L.element.getBoundingClientRect()});y=[L,R===f?m:g];break}default:{y=b;break}}}else b.length?y=b:y=[n==="horizontal"?new DOMRect(f.right,v.top,v.left-f.right,v.height):new DOMRect(v.left,f.bottom,v.width,v.top-f.bottom)];for(const g of y){let m="width"in g?g:g.element.getBoundingClientRect();const L=st()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(m.width<L){const M=L-m.width;m=new DOMRect(m.x-M/2,m.y,m.width+M,m.height)}if(m.height<L){const M=L-m.height;m=new DOMRect(m.x,m.y-M/2,m.width,m.height+M)}const R=h<=c||h>u;!r&&!R&&l.push({group:e,groupSize:Z({group:e}),panels:[S,p],separator:"width"in g?void 0:g,rect:m}),r=!1}}s=!1,S=p,b=[]}}else if(d.hasAttribute("data-separator")){d.ariaDisabled!==null&&(r=!0);const p=a.find(f=>f.element===d);p?b.push(p):(S=void 0,b=[])}else s=!0}return l}class lt{#e={};addListener(t,n){const o=this.#e[t];return o===void 0?this.#e[t]=[n]:o.includes(n)||o.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const o=this.#e[t];if(o!==void 0)if(o.length===1)o[0].call(null,n);else{let a=!1,i=null;const l=Array.from(o);for(let r=0;r<l.length;r++){const s=l[r];try{s.call(null,n)}catch(c){i===null&&(a=!0,i=c)}}if(a)throw i}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const a=o.indexOf(n);a>=0&&o.splice(a,1)}}}function k(e,t,n=0){return Math.abs(O(e)-O(t))<=n}let j={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const A=new lt;function D(){return j}function G(e){const t=typeof e=="function"?e(j):e;if(j===t)return j;const n=j;return j={...j,...t},t.cursorFlags!==void 0&&A.emit("cursorFlagsChange",j.cursorFlags),t.interactionState!==void 0&&A.emit("interactionStateChange",j.interactionState),t.mountedGroups!==void 0&&(j.mountedGroups.forEach((o,a)=>{o.derivedPanelConstraints.forEach(i=>{if(i.collapsible){const{layout:l}=n.mountedGroups.get(a)??{};if(l){const r=k(i.collapsedSize,o.layout[i.panelId]),s=k(i.collapsedSize,l[i.panelId]);r&&!s&&(a.inMemoryLastExpandedPanelSizes[i.panelId]=l[i.panelId])}}})}),A.emit("mountedGroupsChange",j.mountedGroups)),j}function ut(e,t,n){let o,a={x:1/0,y:1/0};for(const i of t){const l=Ie(n,i.rect);switch(e){case"horizontal":{l.x<=a.x&&(o=i,a=l);break}case"vertical":{l.y<=a.y&&(o=i,a=l);break}}}return o?{distance:a,hitRegion:o}:void 0}function ct(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function dt(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:be(e),b:be(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)o=n.a.pop(),n.b.pop();C(o,"Stacking order can only be calculated for elements with a common ancestor");const a={a:ye(ve(n.a)),b:ye(ve(n.b))};if(a.a===a.b){const i=o.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let r=i.length;for(;r--;){const s=i[r];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(a.a-a.b)}const ft=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function pt(e){const t=getComputedStyle(Ne(e)??e).display;return t==="flex"||t==="inline-flex"}function mt(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||pt(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ft.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function ve(e){let t=e.length;for(;t--;){const n=e[t];if(C(n,"Missing node"),mt(n))return n}return null}function ye(e){return e&&Number(getComputedStyle(e).zIndex)||0}function be(e){const t=[];for(;e;)t.push(e),e=Ne(e);return t}function Ne(e){const{parentNode:t}=e;return ct(t)?t.host:t}function ht(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function gt({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Te(n)||n.contains(e)||e.contains(n))return!0;if(dt(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(ht(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function ce(e,t){const n=[];return t.forEach((o,a)=>{if(a.disabled)return;const i=je(a),l=ut(a.orientation,i,{x:e.clientX,y:e.clientY});l&&l.distance.x<=0&&l.distance.y<=0&&gt({groupElement:a.element,hitRegion:l.hitRegion.rect,pointerEventTarget:e.target})&&n.push(l.hitRegion)}),n}function vt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function F(e,t){return k(e,t)?0:e>t?1:-1}function K({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:o}){const{collapsedSize:a=0,collapsible:i,disabled:l,maxSize:r=100,minSize:s=0}=t;if(l&&!e)return n;if(F(o,s)<0)if(i){const c=(a+s)/2;F(o,c)<0?o=a:o=s}else o=s;return o=Math.min(r,o),o=O(o),o}function te({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:a,trigger:i}){if(k(e,0))return t;const l=i==="imperative-api",r=Object.values(t),s=Object.values(a),c=[...r],[u,x]=o;C(u!=null,"Invalid first pivot index"),C(x!=null,"Invalid second pivot index");let S=0;switch(i){case"keyboard":{{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,f)){const m=y-g;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}{const d=e<0?u:x,p=n[d];C(p,`No panel constraints found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,y)){const m=g-f;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}break}default:{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const f=r[d],{collapsible:v,collapsedSize:y,minSize:g}=p;if(v&&F(f,g)<0)if(e>0){const m=g-y,L=m/2,R=f+e;F(R,g)<0&&(e=F(e,L)<=0?0:m)}else{const m=g-y,L=100-m/2,R=f-e;F(R,g)<0&&(e=F(100+e,L)>0?0:-m)}break}}{const d=e<0?1:-1;let p=e<0?x:u,f=0;for(;;){const y=r[p];C(y!=null,`Previous layout not found for panel index ${p}`);const g=K({overrideDisabledPanels:l,panelConstraints:n[p],prevSize:y,size:100})-y;if(f+=g,p+=d,p<0||p>=n.length)break}const v=Math.min(Math.abs(e),Math.abs(f));e=e<0?0-v:v}{let d=e<0?u:x;for(;d>=0&&d<n.length;){const p=Math.abs(e)-Math.abs(S),f=r[d];C(f!=null,`Previous layout not found for panel index ${d}`);const v=f-p,y=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:f,size:v});if(!k(f,y)&&(S+=f-y,c[d]=y,S.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(vt(s,c))return a;{const d=e<0?x:u,p=r[d];C(p!=null,`Previous layout not found for panel index ${d}`);const f=p+S,v=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:p,size:f});if(c[d]=v,!k(v,f)){let y=f-v,g=e<0?x:u;for(;g>=0&&g<n.length;){const m=c[g];C(m!=null,`Previous layout not found for panel index ${g}`);const L=m+y,R=K({overrideDisabledPanels:l,panelConstraints:n[g],prevSize:m,size:L});if(k(m,R)||(y-=R-m,c[g]=R),k(y,0))break;e>0?g--:g++}}}const b=Object.values(c).reduce((d,p)=>p+d,0);if(!k(b,100,.1))return a;const h=Object.keys(a);return c.reduce((d,p,f)=>(d[h[f]]=p,d),{})}function q(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||F(e[n],t[n])!==0)return!1;return!0}function Y({layout:e,panelConstraints:t}){const n=Object.values(e),o=[...n],a=o.reduce((r,s)=>r+s,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(r=>`${r}%`).join(", ")}`);if(!k(a,100)&&o.length>0)for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=100/a*s;o[r]=c}let i=0;for(let r=0;r<t.length;r++){const s=n[r];C(s!=null,`No layout data found for index ${r}`);const c=o[r];C(c!=null,`No layout data found for index ${r}`);const u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});c!=u&&(i+=c-u,o[r]=u)}if(!k(i,0))for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=s+i,u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});if(s!==u&&(i-=u-s,o[r]=u,k(i,0)))break}const l=Object.keys(e);return o.reduce((r,s,c)=>(r[l[c]]=s,r),{})}function Oe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:r}=D();for(const[s,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:x,separatorToPanels:S}]of r)if(s.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:s,layout:x,separatorToPanels:S};throw Error(`Group ${e} not found`)},o=()=>{const r=n().derivedPanelConstraints.find(s=>s.panelId===t);if(r!==void 0)return r;throw Error(`Panel constraints not found for Panel ${t}`)},a=()=>{const r=n().group.panels.find(s=>s.id===t);if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},i=()=>{const r=n().layout[t];if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},l=r=>{const s=i();if(r===s)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:x,layout:S,separatorToPanels:b}=n(),h=x.panels.findIndex(v=>v.id===t),d=h===x.panels.length-1,p=te({delta:d?s-r:r-s,initialLayout:S,panelConstraints:u,pivotIndices:d?[h-1,h]:[h,h+1],prevLayout:S,trigger:"imperative-api"}),f=Y({layout:p,panelConstraints:u});q(S,f)||G(v=>({mountedGroups:new Map(v.mountedGroups).set(x,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:f,separatorToPanels:b})}))};return{collapse:()=>{const{collapsible:r,collapsedSize:s}=o(),{mutableValues:c}=a(),u=i();r&&u!==s&&(c.expandToSize=u,l(s))},expand:()=>{const{collapsible:r,collapsedSize:s,minSize:c}=o(),{mutableValues:u}=a(),x=i();if(r&&x===s){let S=u.expandToSize??c;S===0&&(S=1),l(S)}},getSize:()=>{const{group:r}=n(),s=i(),{element:c}=a(),u=r.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:s,inPixels:u}},isCollapsed:()=>{const{collapsible:r,collapsedSize:s}=o(),c=i();return r&&k(s,c)},resize:r=>{if(i()!==r){let s;switch(typeof r){case"number":{const{group:c}=n(),u=Z({group:c});s=O(r/u*100);break}case"string":{s=parseFloat(r);break}}l(s)}}}}function we(e){if(e.defaultPrevented)return;const{mountedGroups:t}=D();ce(e,t).forEach(n=>{if(n.separator){const o=n.panels.find(a=>a.panelConstraints.defaultSize!==void 0);if(o){const a=o.panelConstraints.defaultSize,i=Oe({groupId:n.group.id,panelId:o.id});i&&a!==void 0&&(i.resize(a),e.preventDefault())}}})}function ie(e){const{mountedGroups:t}=D();for(const[n]of t)if(n.separators.some(o=>o.element===e))return n;throw Error("Could not find parent Group for separator element")}function Fe({groupId:e}){const t=()=>{const{mountedGroups:n}=D();for(const[o,a]of n)if(o.id===e)return{group:o,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:o}=t();return n?{}:o},setLayout(n){const{defaultLayoutDeferred:o,derivedPanelConstraints:a,group:i,layout:l,separatorToPanels:r}=t(),s=Y({layout:n,panelConstraints:a});if(o)return l;if(!q(l,s)){G(u=>({mountedGroups:new Map(u.mountedGroups).set(i,{defaultLayoutDeferred:o,derivedPanelConstraints:a,layout:s,separatorToPanels:r})}));const c=i.panels.map(({id:u})=>u).join(",");i.inMemoryLayouts[c]=s}return s}}}function $e(e){const{mountedGroups:t}=D(),n=t.get(e);return C(n,`Mounted Group ${e.id} not found`),n}function X(e,t){const n=ie(e),o=$e(n),a=n.separators.find(u=>u.element===e);C(a,"Matching separator not found");const i=o.separatorToPanels.get(a);C(i,"Matching panels not found");const l=i.map(u=>n.panels.indexOf(u)),r=Fe({groupId:n.id}).getLayout(),s=te({delta:t,initialLayout:r,panelConstraints:o.derivedPanelConstraints,pivotIndices:l,prevLayout:r,trigger:"keyboard"}),c=Y({layout:s,panelConstraints:o.derivedPanelConstraints});q(r,c)||G(u=>({mountedGroups:new Map(u.mountedGroups).set(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedPanelConstraints:o.derivedPanelConstraints,layout:c,separatorToPanels:o.separatorToPanels})}))}function xe(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=ie(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&X(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&X(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&X(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&X(t,-5);break}case"End":{e.preventDefault(),X(t,100);break}case"Enter":{e.preventDefault();const o=ie(t),{derivedPanelConstraints:a,layout:i,separatorToPanels:l}=$e(o),r=o.separators.find(x=>x.element===t);C(r,"Matching separator not found");const s=l.get(r);C(s,"Matching panels not found");const c=s[0],u=a.find(x=>x.panelId===c.id);if(C(u,"Panel metadata not found"),u.collapsible){const x=i[c.id],S=u.collapsedSize===x?o.inMemoryLastExpandedPanelSizes[c.id]??u.minSize:u.collapsedSize;X(t,S-x)}break}case"F6":{e.preventDefault();const o=ie(t).separators.map(l=>l.element),a=Array.from(o).findIndex(l=>l===e.currentTarget);C(a!==null,"Index not found");const i=e.shiftKey?a>0?a-1:o.length-1:a+1<o.length?a+1:0;o[i].focus();break}case"Home":{e.preventDefault(),X(t,-100);break}}}function Se(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=D(),n=ce(e,t),o=new Map;let a=!1;n.forEach(i=>{i.separator&&(a||(a=!0,i.separator.element.focus()));const l=t.get(i.group);l&&o.set(i.group,l.layout)}),G({interactionState:{hitRegions:n,initialLayoutMap:o,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}const yt=e=>e,se=()=>{},Ae=1,We=2,He=4,Ve=8,ze=3,Ce=12;let ae;function Le(){return ae===void 0&&(ae=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(ae=!0)),ae}function bt({cursorFlags:e,groups:t,state:n}){let o=0,a=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{a++;break}}})}if(!(o===0&&a===0)){switch(n){case"active":{if(e&&Le()){const i=(e&Ae)!==0,l=(e&We)!==0,r=(e&He)!==0,s=(e&Ve)!==0;if(i)return r?"se-resize":s?"ne-resize":"e-resize";if(l)return r?"sw-resize":s?"nw-resize":"w-resize";if(r)return"s-resize";if(s)return"n-resize"}break}}return Le()?o>0&&a>0?"move":o>0?"ew-resize":"ns-resize":o>0&&a>0?"grab":o>0?"col-resize":"row-resize"}}const Pe=new WeakMap;function de(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Pe.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets.push(n));const{cursorFlags:o,interactionState:a}=D();switch(a.state){case"active":case"hover":{const i=bt({cursorFlags:o,groups:a.hitRegions.map(r=>r.group),state:a.state}),l=`*, *:hover {cursor: ${i} !important; }`;if(t===l)return;t=l,i?n.cssRules.length===0?n.insertRule(l):n.replaceSync(l):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Pe.set(e,{prevStyle:t,styleSheet:n})}function Be({document:e,event:t,hitRegions:n,initialLayoutMap:o,mountedGroups:a,pointerDownAtPoint:i,prevCursorFlags:l}){let r=0;const s=new Map(a);n.forEach(u=>{const{group:x,groupSize:S}=u,{disableCursor:b,orientation:h,panels:d}=x;let p=0;i?h==="horizontal"?p=(t.clientX-i.x)/S*100:p=(t.clientY-i.y)/S*100:h==="horizontal"?p=t.clientX<0?-100:100:p=t.clientY<0?-100:100;const f=o.get(x),{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:g,separatorToPanels:m}=a.get(x)??{defaultLayoutDeferred:!1};if(y&&f&&g&&m){const L=te({delta:p,initialLayout:f,panelConstraints:y,pivotIndices:u.panels.map(R=>d.indexOf(R)),prevLayout:g,trigger:"mouse-or-touch"});if(q(L,g)){if(p!==0&&!b)switch(h){case"horizontal":{r|=p<0?Ae:We;break}case"vertical":{r|=p<0?He:Ve;break}}}else{s.set(u.group,{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:L,separatorToPanels:m});const R=u.group.panels.map(({id:M})=>M).join(",");u.group.inMemoryLayouts[R]=L}}});let c=0;t.movementX===0?c|=l&ze:c|=r&ze,t.movementY===0?c|=l&Ce:c|=r&Ce,G({cursorFlags:c,mountedGroups:s}),de(e)}function Re(e){const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();n.state==="active"&&Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,prevCursorFlags:t})}function Me(e){if(e.defaultPrevented)return;const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();switch(n.state){case"active":{if(e.buttons===0){G(a=>a.interactionState.state==="inactive"?a:{cursorFlags:0,interactionState:{state:"inactive"}}),G(a=>({mountedGroups:new Map(a.mountedGroups)}));return}Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:t});break}default:{const a=ce(e,o);a.length===0?n.state!=="inactive"&&G({interactionState:{state:"inactive"}}):G({interactionState:{hitRegions:a,state:"hover"}}),de(e.currentTarget);break}}}function Ee(e){if(e.relatedTarget instanceof HTMLIFrameElement){const{interactionState:t}=D();t.state==="hover"&&G({interactionState:{state:"inactive"}})}}function ke(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:t}=D();t.state==="active"&&(G({cursorFlags:0,interactionState:{state:"inactive"}}),t.hitRegions.length>0&&(de(e.currentTarget),G(n=>({mountedGroups:new Map(n.mountedGroups)})),e.preventDefault()))}function De(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const l=O(i.defaultSize);n+=l,o[i.panelId]=l}else o[i.panelId]=void 0;const a=e.length-t;if(a!==0){const i=O((100-n)/a);for(const l of e)l.defaultSize===void 0&&(o[l.panelId]=i)}return o}function wt(e,t,n){if(!n[0])return;const o=e.panels.find(s=>s.element===t);if(!o||!o.onResize)return;const a=Z({group:e}),i=e.orientation==="horizontal"?o.element.offsetWidth:o.element.offsetHeight,l=o.mutableValues.prevSize,r={asPercentage:O(i/a*100),inPixels:i};o.mutableValues.prevSize=r,o.onResize(r,o.id,l)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function St(e,t){const n=e.map(a=>a.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const a of n)if(!o.includes(a))return!1;return!0}const U=new Map;function zt(e){let t=!0;C(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,a=new Set,i=new n(h=>{for(const d of h){const{borderBoxSize:p,target:f}=d;if(f===e.element){if(t){if(Z({group:e})===0)return;G(v=>{const y=v.mountedGroups.get(e);if(y){const g=le(e),m=y.defaultLayoutDeferred?De(g):y.layout,L=Y({layout:m,panelConstraints:g});return!y.defaultLayoutDeferred&&q(m,L)&&xt(y.derivedPanelConstraints,g)?v:{mountedGroups:new Map(v.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:g,layout:L,separatorToPanels:y.separatorToPanels})}}return v})}}else wt(e,f,p)}});i.observe(e.element),e.panels.forEach(h=>{C(!o.has(h.id),`Panel ids must be unique; id "${h.id}" was used more than once`),o.add(h.id),h.onResize&&i.observe(h.element)});const l=Z({group:e}),r=le(e),s=e.panels.map(({id:h})=>h).join(",");let c=e.defaultLayout;c&&(St(e.panels,c)||(c=void 0));const u=e.inMemoryLayouts[s]??c??De(r),x=Y({layout:u,panelConstraints:r}),S=je(e),b=e.element.ownerDocument;return G(h=>{const d=new Map;return U.set(b,(U.get(b)??0)+1),S.forEach(p=>{p.separator&&d.set(p.separator,p.panels)}),{mountedGroups:new Map(h.mountedGroups).set(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:r,layout:x,separatorToPanels:d})}}),e.separators.forEach(h=>{C(!a.has(h.id),`Separator ids must be unique; id "${h.id}" was used more than once`),a.add(h.id),h.element.addEventListener("keydown",xe)}),U.get(b)===1&&(b.addEventListener("dblclick",we,!0),b.addEventListener("pointerdown",Se,!0),b.addEventListener("pointerleave",Re),b.addEventListener("pointermove",Me),b.addEventListener("pointerout",Ee),b.addEventListener("pointerup",ke,!0)),function(){t=!1,U.set(b,Math.max(0,(U.get(b)??0)-1)),G(h=>{const d=new Map(h.mountedGroups);return d.delete(e),{mountedGroups:d}}),e.separators.forEach(h=>{h.element.removeEventListener("keydown",xe)}),U.get(b)||(b.removeEventListener("dblclick",we,!0),b.removeEventListener("pointerdown",Se,!0),b.removeEventListener("pointerleave",Re),b.removeEventListener("pointermove",Me),b.removeEventListener("pointerout",Ee),b.removeEventListener("pointerup",ke,!0)),i.disconnect()}}function Ct(){const[e,t]=P.useState({}),n=P.useCallback(()=>t({}),[]);return[e,n]}function fe(e){const t=P.useId();return`${e??t}`}const _=typeof window<"u"?P.useLayoutEffect:P.useEffect;function ee(e){const t=P.useRef(e);return _(()=>{t.current=e},[e]),P.useCallback((...n)=>t.current?.(...n),[t])}function pe(...e){return ee(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function me(e){const t=P.useRef({...e});return _(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Xe=P.createContext(null);function Lt(e,t){const n=P.useRef({getLayout:()=>({}),setLayout:yt});P.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,Fe({groupId:e}))})}function qe({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:a,elementRef:i,groupRef:l,id:r,onLayoutChange:s,onLayoutChanged:c,orientation:u="horizontal",resizeTargetMinimumSize:x={coarse:20,fine:10},style:S,...b}){const h=P.useRef({onLayoutChange:{},onLayoutChanged:{}}),d=ee(w=>{q(h.current.onLayoutChange,w)||(h.current.onLayoutChange=w,s?.(w))}),p=ee(w=>{q(h.current.onLayoutChanged,w)||(h.current.onLayoutChanged=w,c?.(w))}),f=fe(r),v=P.useRef(null),[y,g]=Ct(),m=P.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:x,separators:[]}),L=pe(v,i);Lt(f,l);const R=ee((w,z)=>{const{interactionState:E,mountedGroups:T}=D();for(const I of T.keys())if(I.id===w){const N=T.get(I);if(N){let V=!1;return E.state==="active"&&(V=E.hitRegions.some(Q=>Q.group===I)),{flexGrow:N.layout[z]??1,pointerEvents:V?"none":void 0}}}return{flexGrow:n?.[z]??1}}),M=me({defaultLayout:n,disableCursor:o}),J=P.useMemo(()=>({get disableCursor(){return!!M.disableCursor},getPanelStyles:R,id:f,orientation:u,registerPanel:w=>{const z=m.current;return z.panels=ue(u,[...z.panels,w]),g(),()=>{z.panels=z.panels.filter(E=>E!==w),g()}},registerSeparator:w=>{const z=m.current;return z.separators=ue(u,[...z.separators,w]),g(),()=>{z.separators=z.separators.filter(E=>E!==w),g()}},togglePanelDisabled:(w,z)=>{const E=m.current.panels.find(I=>I.id===w);E&&(E.panelConstraints.disabled=z);const{mountedGroups:T}=D();for(const I of T.keys())if(I.id===f){const N=T.get(I);N&&(N.derivedPanelConstraints=le(I))}},toggleSeparatorDisabled:(w,z)=>{const E=m.current.separators.find(T=>T.id===w);E&&(E.disabled=z)}}),[R,f,g,u,M]),H=P.useRef(null);return _(()=>{const w=v.current;if(w===null)return;const z=m.current;let E;if(M.defaultLayout!==void 0&&Object.keys(M.defaultLayout).length===z.panels.length){E={};for(const W of z.panels){const B=M.defaultLayout[W.id];B!==void 0&&(E[W.id]=B)}}const T={defaultLayout:E,disableCursor:!!M.disableCursor,disabled:!!a,element:w,id:f,inMemoryLastExpandedPanelSizes:m.current.lastExpandedPanelSizes,inMemoryLayouts:m.current.layouts,orientation:u,panels:z.panels,resizeTargetMinimumSize:z.resizeTargetMinimumSize,separators:z.separators};H.current=T;const I=zt(T),N=D().mountedGroups.get(T);if(N){const{defaultLayoutDeferred:W,derivedPanelConstraints:B,layout:ne}=N;!W&&B.length>0&&(d(ne),p(ne))}const V=A.addListener("interactionStateChange",W=>{W.state}),Q=A.addListener("mountedGroupsChange",W=>{const B=W.get(T);if(B){const{defaultLayoutDeferred:ne,derivedPanelConstraints:Je,layout:ge}=B;if(ne||Je.length===0)return;const{interactionState:Ue}=D(),Ke=Ue.state!=="active";d(ge),Ke&&p(ge)}});return()=>{H.current=null,I(),V(),Q()}},[a,f,p,d,u,y,M]),P.useEffect(()=>{const w=H.current;w&&(w.defaultLayout=n,w.disableCursor=!!o)}),$.jsxRuntimeExports.jsx(Xe.Provider,{value:J,children:$.jsxRuntimeExports.jsx("div",{...b,className:t,"data-group":!0,"data-testid":f,id:f,ref:L,style:{height:"100%",width:"100%",overflow:"hidden",...S,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:u==="horizontal"?"pan-y":"pan-x"},children:e})})}qe.displayName="Group";function he(){const e=P.useContext(Xe);return C(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Pt(e,t){const{id:n}=he(),o=P.useRef({collapse:se,expand:se,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:se});P.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Oe({groupId:n,panelId:e}))})}function Ye({children:e,className:t,collapsedSize:n="0%",collapsible:o=!1,defaultSize:a,disabled:i,elementRef:l,id:r,maxSize:s="100%",minSize:c="0%",onResize:u,panelRef:x,style:S,...b}){const h=!!r,d=fe(r),p=me({disabled:i}),f=P.useRef(null),v=pe(f,l),{getPanelStyles:y,id:g,orientation:m,registerPanel:L,togglePanelDisabled:R}=he(),M=u!==null,J=ee((w,z,E)=>{u?.(w,r,E)});_(()=>{const w=f.current;if(w!==null){const z={element:w,id:d,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:M?J:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:a,disabled:p.disabled,maxSize:s,minSize:c}};return L(z)}},[n,o,a,M,d,h,s,c,J,L,p]),P.useEffect(()=>{R(d,!!i)},[i,d,R]),Pt(d,x);const H=P.useSyncExternalStore(w=>(A.addListener("mountedGroupsChange",w),()=>{A.removeListener("mountedGroupsChange",w)}),()=>JSON.stringify(y(g,d)),()=>JSON.stringify(y(g,d)));return $.jsxRuntimeExports.jsx("div",{...b,"aria-disabled":i||void 0,"data-panel":!0,"data-testid":d,id:d,ref:v,style:{...Rt,display:"flex",flexBasis:0,flexShrink:1,overflow:"hidden",...JSON.parse(H)},children:$.jsxRuntimeExports.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,...S,touchAction:m==="horizontal"?"pan-y":"pan-x"},children:e})})}Ye.displayName="Panel";const Rt={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Mt({layout:e,panelConstraints:t,panelId:n,panelIndex:o}){let a,i;const l=e[n],r=t.find(s=>s.panelId===n);if(r){const s=r.maxSize,c=r.collapsible?r.collapsedSize:r.minSize,u=[o,o+1];i=Y({layout:te({delta:c-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],a=Y({layout:te({delta:s-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:a,valueMin:i,valueNow:l}}function _e({children:e,className:t,disabled:n,elementRef:o,id:a,style:i,...l}){const r=fe(a),s=me({disabled:n}),[c,u]=P.useState({}),[x,S]=P.useState("inactive"),b=P.useRef(null),h=pe(b,o),{disableCursor:d,id:p,orientation:f,registerSeparator:v,toggleSeparatorDisabled:y}=he(),g=f==="horizontal"?"vertical":"horizontal";_(()=>{const L=b.current;if(L!==null){const R={disabled:s.disabled,element:L,id:r},M=v(R),J=A.addListener("interactionStateChange",w=>{S(w.state!=="inactive"&&w.hitRegions.some(z=>z.separator===R)?w.state:"inactive")}),H=A.addListener("mountedGroupsChange",w=>{w.forEach(({derivedPanelConstraints:z,layout:E,separatorToPanels:T},I)=>{if(I.id===p){const N=T.get(R);if(N){const V=N[0],Q=I.panels.indexOf(V);u(Mt({layout:E,panelConstraints:z,panelId:V.id,panelIndex:Q}))}}})});return()=>{J(),H(),M()}}},[p,r,v,s]),P.useEffect(()=>{y(r,!!n)},[n,r,y]);let m;return n&&!d&&(m="not-allowed"),$.jsxRuntimeExports.jsx("div",{...l,"aria-controls":c.valueControls,"aria-disabled":n||void 0,"aria-orientation":g,"aria-valuemax":c.valueMax,"aria-valuemin":c.valueMin,"aria-valuenow":c.valueNow,children:e,className:t,"data-separator":n?"disabled":x,"data-testid":r,id:r,ref:h,role:"separator",style:{flexBasis:"auto",cursor:m,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}_e.displayName="Separator";const Et=({className:e,direction:t,...n})=>$.jsxRuntimeExports.jsx(qe,{orientation:t,className:Ge.cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...n}),kt=Ye,Dt=({withHandle:e,className:t,...n})=>$.jsxRuntimeExports.jsx(_e,{className:Ge.cn("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&$.jsxRuntimeExports.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:$.jsxRuntimeExports.jsx(Ze.GripVertical,{className:"h-2.5 w-2.5"})})});exports.ResizableHandle=Dt;exports.ResizablePanel=kt;exports.ResizablePanelGroup=Et;
@@ -2,7 +2,7 @@
2
2
  import { j as $ } from "./jsx-runtime-tc70JA_2.mjs";
3
3
  import { GripVertical as nt } from "lucide-react";
4
4
  import { createContext as ot, useRef as F, useEffect as se, useSyncExternalStore as rt, useState as ue, useId as at, useContext as it, useCallback as Ie, useLayoutEffect as st, useImperativeHandle as Ne, useMemo as lt } from "react";
5
- import { c as je } from "./utils-B6yFEsav.mjs";
5
+ import { c as je } from "./utils-DY6fhrgS.mjs";
6
6
  function ut(e, t) {
7
7
  const n = getComputedStyle(e), o = parseFloat(n.fontSize);
8
8
  return t * o;
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./jsx-runtime-nZSsnGb7.js"),ie=require("react"),x=require("./index-BtZvtDmp.js"),W=require("./index-B2XtpfGY.js"),ae=require("./index-D2HnlO3y.js"),j=require("./index-_XxjJPRD.js"),E=require("./index-CzY-WZXL.js"),ue=require("./index-Dko2XdTk.js"),de=require("./index-MQ0c3ZX_.js"),fe=require("./index-C8ni3LLa.js"),F=require("./utils-IjLH3w2e.js");function he(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=he(ie);function me(e,t){return s.useReducer((r,n)=>t[r][n]??r,e)}var X="ScrollArea",[$]=ae.createContextScope(X),[pe,S]=$(X),G=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:l=600,...c}=e,[i,a]=s.useState(null),[f,u]=s.useState(null),[m,d]=s.useState(null),[p,w]=s.useState(null),[y,I]=s.useState(null),[g,A]=s.useState(0),[M,_]=s.useState(0),[L,T]=s.useState(!1),[D,H]=s.useState(!1),b=j.useComposedRefs(t,P=>a(P)),v=ue.useDirection(o);return h.jsxRuntimeExports.jsx(pe,{scope:r,type:n,dir:v,scrollHideDelay:l,scrollArea:i,viewport:f,onViewportChange:u,content:m,onContentChange:d,scrollbarX:p,onScrollbarXChange:w,scrollbarXEnabled:L,onScrollbarXEnabledChange:T,scrollbarY:y,onScrollbarYChange:I,scrollbarYEnabled:D,onScrollbarYEnabledChange:H,onCornerWidthChange:A,onCornerHeightChange:_,children:h.jsxRuntimeExports.jsx(x.Primitive.div,{dir:v,...c,ref:b,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})});G.displayName=X;var J="ScrollAreaViewport",K=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...l}=e,c=S(J,r),i=s.useRef(null),a=j.useComposedRefs(t,i,c.onViewportChange);return h.jsxRuntimeExports.jsxs(h.jsxRuntimeExports.Fragment,{children:[h.jsxRuntimeExports.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:o}),h.jsxRuntimeExports.jsx(x.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:a,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:h.jsxRuntimeExports.jsx("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});K.displayName=J;var R="ScrollAreaScrollbar",Y=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=S(R,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:c}=o,i=e.orientation==="horizontal";return s.useEffect(()=>(i?l(!0):c(!0),()=>{i?l(!1):c(!1)}),[i,l,c]),o.type==="hover"?h.jsxRuntimeExports.jsx(be,{...n,ref:t,forceMount:r}):o.type==="scroll"?h.jsxRuntimeExports.jsx(xe,{...n,ref:t,forceMount:r}):o.type==="auto"?h.jsxRuntimeExports.jsx(Q,{...n,ref:t,forceMount:r}):o.type==="always"?h.jsxRuntimeExports.jsx(U,{...n,ref:t}):null});Y.displayName=R;var be=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=S(R,e.__scopeScrollArea),[l,c]=s.useState(!1);return s.useEffect(()=>{const i=o.scrollArea;let a=0;if(i){const f=()=>{window.clearTimeout(a),c(!0)},u=()=>{a=window.setTimeout(()=>c(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",f),i.addEventListener("pointerleave",u),()=>{window.clearTimeout(a),i.removeEventListener("pointerenter",f),i.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),h.jsxRuntimeExports.jsx(W.Presence,{present:r||l,children:h.jsxRuntimeExports.jsx(Q,{"data-state":l?"visible":"hidden",...n,ref:t})})}),xe=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=S(R,e.__scopeScrollArea),l=e.orientation==="horizontal",c=k(()=>a("SCROLL_END"),100),[i,a]=me("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return s.useEffect(()=>{if(i==="idle"){const f=window.setTimeout(()=>a("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[i,o.scrollHideDelay,a]),s.useEffect(()=>{const f=o.viewport,u=l?"scrollLeft":"scrollTop";if(f){let m=f[u];const d=()=>{const p=f[u];m!==p&&(a("SCROLL"),c()),m=p};return f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[o.viewport,l,a,c]),h.jsxRuntimeExports.jsx(W.Presence,{present:r||i!=="hidden",children:h.jsxRuntimeExports.jsx(U,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:x.composeEventHandlers(e.onPointerEnter,()=>a("POINTER_ENTER")),onPointerLeave:x.composeEventHandlers(e.onPointerLeave,()=>a("POINTER_LEAVE"))})})}),Q=s.forwardRef((e,t)=>{const r=S(R,e.__scopeScrollArea),{forceMount:n,...o}=e,[l,c]=s.useState(!1),i=e.orientation==="horizontal",a=k(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;c(i?f:u)}},10);return C(r.viewport,a),C(r.content,a),h.jsxRuntimeExports.jsx(W.Presence,{present:n||l,children:h.jsxRuntimeExports.jsx(U,{"data-state":l?"visible":"hidden",...o,ref:t})})}),U=s.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=S(R,e.__scopeScrollArea),l=s.useRef(null),c=s.useRef(0),[i,a]=s.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=oe(i.viewport,i.content),u={...n,sizes:i,onSizesChange:a,hasThumb:f>0&&f<1,onThumbChange:d=>l.current=d,onThumbPointerUp:()=>c.current=0,onThumbPointerDown:d=>c.current=d};function m(d,p){return Ee(d,c.current,i,p)}return r==="horizontal"?h.jsxRuntimeExports.jsx(Se,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollLeft,p=q(d,i,o.dir);l.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollLeft=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollLeft=m(d,o.dir))}}):r==="vertical"?h.jsxRuntimeExports.jsx(ve,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollTop,p=q(d,i);l.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollTop=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollTop=m(d))}}):null}),Se=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,l=S(R,e.__scopeScrollArea),[c,i]=s.useState(),a=s.useRef(null),f=j.useComposedRefs(t,a,l.onScrollbarXChange);return s.useEffect(()=>{a.current&&i(getComputedStyle(a.current))},[a]),h.jsxRuntimeExports.jsx(ee,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":z(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,m)=>{if(l.viewport){const d=l.viewport.scrollLeft+u.deltaX;e.onWheelScroll(d),le(d,m)&&u.preventDefault()}},onResize:()=>{a.current&&l.viewport&&c&&n({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:a.current.clientWidth,paddingStart:O(c.paddingLeft),paddingEnd:O(c.paddingRight)}})}})}),ve=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,l=S(R,e.__scopeScrollArea),[c,i]=s.useState(),a=s.useRef(null),f=j.useComposedRefs(t,a,l.onScrollbarYChange);return s.useEffect(()=>{a.current&&i(getComputedStyle(a.current))},[a]),h.jsxRuntimeExports.jsx(ee,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":z(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,m)=>{if(l.viewport){const d=l.viewport.scrollTop+u.deltaY;e.onWheelScroll(d),le(d,m)&&u.preventDefault()}},onResize:()=>{a.current&&l.viewport&&c&&n({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:a.current.clientHeight,paddingStart:O(c.paddingTop),paddingEnd:O(c.paddingBottom)}})}})}),[we,Z]=$(R),ee=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:l,onThumbPointerUp:c,onThumbPointerDown:i,onThumbPositionChange:a,onDragScroll:f,onWheelScroll:u,onResize:m,...d}=e,p=S(R,r),[w,y]=s.useState(null),I=j.useComposedRefs(t,b=>y(b)),g=s.useRef(null),A=s.useRef(""),M=p.viewport,_=n.content-n.viewport,L=E.useCallbackRef(u),T=E.useCallbackRef(a),D=k(m,10);function H(b){if(g.current){const v=b.clientX-g.current.left,P=b.clientY-g.current.top;f({x:v,y:P})}}return s.useEffect(()=>{const b=v=>{const P=v.target;w?.contains(P)&&L(v,_)};return document.addEventListener("wheel",b,{passive:!1}),()=>document.removeEventListener("wheel",b,{passive:!1})},[M,w,_,L]),s.useEffect(T,[n,T]),C(w,D),C(p.content,D),h.jsxRuntimeExports.jsx(we,{scope:r,scrollbar:w,hasThumb:o,onThumbChange:E.useCallbackRef(l),onThumbPointerUp:E.useCallbackRef(c),onThumbPositionChange:T,onThumbPointerDown:E.useCallbackRef(i),children:h.jsxRuntimeExports.jsx(x.Primitive.div,{...d,ref:I,style:{position:"absolute",...d.style},onPointerDown:x.composeEventHandlers(e.onPointerDown,b=>{b.button===0&&(b.target.setPointerCapture(b.pointerId),g.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),H(b))}),onPointerMove:x.composeEventHandlers(e.onPointerMove,H),onPointerUp:x.composeEventHandlers(e.onPointerUp,b=>{const v=b.target;v.hasPointerCapture(b.pointerId)&&v.releasePointerCapture(b.pointerId),document.body.style.webkitUserSelect=A.current,p.viewport&&(p.viewport.style.scrollBehavior=""),g.current=null})})})}),N="ScrollAreaThumb",re=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Z(N,e.__scopeScrollArea);return h.jsxRuntimeExports.jsx(W.Presence,{present:r||o.hasThumb,children:h.jsxRuntimeExports.jsx(Re,{ref:t,...n})})}),Re=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,l=S(N,r),c=Z(N,r),{onThumbPositionChange:i}=c,a=j.useComposedRefs(t,m=>c.onThumbChange(m)),f=s.useRef(void 0),u=k(()=>{f.current&&(f.current(),f.current=void 0)},100);return s.useEffect(()=>{const m=l.viewport;if(m){const d=()=>{if(u(),!f.current){const p=Pe(m,i);f.current=p,i()}};return i(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[l.viewport,u,i]),h.jsxRuntimeExports.jsx(x.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:a,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:x.composeEventHandlers(e.onPointerDownCapture,m=>{const p=m.target.getBoundingClientRect(),w=m.clientX-p.left,y=m.clientY-p.top;c.onThumbPointerDown({x:w,y})}),onPointerUp:x.composeEventHandlers(e.onPointerUp,c.onThumbPointerUp)})});re.displayName=N;var B="ScrollAreaCorner",te=s.forwardRef((e,t)=>{const r=S(B,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?h.jsxRuntimeExports.jsx(ge,{...e,ref:t}):null});te.displayName=B;var ge=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=S(B,r),[l,c]=s.useState(0),[i,a]=s.useState(0),f=!!(l&&i);return C(o.scrollbarX,()=>{const u=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(u),a(u)}),C(o.scrollbarY,()=>{const u=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(u),c(u)}),f?h.jsxRuntimeExports.jsx(x.Primitive.div,{...n,ref:t,style:{width:l,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function O(e){return e?parseInt(e,10):0}function oe(e,t){const r=e/t;return isNaN(r)?0:r}function z(e){const t=oe(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Ee(e,t,r,n="ltr"){const o=z(r),l=o/2,c=t||l,i=o-c,a=r.scrollbar.paddingStart+c,f=r.scrollbar.size-r.scrollbar.paddingEnd-i,u=r.content-r.viewport,m=n==="ltr"?[0,u]:[u*-1,0];return ne([a,f],m)(e)}function q(e,t,r="ltr"){const n=z(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-o,c=t.content-t.viewport,i=l-n,a=r==="ltr"?[0,c]:[c*-1,0],f=fe.clamp(e,a);return ne([0,c],[0,i])(f)}function ne(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function le(e,t){return e>0&&e<t}var Pe=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function o(){const l={left:e.scrollLeft,top:e.scrollTop},c=r.left!==l.left,i=r.top!==l.top;(c||i)&&t(),r=l,n=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(n)};function k(e,t){const r=E.useCallbackRef(e),n=s.useRef(0);return s.useEffect(()=>()=>window.clearTimeout(n.current),[]),s.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function C(e,t){const r=E.useCallbackRef(t);de.useLayoutEffect2(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var se=G,Ce=K,je=te;const ce=s.forwardRef(({className:e,children:t,...r},n)=>h.jsxRuntimeExports.jsxs(se,{ref:n,className:F.cn("relative overflow-hidden",e),...r,children:[h.jsxRuntimeExports.jsx(Ce,{className:"h-full w-full rounded-[inherit]",children:t}),h.jsxRuntimeExports.jsx(V,{}),h.jsxRuntimeExports.jsx(je,{})]}));ce.displayName=se.displayName;const V=s.forwardRef(({className:e,orientation:t="vertical",...r},n)=>h.jsxRuntimeExports.jsx(Y,{ref:n,orientation:t,className:F.cn("flex touch-none transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:h.jsxRuntimeExports.jsx(re,{className:"bg-border relative flex-1 rounded-full"})}));V.displayName=Y.displayName;exports.ScrollArea=ce;exports.ScrollBar=V;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./jsx-runtime-nZSsnGb7.js"),ie=require("react"),S=require("./index-BtZvtDmp.js"),W=require("./index-B2XtpfGY.js"),ae=require("./index-D2HnlO3y.js"),j=require("./index-_XxjJPRD.js"),E=require("./index-CzY-WZXL.js"),ue=require("./index-Dko2XdTk.js"),de=require("./index-MQ0c3ZX_.js"),fe=require("./index-C8ni3LLa.js"),F=require("./utils-cdbZV8DZ.js");function he(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=he(ie);function me(e,t){return s.useReducer((r,n)=>t[r][n]??r,e)}var X="ScrollArea",[$]=ae.createContextScope(X),[pe,x]=$(X),G=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:l=600,...c}=e,[i,a]=s.useState(null),[f,u]=s.useState(null),[m,d]=s.useState(null),[p,w]=s.useState(null),[y,I]=s.useState(null),[g,A]=s.useState(0),[M,_]=s.useState(0),[L,T]=s.useState(!1),[D,H]=s.useState(!1),b=j.useComposedRefs(t,P=>a(P)),v=ue.useDirection(o);return h.jsxRuntimeExports.jsx(pe,{scope:r,type:n,dir:v,scrollHideDelay:l,scrollArea:i,viewport:f,onViewportChange:u,content:m,onContentChange:d,scrollbarX:p,onScrollbarXChange:w,scrollbarXEnabled:L,onScrollbarXEnabledChange:T,scrollbarY:y,onScrollbarYChange:I,scrollbarYEnabled:D,onScrollbarYEnabledChange:H,onCornerWidthChange:A,onCornerHeightChange:_,children:h.jsxRuntimeExports.jsx(S.Primitive.div,{dir:v,...c,ref:b,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})});G.displayName=X;var J="ScrollAreaViewport",K=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...l}=e,c=x(J,r),i=s.useRef(null),a=j.useComposedRefs(t,i,c.onViewportChange);return h.jsxRuntimeExports.jsxs(h.jsxRuntimeExports.Fragment,{children:[h.jsxRuntimeExports.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:o}),h.jsxRuntimeExports.jsx(S.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:a,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:h.jsxRuntimeExports.jsx("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});K.displayName=J;var R="ScrollAreaScrollbar",Y=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=x(R,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:c}=o,i=e.orientation==="horizontal";return s.useEffect(()=>(i?l(!0):c(!0),()=>{i?l(!1):c(!1)}),[i,l,c]),o.type==="hover"?h.jsxRuntimeExports.jsx(be,{...n,ref:t,forceMount:r}):o.type==="scroll"?h.jsxRuntimeExports.jsx(Se,{...n,ref:t,forceMount:r}):o.type==="auto"?h.jsxRuntimeExports.jsx(Q,{...n,ref:t,forceMount:r}):o.type==="always"?h.jsxRuntimeExports.jsx(B,{...n,ref:t}):null});Y.displayName=R;var be=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=x(R,e.__scopeScrollArea),[l,c]=s.useState(!1);return s.useEffect(()=>{const i=o.scrollArea;let a=0;if(i){const f=()=>{window.clearTimeout(a),c(!0)},u=()=>{a=window.setTimeout(()=>c(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",f),i.addEventListener("pointerleave",u),()=>{window.clearTimeout(a),i.removeEventListener("pointerenter",f),i.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),h.jsxRuntimeExports.jsx(W.Presence,{present:r||l,children:h.jsxRuntimeExports.jsx(Q,{"data-state":l?"visible":"hidden",...n,ref:t})})}),Se=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=x(R,e.__scopeScrollArea),l=e.orientation==="horizontal",c=k(()=>a("SCROLL_END"),100),[i,a]=me("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return s.useEffect(()=>{if(i==="idle"){const f=window.setTimeout(()=>a("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[i,o.scrollHideDelay,a]),s.useEffect(()=>{const f=o.viewport,u=l?"scrollLeft":"scrollTop";if(f){let m=f[u];const d=()=>{const p=f[u];m!==p&&(a("SCROLL"),c()),m=p};return f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[o.viewport,l,a,c]),h.jsxRuntimeExports.jsx(W.Presence,{present:r||i!=="hidden",children:h.jsxRuntimeExports.jsx(B,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:S.composeEventHandlers(e.onPointerEnter,()=>a("POINTER_ENTER")),onPointerLeave:S.composeEventHandlers(e.onPointerLeave,()=>a("POINTER_LEAVE"))})})}),Q=s.forwardRef((e,t)=>{const r=x(R,e.__scopeScrollArea),{forceMount:n,...o}=e,[l,c]=s.useState(!1),i=e.orientation==="horizontal",a=k(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;c(i?f:u)}},10);return C(r.viewport,a),C(r.content,a),h.jsxRuntimeExports.jsx(W.Presence,{present:n||l,children:h.jsxRuntimeExports.jsx(B,{"data-state":l?"visible":"hidden",...o,ref:t})})}),B=s.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=x(R,e.__scopeScrollArea),l=s.useRef(null),c=s.useRef(0),[i,a]=s.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=oe(i.viewport,i.content),u={...n,sizes:i,onSizesChange:a,hasThumb:f>0&&f<1,onThumbChange:d=>l.current=d,onThumbPointerUp:()=>c.current=0,onThumbPointerDown:d=>c.current=d};function m(d,p){return Ee(d,c.current,i,p)}return r==="horizontal"?h.jsxRuntimeExports.jsx(xe,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollLeft,p=q(d,i,o.dir);l.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollLeft=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollLeft=m(d,o.dir))}}):r==="vertical"?h.jsxRuntimeExports.jsx(ve,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&l.current){const d=o.viewport.scrollTop,p=q(d,i);l.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:d=>{o.viewport&&(o.viewport.scrollTop=d)},onDragScroll:d=>{o.viewport&&(o.viewport.scrollTop=m(d))}}):null}),xe=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,l=x(R,e.__scopeScrollArea),[c,i]=s.useState(),a=s.useRef(null),f=j.useComposedRefs(t,a,l.onScrollbarXChange);return s.useEffect(()=>{a.current&&i(getComputedStyle(a.current))},[a]),h.jsxRuntimeExports.jsx(ee,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":z(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,m)=>{if(l.viewport){const d=l.viewport.scrollLeft+u.deltaX;e.onWheelScroll(d),le(d,m)&&u.preventDefault()}},onResize:()=>{a.current&&l.viewport&&c&&n({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:a.current.clientWidth,paddingStart:O(c.paddingLeft),paddingEnd:O(c.paddingRight)}})}})}),ve=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,l=x(R,e.__scopeScrollArea),[c,i]=s.useState(),a=s.useRef(null),f=j.useComposedRefs(t,a,l.onScrollbarYChange);return s.useEffect(()=>{a.current&&i(getComputedStyle(a.current))},[a]),h.jsxRuntimeExports.jsx(ee,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":z(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,m)=>{if(l.viewport){const d=l.viewport.scrollTop+u.deltaY;e.onWheelScroll(d),le(d,m)&&u.preventDefault()}},onResize:()=>{a.current&&l.viewport&&c&&n({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:a.current.clientHeight,paddingStart:O(c.paddingTop),paddingEnd:O(c.paddingBottom)}})}})}),[we,Z]=$(R),ee=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:l,onThumbPointerUp:c,onThumbPointerDown:i,onThumbPositionChange:a,onDragScroll:f,onWheelScroll:u,onResize:m,...d}=e,p=x(R,r),[w,y]=s.useState(null),I=j.useComposedRefs(t,b=>y(b)),g=s.useRef(null),A=s.useRef(""),M=p.viewport,_=n.content-n.viewport,L=E.useCallbackRef(u),T=E.useCallbackRef(a),D=k(m,10);function H(b){if(g.current){const v=b.clientX-g.current.left,P=b.clientY-g.current.top;f({x:v,y:P})}}return s.useEffect(()=>{const b=v=>{const P=v.target;w?.contains(P)&&L(v,_)};return document.addEventListener("wheel",b,{passive:!1}),()=>document.removeEventListener("wheel",b,{passive:!1})},[M,w,_,L]),s.useEffect(T,[n,T]),C(w,D),C(p.content,D),h.jsxRuntimeExports.jsx(we,{scope:r,scrollbar:w,hasThumb:o,onThumbChange:E.useCallbackRef(l),onThumbPointerUp:E.useCallbackRef(c),onThumbPositionChange:T,onThumbPointerDown:E.useCallbackRef(i),children:h.jsxRuntimeExports.jsx(S.Primitive.div,{...d,ref:I,style:{position:"absolute",...d.style},onPointerDown:S.composeEventHandlers(e.onPointerDown,b=>{b.button===0&&(b.target.setPointerCapture(b.pointerId),g.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),H(b))}),onPointerMove:S.composeEventHandlers(e.onPointerMove,H),onPointerUp:S.composeEventHandlers(e.onPointerUp,b=>{const v=b.target;v.hasPointerCapture(b.pointerId)&&v.releasePointerCapture(b.pointerId),document.body.style.webkitUserSelect=A.current,p.viewport&&(p.viewport.style.scrollBehavior=""),g.current=null})})})}),N="ScrollAreaThumb",re=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Z(N,e.__scopeScrollArea);return h.jsxRuntimeExports.jsx(W.Presence,{present:r||o.hasThumb,children:h.jsxRuntimeExports.jsx(Re,{ref:t,...n})})}),Re=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,l=x(N,r),c=Z(N,r),{onThumbPositionChange:i}=c,a=j.useComposedRefs(t,m=>c.onThumbChange(m)),f=s.useRef(void 0),u=k(()=>{f.current&&(f.current(),f.current=void 0)},100);return s.useEffect(()=>{const m=l.viewport;if(m){const d=()=>{if(u(),!f.current){const p=Pe(m,i);f.current=p,i()}};return i(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[l.viewport,u,i]),h.jsxRuntimeExports.jsx(S.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:a,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:S.composeEventHandlers(e.onPointerDownCapture,m=>{const p=m.target.getBoundingClientRect(),w=m.clientX-p.left,y=m.clientY-p.top;c.onThumbPointerDown({x:w,y})}),onPointerUp:S.composeEventHandlers(e.onPointerUp,c.onThumbPointerUp)})});re.displayName=N;var U="ScrollAreaCorner",te=s.forwardRef((e,t)=>{const r=x(U,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?h.jsxRuntimeExports.jsx(ge,{...e,ref:t}):null});te.displayName=U;var ge=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=x(U,r),[l,c]=s.useState(0),[i,a]=s.useState(0),f=!!(l&&i);return C(o.scrollbarX,()=>{const u=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(u),a(u)}),C(o.scrollbarY,()=>{const u=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(u),c(u)}),f?h.jsxRuntimeExports.jsx(S.Primitive.div,{...n,ref:t,style:{width:l,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function O(e){return e?parseInt(e,10):0}function oe(e,t){const r=e/t;return isNaN(r)?0:r}function z(e){const t=oe(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Ee(e,t,r,n="ltr"){const o=z(r),l=o/2,c=t||l,i=o-c,a=r.scrollbar.paddingStart+c,f=r.scrollbar.size-r.scrollbar.paddingEnd-i,u=r.content-r.viewport,m=n==="ltr"?[0,u]:[u*-1,0];return ne([a,f],m)(e)}function q(e,t,r="ltr"){const n=z(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-o,c=t.content-t.viewport,i=l-n,a=r==="ltr"?[0,c]:[c*-1,0],f=fe.clamp(e,a);return ne([0,c],[0,i])(f)}function ne(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function le(e,t){return e>0&&e<t}var Pe=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function o(){const l={left:e.scrollLeft,top:e.scrollTop},c=r.left!==l.left,i=r.top!==l.top;(c||i)&&t(),r=l,n=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(n)};function k(e,t){const r=E.useCallbackRef(e),n=s.useRef(0);return s.useEffect(()=>()=>window.clearTimeout(n.current),[]),s.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function C(e,t){const r=E.useCallbackRef(t);de.useLayoutEffect2(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var se=G,Ce=K,je=te;const ce=s.forwardRef(({className:e,children:t,...r},n)=>h.jsxRuntimeExports.jsxs(se,{ref:n,className:F.cn("relative overflow-hidden",e),...r,children:[h.jsxRuntimeExports.jsx(Ce,{className:"h-full w-full rounded-[inherit]",children:t}),h.jsxRuntimeExports.jsx(V,{}),h.jsxRuntimeExports.jsx(je,{})]}));ce.displayName=se?.displayName||"ScrollArea";const V=s.forwardRef(({className:e,orientation:t="vertical",...r},n)=>h.jsxRuntimeExports.jsx(Y,{ref:n,orientation:t,className:F.cn("flex touch-none transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:h.jsxRuntimeExports.jsx(re,{className:"bg-border relative flex-1 rounded-full"})}));V.displayName=Y?.displayName||"ScrollBar";exports.ScrollArea=ce;exports.ScrollBar=V;