niceeval 0.10.3-canary.6 → 0.11.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 (122) hide show
  1. package/bin/niceeval.js +9 -4
  2. package/dist/agents/types.d.ts +5 -4
  3. package/dist/context/turn-errors.d.ts +27 -23
  4. package/dist/i18n/en.d.ts +15 -0
  5. package/dist/i18n/en.js +16 -1
  6. package/dist/i18n/zh-CN.d.ts +16 -1
  7. package/dist/i18n/zh-CN.js +16 -1
  8. package/dist/o11y/derive.js +28 -24
  9. package/dist/o11y/types.d.ts +8 -5
  10. package/dist/report/components/attempt-detail/UsageTable.js +4 -7
  11. package/dist/report/components/attempt-detail/compute.d.ts +2 -2
  12. package/dist/report/components/attempt-detail/compute.js +2 -6
  13. package/dist/report/components/attempt-detail/faces.js +7 -7
  14. package/dist/report/components/attempt-detail/index.js +0 -3
  15. package/dist/report/components/entity-lists/EvalList.js +0 -0
  16. package/dist/report/components/metric-views/compute.js +1 -1
  17. package/dist/report/model/types.d.ts +3 -4
  18. package/dist/results/locator.js +0 -0
  19. package/dist/results/select.d.ts +6 -0
  20. package/dist/results/select.js +8 -0
  21. package/dist/runner/feedback/sink.d.ts +26 -1
  22. package/dist/runner/fingerprint.d.ts +23 -0
  23. package/dist/runner/types.d.ts +105 -7
  24. package/dist/sandbox/errors.d.ts +29 -0
  25. package/dist/sandbox/resolve.d.ts +9 -0
  26. package/dist/shared/failure-class.d.ts +91 -0
  27. package/dist/types.d.ts +1 -0
  28. package/dist/util.d.ts +3 -2
  29. package/dist/util.js +31 -5
  30. package/docs-site/zh/explanation/runner.mdx +35 -0
  31. package/docs-site/zh/reference/cli.mdx +10 -1
  32. package/docs-site/zh/reference/events.mdx +4 -4
  33. package/docs-site/zh/troubleshooting/debugging.mdx +11 -0
  34. package/docs-site/zh/tutorials/viewing-results.mdx +35 -3
  35. package/package.json +28 -24
  36. package/src/agents/ai-sdk.test.ts +26 -0
  37. package/src/agents/ai-sdk.ts +7 -4
  38. package/src/agents/index.ts +5 -3
  39. package/src/agents/langgraph.test.ts +30 -0
  40. package/src/agents/langgraph.ts +5 -2
  41. package/src/agents/openai-compat.test.ts +35 -0
  42. package/src/agents/openai-compat.ts +16 -4
  43. package/src/agents/sdk-streams.test.ts +66 -0
  44. package/src/agents/sdk-streams.ts +3 -1
  45. package/src/agents/types.ts +5 -4
  46. package/src/cli.ts +81 -16
  47. package/src/context/context.test.ts +34 -0
  48. package/src/context/context.ts +14 -5
  49. package/src/context/send-retry.test.ts +86 -0
  50. package/src/context/send-retry.ts +37 -12
  51. package/src/context/session.ts +24 -0
  52. package/src/context/turn-errors.test.ts +124 -17
  53. package/src/context/turn-errors.ts +60 -50
  54. package/src/define.ts +5 -0
  55. package/src/i18n/en.ts +22 -1
  56. package/src/i18n/zh-CN.ts +22 -1
  57. package/src/index.ts +8 -0
  58. package/src/o11y/cost.ts +4 -2
  59. package/src/o11y/derive.test.ts +40 -0
  60. package/src/o11y/derive.ts +28 -22
  61. package/src/o11y/otlp/sandbox-receiver.test.ts +201 -0
  62. package/src/o11y/otlp/sandbox-receiver.ts +73 -27
  63. package/src/o11y/parsers/bub.test.ts +30 -0
  64. package/src/o11y/parsers/bub.ts +5 -2
  65. package/src/o11y/parsers/codex.test.ts +19 -0
  66. package/src/o11y/parsers/codex.ts +5 -2
  67. package/src/o11y/types.ts +8 -5
  68. package/src/report/components/attempt-detail/UsageTable.tsx +4 -6
  69. package/src/report/components/attempt-detail/attempt-components.test.tsx +5 -8
  70. package/src/report/components/attempt-detail/compute.ts +2 -7
  71. package/src/report/components/attempt-detail/faces.ts +7 -7
  72. package/src/report/components/attempt-detail/index.tsx +0 -3
  73. package/src/report/components/entity-lists/EvalList.tsx +0 -0
  74. package/src/report/components/metric-views/compute.ts +1 -1
  75. package/src/report/model/types.ts +3 -4
  76. package/src/results/format.ts +9 -2
  77. package/src/results/index.ts +2 -0
  78. package/src/results/locator.ts +0 -0
  79. package/src/results/open.ts +132 -21
  80. package/src/results/select.ts +12 -0
  81. package/src/results/skipped-notice.ts +0 -0
  82. package/src/runner/attempt.test.ts +116 -0
  83. package/src/runner/attempt.ts +89 -8
  84. package/src/runner/discover.ts +21 -3
  85. package/src/runner/feedback/coordinator.ts +24 -2
  86. package/src/runner/feedback/eval-conclusions.ts +6 -3
  87. package/src/runner/feedback/human.test.ts +300 -6
  88. package/src/runner/feedback/human.ts +132 -30
  89. package/src/runner/feedback/json.test.ts +127 -2
  90. package/src/runner/feedback/json.ts +51 -3
  91. package/src/runner/feedback/reducer.test.ts +328 -29
  92. package/src/runner/feedback/reducer.ts +84 -9
  93. package/src/runner/feedback/sink.ts +39 -1
  94. package/src/runner/fingerprint.ts +49 -19
  95. package/src/runner/gate-lease.test.ts +510 -0
  96. package/src/runner/gate-lease.ts +350 -0
  97. package/src/runner/lock.test.ts +454 -0
  98. package/src/runner/lock.ts +288 -0
  99. package/src/runner/report.test.ts +1 -0
  100. package/src/runner/run.test.ts +2044 -9
  101. package/src/runner/run.ts +825 -61
  102. package/src/runner/teardown-registry.ts +20 -78
  103. package/src/runner/types.ts +103 -7
  104. package/src/sandbox/errors.test.ts +72 -0
  105. package/src/sandbox/errors.ts +83 -0
  106. package/src/sandbox/keep-registry.ts +22 -46
  107. package/src/sandbox/resolve.test.ts +100 -0
  108. package/src/sandbox/resolve.ts +84 -27
  109. package/src/shared/entry-file-store.test.ts +149 -0
  110. package/src/shared/entry-file-store.ts +117 -0
  111. package/src/shared/failure-class.test.ts +137 -0
  112. package/src/shared/failure-class.ts +175 -0
  113. package/src/show/index.ts +5 -6
  114. package/src/show/render.test.ts +116 -15
  115. package/src/show/render.ts +124 -35
  116. package/src/types.ts +9 -0
  117. package/src/util.ts +31 -4
  118. package/src/view/app/App.tsx +5 -1
  119. package/src/view/client-dist/app.js +1 -1
  120. package/src/view/data.ts +5 -9
  121. package/src/view/shared/types.ts +7 -1
  122. package/src/view/view-report.test.ts +54 -0
package/src/util.ts CHANGED
@@ -22,14 +22,41 @@ export function stripComments(code: string): string {
22
22
  return code.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/.*$/gm, "");
23
23
  }
24
24
 
25
+ /** `cause` 链最多展开这么多层——足够穿透「包装了三四层」的常见形态,又不至于把整棵树倒出来。 */
26
+ const CAUSE_CHAIN_DEPTH = 5;
27
+
28
+ /**
29
+ * `cause` 链的多行后缀。`Error.stack` **不含** `cause`,而真实死因常常只在那里:`fetch failed`
30
+ * 的 stack 一个字都不说为什么失败,`error.cause.code` 才是 `ECONNRESET` / `ENOTFOUND` / 证书错误。
31
+ * 不展开这条链,用户拿到的就是一句无法行动的 `TypeError: fetch failed`。
32
+ * 逐层带上 `code`(有的话)——它比 message 更适合搜索和按值分支。
33
+ */
34
+ function causeChainSuffix(error: Error): string {
35
+ const lines: string[] = [];
36
+ let current: unknown = (error as { cause?: unknown }).cause;
37
+ for (let depth = 0; depth < CAUSE_CHAIN_DEPTH && current != null; depth++) {
38
+ if (current instanceof Error) {
39
+ const code = (current as { code?: unknown }).code;
40
+ const label = typeof code === "string" ? `${current.name} (${code})` : current.name;
41
+ lines.push(` caused by: ${label}: ${current.message}`);
42
+ current = (current as { cause?: unknown }).cause;
43
+ } else {
44
+ lines.push(` caused by: ${String(current)}`);
45
+ break;
46
+ }
47
+ }
48
+ return lines.length > 0 ? `\n${lines.join("\n")}` : "";
49
+ }
50
+
25
51
  /**
26
52
  * 把 catch 到的 e 转成报告用字符串。优先带 stack(定位到 eval 脚本抛错的具体 file:line),
27
- * 只在没有 stack 时才退化到 `name: message`。EvalResult.error 走这个,别再手写
28
- * `e instanceof Error ? e.message : String(e)`——那样用户永远看不出错误发生在哪一行。
53
+ * 只在没有 stack 时才退化到 `name: message`;两种形态都补上 `cause` 链。EvalResult.error 走
54
+ * 这个,别再手写 `e instanceof Error ? e.message : String(e)`——那样用户永远看不出错误发生在
55
+ * 哪一行、也看不到真实死因。`firstLine()` 的消费方不受影响:cause 恒在第一行之后。
29
56
  */
30
57
  export function formatThrown(e: unknown): string {
31
- if (e instanceof Error) return e.stack ?? `${e.name}: ${e.message}`;
32
- return String(e);
58
+ if (!(e instanceof Error)) return String(e);
59
+ return (e.stack ?? `${e.name}: ${e.message}`) + causeChainSuffix(e);
33
60
  }
34
61
 
35
62
  /**
@@ -82,6 +82,10 @@ export function App({ data, reportPages }: { data: ViewData; reportPages: Record
82
82
  const pages: ViewReportPageMeta[] = data.report?.pages?.length
83
83
  ? data.report.pages
84
84
  : [{ id: "report", title: { en: "Report", "zh-CN": "报告" } }];
85
+ // 导航只列 `navigation !== false` 的页,按声明序,宿主不追加任何项
86
+ // (docs/feature/reports/view.md「导航机器与品牌位」/ library/shell.md「导航的组成只有一条规则」)。
87
+ // 退出导航不等于退出站点:内容块与 `#/page/<id>` 深链仍走完整的 pages。
88
+ const navPages = pages.filter((page) => page.navigation !== false);
85
89
  const initialPageId = data.report?.initialPageId ?? pages[0]!.id;
86
90
 
87
91
  const [tab, setTab] = useState<Tab>(() => tabFromHash(location.hash, pages) ?? `page:${initialPageId}`);
@@ -215,7 +219,7 @@ export function App({ data, reportPages }: { data: ViewData; reportPages: Record
215
219
  <span>NiceEval</span>
216
220
  </a>
217
221
  <TabsList aria-label={t("nav.label")}>
218
- {pages.map((page) => (
222
+ {navPages.map((page) => (
219
223
  <TabsTrigger key={`page:${page.id}`} value={`page:${page.id}`}>
220
224
  {localizedText(page.title, locale) ?? page.id}
221
225
  </TabsTrigger>
@@ -46,4 +46,4 @@ Error generating stack: `+e.message+`
46
46
  `},cn=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},ln=function(){_.useEffect(function(){return document.body.setAttribute(on,(cn()+1).toString()),function(){var e=cn()-1;e<=0?document.body.removeAttribute(on):document.body.setAttribute(on,e.toString())}},[])},un=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;ln();var a=_.useMemo(function(){return rn(i)},[i]);return _.createElement(an,{styles:sn(a,!t,i,n?``:`!important`)})},dn=!1;if(typeof window<`u`)try{var fn=Object.defineProperty({},"passive",{get:function(){return dn=!0,!0}});window.addEventListener(`test`,fn,fn),window.removeEventListener(`test`,fn,fn)}catch{dn=!1}var pn=dn?{passive:!1}:!1,mn=function(e){return e.tagName===`TEXTAREA`},hn=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!mn(e)&&n[t]===`visible`)},gn=function(e){return hn(e,`overflowY`)},_n=function(e){return hn(e,`overflowX`)},vn=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),xn(e,r)){var i=Sn(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},yn=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},bn=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},xn=function(e,t){return e===`v`?gn(t):_n(t)},Sn=function(e,t){return e===`v`?yn(t):bn(t)},Cn=function(e,t){return e===`h`&&t===`rtl`?-1:1},wn=function(e,t,n,r,i){var a=Cn(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Sn(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&xn(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Tn=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},En=function(e){return[e.deltaX,e.deltaY]},Dn=function(e){return e&&`current`in e?e.current:e},On=function(e,t){return e[0]===t[0]&&e[1]===t[1]},kn=function(e){return`
47
47
  .block-interactivity-${e} {pointer-events: none;}
48
48
  .allow-interactivity-${e} {pointer-events: all;}
49
- `},An=0,jn=[];function Mn(e){var t=_.useRef([]),n=_.useRef([0,0]),r=_.useRef(),i=_.useState(An++)[0],a=_.useState($t)[0],o=_.useRef(e);_.useEffect(function(){o.current=e},[e]),_.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ot([e.lockRef.current],(e.shards||[]).map(Dn),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=_.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Tn(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=vn(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=vn(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return wn(h,t,e,h===`h`?s:c,!0)},[]),c=_.useCallback(function(e){var n=e;if(!(!jn.length||jn[jn.length-1]!==a)){var r=`deltaY`in n?En(n):Tn(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&On(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Dn).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=_.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Nn(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=_.useCallback(function(e){n.current=Tn(e),r.current=void 0},[]),d=_.useCallback(function(t){l(t.type,En(t),t.target,s(t,e.lockRef.current))},[]),f=_.useCallback(function(t){l(t.type,Tn(t),t.target,s(t,e.lockRef.current))},[]);_.useEffect(function(){return jn.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,pn),document.addEventListener(`touchmove`,c,pn),document.addEventListener(`touchstart`,u,pn),function(){jn=jn.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,pn),document.removeEventListener(`touchmove`,c,pn),document.removeEventListener(`touchstart`,u,pn)}},[]);var p=e.removeScrollBar,m=e.inert;return _.createElement(_.Fragment,null,m?_.createElement(a,{styles:kn(i)}):null,p?_.createElement(un,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Nn(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Pn=Ht(Ut,Mn),Fn=_.forwardRef(function(e,t){return _.createElement(Gt,Et({},e,{ref:t,sideCar:Pn}))});Fn.classNames=Gt.classNames;var In=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ln=new WeakMap,Rn=new WeakMap,zn={},Bn=0,Vn=function(e){return e&&(e.host||Vn(e.parentNode))},Hn=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Vn(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Un=function(e,t,n,r){var i=Hn(t,Array.isArray(e)?e:[e]);zn[n]||(zn[n]=new WeakMap);var a=zn[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ln.get(e)||0)+1,l=(a.get(e)||0)+1;Ln.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Rn.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Bn++,function(){o.forEach(function(e){var t=Ln.get(e)-1,i=a.get(e)-1;Ln.set(e,t),a.set(e,i),t||(Rn.has(e)||e.removeAttribute(r),Rn.delete(e)),i||e.removeAttribute(n)}),Bn--,Bn||(Ln=new WeakMap,Ln=new WeakMap,Rn=new WeakMap,zn={})}},Wn=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||In(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Un(r,i,n,`aria-hidden`)):function(){return null}},Gn=`Dialog`,[Kn,qn]=N(Gn),[Jn,Yn]=Kn(Gn),Xn=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=_.useRef(null),c=_.useRef(null),[l,u]=ve({prop:r,defaultProp:i??!1,onChange:a,caller:Gn});return(0,M.jsx)(Jn,{scope:t,triggerRef:s,contentRef:c,contentId:ge(),titleId:ge(),descriptionId:ge(),open:l,onOpenChange:u,onOpenToggle:_.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Xn.displayName=Gn;var Zn=`DialogTrigger`,Qn=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(Zn,n),a=A(t,i.triggerRef);return(0,M.jsx)(Pe.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":vr(i.open),...r,ref:a,onClick:O(e.onClick,i.onOpenToggle)})});Qn.displayName=Zn;var $n=`DialogPortal`,[er,tr]=Kn($n,{forceMount:void 0}),nr=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Yn($n,t);return(0,M.jsx)(er,{scope:t,forceMount:n,children:_.Children.map(r,e=>(0,M.jsx)(_t,{present:n||a.open,children:(0,M.jsx)(ht,{asChild:!0,container:i,children:e})}))})};nr.displayName=$n;var rr=`DialogOverlay`,ir=_.forwardRef((e,t)=>{let n=tr(rr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Yn(rr,e.__scopeDialog);return a.modal?(0,M.jsx)(_t,{present:r||a.open,children:(0,M.jsx)(or,{...i,ref:t})}):null});ir.displayName=rr;var ar=Se(`DialogOverlay.RemoveScroll`),or=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(rr,n),a=A(t,qe());return(0,M.jsx)(Fn,{as:ar,allowPinchZoom:!0,shards:[i.contentRef],children:(0,M.jsx)(Pe.div,{"data-state":vr(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),sr=`DialogContent`,cr=_.forwardRef((e,t)=>{let n=tr(sr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Yn(sr,e.__scopeDialog);return(0,M.jsx)(_t,{present:r||a.open,children:a.modal?(0,M.jsx)(lr,{...i,ref:t}):(0,M.jsx)(ur,{...i,ref:t})})});cr.displayName=sr;var lr=_.forwardRef((e,t)=>{let n=Yn(sr,e.__scopeDialog),r=_.useRef(null),i=A(t,n.contentRef,r);return _.useEffect(()=>{let e=r.current;if(e)return Wn(e)},[]),(0,M.jsx)(dr,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:O(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:O(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:O(e.onFocusOutside,e=>e.preventDefault())})}),ur=_.forwardRef((e,t)=>{let n=Yn(sr,e.__scopeDialog),r=_.useRef(!1),i=_.useRef(!1);return(0,M.jsx)(dr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),dr=_.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=Yn(sr,n);return wt(),(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(nt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,M.jsx)(We,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":vr(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),fr=`DialogTitle`,pr=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(fr,n);return(0,M.jsx)(Pe.h2,{id:i.titleId,...r,ref:t})});pr.displayName=fr;var mr=`DialogDescription`,hr=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(mr,n);return(0,M.jsx)(Pe.p,{id:i.descriptionId,...r,ref:t})});hr.displayName=mr;var gr=`DialogClose`,_r=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(gr,n);return(0,M.jsx)(Pe.button,{type:`button`,...r,ref:t,onClick:O(e.onClick,()=>i.onOpenChange(!1))})});_r.displayName=gr;function vr(e){return e?`open`:`closed`}function yr(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=yr(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function br(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=yr(e))&&(r&&(r+=` `),r+=t);return r}var xr=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Sr=(e,t)=>({classGroupId:e,validator:t}),Cr=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),wr=`-`,Tr=[],Er=`arbitrary..`,Dr=e=>{let t=Ar(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return kr(e);let n=e.split(wr);return Or(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?xr(i,t):t:i||Tr}return n[e]||Tr}}},Or=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Or(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(wr):e.slice(t).join(wr),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},kr=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Er+r:void 0})(),Ar=e=>{let{theme:t,classGroups:n}=e;return jr(n,t)},jr=(e,t)=>{let n=Cr();for(let r in e){let i=e[r];Mr(i,n,r,t)}return n},Mr=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Nr(i,t,n,r)}},Nr=(e,t,n,r)=>{if(typeof e==`string`){Pr(e,t,n);return}if(typeof e==`function`){Fr(e,t,n,r);return}Ir(e,t,n,r)},Pr=(e,t,n)=>{let r=e===``?t:Lr(t,e);r.classGroupId=n},Fr=(e,t,n,r)=>{if(Rr(e)){Mr(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Sr(n,e))},Ir=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Mr(o,Lr(t,a),n,r)}},Lr=(e,t)=>{let n=e,r=t.split(wr),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Cr(),n.nextPart.set(t,i)),n=i}return n},Rr=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,zr=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Br=`!`,Vr=`:`,Hr=[],Ur=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Wr=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Vr){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Br)?(c=s.slice(0,-1),l=!0):s.startsWith(Br)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ur(t,l,c,u)};if(t){let e=t+Vr,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ur(Hr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Gr=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Kr=e=>({cache:zr(e.cacheSize),parseClassName:Wr(e),sortModifiers:Gr(e),postfixLookupClassGroupIds:qr(e),...Dr(e)}),qr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Jr=/\s+/,Yr=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Jr),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Br:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Xr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Zr(n))&&(i&&(i+=` `),i+=r);return i},Zr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Zr(e[r]))&&(n&&(n+=` `),n+=t);return n},Qr=(e,...t)=>{let n,r,i,a,o=o=>(n=Kr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Yr(e,n);return i(e,a),a};return a=o,(...e)=>a(Xr(...e))},$r=[],F=e=>{let t=t=>t[e]||$r;return t.isThemeGetter=!0,t},ei=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ti=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ni=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ri=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ii=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ai=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,oi=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,si=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ci=e=>ni.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),li=e=>!!e&&Number.isInteger(Number(e)),ui=e=>e.endsWith(`%`)&&I(e.slice(0,-1)),di=e=>ri.test(e),fi=()=>!0,pi=e=>ii.test(e)&&!ai.test(e),mi=()=>!1,hi=e=>oi.test(e),gi=e=>si.test(e),_i=e=>!L(e)&&!R(e),vi=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),yi=e=>z(e,Ii,mi),L=e=>ei.test(e),bi=e=>z(e,Li,pi),xi=e=>z(e,Ri,I),Si=e=>z(e,Bi,fi),Ci=e=>z(e,zi,mi),wi=e=>z(e,Pi,mi),Ti=e=>z(e,Fi,gi),Ei=e=>z(e,Vi,hi),R=e=>ti.test(e),Di=e=>B(e,Li),Oi=e=>B(e,zi),ki=e=>B(e,Pi),Ai=e=>B(e,Ii),ji=e=>B(e,Fi),Mi=e=>B(e,Vi,!0),Ni=e=>B(e,Bi,!0),z=(e,t,n)=>{let r=ei.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},B=(e,t,n=!1)=>{let r=ti.exec(e);return r?r[1]?t(r[1]):n:!1},Pi=e=>e===`position`||e===`percentage`,Fi=e=>e===`image`||e===`url`,Ii=e=>e===`length`||e===`size`||e===`bg-size`,Li=e=>e===`length`,Ri=e=>e===`number`,zi=e=>e===`family-name`,Bi=e=>e===`number`||e===`weight`,Vi=e=>e===`shadow`,Hi=Qr(()=>{let e=F(`color`),t=F(`font`),n=F(`text`),r=F(`font-weight`),i=F(`tracking`),a=F(`leading`),o=F(`breakpoint`),s=F(`container`),c=F(`spacing`),l=F(`radius`),u=F(`shadow`),d=F(`inset-shadow`),f=F(`text-shadow`),p=F(`drop-shadow`),m=F(`blur`),h=F(`perspective`),g=F(`aspect`),_=F(`ease`),v=F(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),R,L],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[R,L,c],w=()=>[ci,`full`,`auto`,...C()],te=()=>[li,`none`,`subgrid`,R,L],ne=()=>[`auto`,{span:[`full`,li,R,L]},li,R,L],T=()=>[li,`auto`,R,L],re=()=>[`auto`,`min`,`max`,`fr`,R,L],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],oe=()=>[`auto`,...C()],se=()=>[ci,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],ce=()=>[ci,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],le=()=>[ci,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],E=()=>[e,R,L],D=()=>[...b(),ki,wi,{position:[R,L]}],ue=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],O=()=>[`auto`,`cover`,`contain`,Ai,yi,{size:[R,L]}],de=()=>[ui,Di,bi],k=()=>[``,`none`,`full`,l,R,L],A=()=>[``,I,Di,bi],j=()=>[`solid`,`dashed`,`dotted`,`double`],M=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],N=()=>[I,ui,ki,wi],fe=()=>[``,`none`,m,R,L],pe=()=>[`none`,I,R,L],me=()=>[`none`,I,R,L],he=()=>[I,R,L],ge=()=>[ci,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[di],breakpoint:[di],color:[fi],container:[di],"drop-shadow":[di],ease:[`in`,`out`,`in-out`],font:[_i],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[di],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[di],shadow:[di],spacing:[`px`,I],text:[di],"text-shadow":[di],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,ci,L,R,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,R,L]}],"container-named":[vi],columns:[{columns:[I,L,R,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[li,`auto`,R,L]}],basis:[{basis:[ci,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[I,ci,`auto`,`initial`,`none`,L]}],grow:[{grow:[``,I,R,L]}],shrink:[{shrink:[``,I,R,L]}],order:[{order:[li,`first`,`last`,`none`,R,L]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:oe()}],mx:[{mx:oe()}],my:[{my:oe()}],ms:[{ms:oe()}],me:[{me:oe()}],mbs:[{mbs:oe()}],mbe:[{mbe:oe()}],mt:[{mt:oe()}],mr:[{mr:oe()}],mb:[{mb:oe()}],ml:[{ml:oe()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:se()}],"inline-size":[{inline:[`auto`,...ce()]}],"min-inline-size":[{"min-inline":[`auto`,...ce()]}],"max-inline-size":[{"max-inline":[`none`,...ce()]}],"block-size":[{block:[`auto`,...le()]}],"min-block-size":[{"min-block":[`auto`,...le()]}],"max-block-size":[{"max-block":[`none`,...le()]}],w:[{w:[s,`screen`,...se()]}],"min-w":[{"min-w":[s,`screen`,`none`,...se()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...se()]}],h:[{h:[`screen`,`lh`,...se()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...se()]}],"max-h":[{"max-h":[`screen`,`lh`,...se()]}],"font-size":[{text:[`base`,n,Di,bi]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Ni,Si]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ui,L]}],"font-family":[{font:[Oi,Ci,t]}],"font-features":[{"font-features":[L]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,R,L]}],"line-clamp":[{"line-clamp":[I,`none`,R,xi]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,R,L]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,R,L]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:E()}],"text-color":[{text:E()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...j(),`wavy`]}],"text-decoration-thickness":[{decoration:[I,`from-font`,`auto`,R,bi]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[I,`auto`,R,L]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[li,R,L]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,R,L]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,R,L]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:ue()}],"bg-size":[{bg:O()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},li,R,L],radial:[``,R,L],conic:[li,R,L]},ji,Ti]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:A()}],"border-w-x":[{"border-x":A()}],"border-w-y":[{"border-y":A()}],"border-w-s":[{"border-s":A()}],"border-w-e":[{"border-e":A()}],"border-w-bs":[{"border-bs":A()}],"border-w-be":[{"border-be":A()}],"border-w-t":[{"border-t":A()}],"border-w-r":[{"border-r":A()}],"border-w-b":[{"border-b":A()}],"border-w-l":[{"border-l":A()}],"divide-x":[{"divide-x":A()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":A()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...j(),`hidden`,`none`]}],"divide-style":[{divide:[...j(),`hidden`,`none`]}],"border-color":[{border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{"border-e":E()}],"border-color-bs":[{"border-bs":E()}],"border-color-be":[{"border-be":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{outline:[...j(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[I,R,L]}],"outline-w":[{outline:[``,I,Di,bi]}],"outline-color":[{outline:E()}],shadow:[{shadow:[``,`none`,u,Mi,Ei]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":[`none`,d,Mi,Ei]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:A()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[I,bi]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":A()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":[`none`,f,Mi,Ei]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[I,R,L]}],"mix-blend":[{"mix-blend":[...M(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":M()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":N()}],"mask-image-linear-to-pos":[{"mask-linear-to":N()}],"mask-image-linear-from-color":[{"mask-linear-from":E()}],"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{"mask-t-from":N()}],"mask-image-t-to-pos":[{"mask-t-to":N()}],"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":N()}],"mask-image-r-to-pos":[{"mask-r-to":N()}],"mask-image-r-from-color":[{"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}],"mask-image-b-from-pos":[{"mask-b-from":N()}],"mask-image-b-to-pos":[{"mask-b-to":N()}],"mask-image-b-from-color":[{"mask-b-from":E()}],"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{"mask-l-from":N()}],"mask-image-l-to-pos":[{"mask-l-to":N()}],"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":N()}],"mask-image-x-to-pos":[{"mask-x-to":N()}],"mask-image-x-from-color":[{"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}],"mask-image-y-from-pos":[{"mask-y-from":N()}],"mask-image-y-to-pos":[{"mask-y-to":N()}],"mask-image-y-from-color":[{"mask-y-from":E()}],"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{"mask-radial":[R,L]}],"mask-image-radial-from-pos":[{"mask-radial-from":N()}],"mask-image-radial-to-pos":[{"mask-radial-to":N()}],"mask-image-radial-from-color":[{"mask-radial-from":E()}],"mask-image-radial-to-color":[{"mask-radial-to":E()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":N()}],"mask-image-conic-to-pos":[{"mask-conic-to":N()}],"mask-image-conic-from-color":[{"mask-conic-from":E()}],"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:ue()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,R,L]}],filter:[{filter:[``,`none`,R,L]}],blur:[{blur:fe()}],brightness:[{brightness:[I,R,L]}],contrast:[{contrast:[I,R,L]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Mi,Ei]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:[``,I,R,L]}],"hue-rotate":[{"hue-rotate":[I,R,L]}],invert:[{invert:[``,I,R,L]}],saturate:[{saturate:[I,R,L]}],sepia:[{sepia:[``,I,R,L]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,R,L]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[I,R,L]}],"backdrop-contrast":[{"backdrop-contrast":[I,R,L]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,I,R,L]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,R,L]}],"backdrop-invert":[{"backdrop-invert":[``,I,R,L]}],"backdrop-opacity":[{"backdrop-opacity":[I,R,L]}],"backdrop-saturate":[{"backdrop-saturate":[I,R,L]}],"backdrop-sepia":[{"backdrop-sepia":[``,I,R,L]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,R,L]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[I,`initial`,R,L]}],ease:[{ease:[`linear`,`initial`,_,R,L]}],delay:[{delay:[I,R,L]}],animate:[{animate:[`none`,v,R,L]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,R,L]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[R,L,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[li,R,L]}],accent:[{accent:E()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:E()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,R,L]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":E()}],"scrollbar-track-color":[{"scrollbar-track":E()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,R,L]}],fill:[{fill:[`none`,...E()]}],"stroke-w":[{stroke:[I,Di,bi,xi]}],stroke:[{stroke:[`none`,...E()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Ui(...e){return Hi(br(e))}var Wi=Xn,Gi=_r,Ki=pr;function qi({className:e,children:t,...n}){return(0,M.jsxs)(nr,{children:[(0,M.jsx)(ir,{className:`fixed inset-0 z-[200] bg-black/90`}),(0,M.jsx)(cr,{className:Ui(`fixed left-1/2 top-1/2 z-[200] flex max-h-[min(86vh,820px)] w-[min(1120px,calc(100vw-48px))]`,`-translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-line-strong`,`bg-panel shadow-[0_20px_60px_rgba(0,0,0,0.45)] focus:outline-none`,e),...n,children:t})]})}function Ji(e){let t=e+`CollectionProvider`,[n,r]=N(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=_.useRef(null),a=_.useRef(new Map).current;return(0,M.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=Se(s),l=_.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,M.jsx)(c,{ref:A(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=Se(u),p=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),s=A(t,o),c=a(u,n);return _.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,M.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return _.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}var Yi=_.createContext(void 0);function Xi(e){let t=_.useContext(Yi);return e||t||`ltr`}var Zi=`rovingFocusGroup.onEntryFocus`,Qi={bubbles:!1,cancelable:!0},$i=`RovingFocusGroup`,[ea,ta,na]=Ji($i),[ra,ia]=N($i,[na]),[aa,oa]=ra($i),sa=_.forwardRef((e,t)=>(0,M.jsx)(ea.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(ea.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(ca,{...e,ref:t})})}));sa.displayName=$i;var ca=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=_.useRef(null),p=A(t,f),m=Xi(a),[h,g]=ve({prop:o,defaultProp:s??null,onChange:c,caller:$i}),[v,y]=_.useState(!1),b=Ie(l),x=ta(n),ee=_.useRef(!1),[S,C]=_.useState(0);return _.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Zi,b),()=>e.removeEventListener(Zi,b)},[b]),(0,M.jsx)(aa,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:_.useCallback(e=>g(e),[g]),onItemShiftTab:_.useCallback(()=>y(!0),[]),onFocusableItemAdd:_.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>C(e=>e-1),[]),children:(0,M.jsx)(Pe.div,{tabIndex:v||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:O(e.onMouseDown,()=>{ee.current=!0}),onFocus:O(e.onFocus,e=>{let t=!ee.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(Zi,Qi);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ma([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}ee.current=!1}),onBlur:O(e.onBlur,()=>y(!1))})})}),la=`RovingFocusGroupItem`,ua=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=ge(),l=a||c,u=oa(la,n),d=u.currentTabStopId===l,f=ta(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return _.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,M.jsx)(ea.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,M.jsx)(Pe.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:O(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:O(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:O(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=pa(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?ha(n,r+1):n.slice(r+1)}setTimeout(()=>ma(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});ua.displayName=la;var da={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function fa(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function pa(e,t,n){let r=fa(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return da[r]}function ma(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ha(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ga=sa,_a=ua,va=`Tabs`,[ya,ba]=N(va,[ia]),xa=ia(),[Sa,Ca]=ya(va),wa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Xi(s),[d,f]=ve({prop:r,onChange:i,defaultProp:a??``,caller:va});return(0,M.jsx)(Sa,{scope:n,baseId:ge(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,M.jsx)(Pe.div,{dir:u,"data-orientation":o,...l,ref:t})})});wa.displayName=va;var Ta=`TabsList`,Ea=_.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=Ca(Ta,n),o=xa(n);return(0,M.jsx)(ga,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,M.jsx)(Pe.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});Ea.displayName=Ta;var Da=`TabsTrigger`,Oa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=Ca(Da,n),s=xa(n),c=ja(o.baseId,r),l=Ma(o.baseId,r),u=r===o.value;return(0,M.jsx)(_a,{asChild:!0,...s,focusable:!i,active:u,children:(0,M.jsx)(Pe.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:O(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:O(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:O(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});Oa.displayName=Da;var ka=`TabsContent`,Aa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=Ca(ka,n),c=ja(s.baseId,r),l=Ma(s.baseId,r),u=r===s.value,d=_.useRef(u);return _.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,M.jsx)(_t,{present:i||u,children:({present:n})=>(0,M.jsx)(Pe.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Aa.displayName=ka;function ja(e,t){return`${e}-trigger-${t}`}function Ma(e,t){return`${e}-content-${t}`}var Na=wa,Pa=Ea,Fa=Oa,Ia=Aa,La=Na,Ra=Ia;function za({className:e,...t}){return(0,M.jsx)(Pa,{className:Ui(`flex items-center gap-[22px] text-sm text-muted max-[760px]:hidden`,e),...t})}function Ba({className:e,...t}){return(0,M.jsx)(Fa,{className:Ui(`cursor-pointer border-none bg-transparent p-0 font-[inherit] text-sm text-muted transition-colors`,`hover:text-text data-[state=active]:font-[560] data-[state=active]:text-text`,e),...t})}var Va=`https://niceeval.com/?utm_source=report&utm_medium=brand`,Ha={position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0};function Ua(e,t){if(e){if(typeof e==`string`)return e;if(e[t])return e[t];if(e.en)return e.en;for(let t of Object.keys(e).sort())if(e[t])return e[t]}}function Wa({html:e}){return(0,M.jsx)(`div`,{className:`report-slot`,dangerouslySetInnerHTML:(0,_.useMemo)(()=>({__html:e}),[e])})}function Ga(e,t){let n=/^#\/page\/([a-z0-9-]+)$/.exec(e);return n&&t.some(e=>e.id===n[1])?`page:${n[1]}`:null}function Ka(e){return`#/page/${e.slice(5)}`}function qa({data:e,reportPages:t}){let[n,r]=(0,_.useState)(()=>S()),i=(0,_.useMemo)(()=>te(n),[n]),a=e.report?.pages?.length?e.report.pages:[{id:`report`,title:{en:`Report`,"zh-CN":`报告`}}],o=e.report?.initialPageId??a[0].id,[s,c]=(0,_.useState)(()=>Ga(location.hash,a)??`page:${o}`),[l,u]=(0,_.useState)(null),[d,f]=(0,_.useState)(null),p=(0,_.useRef)(!1);(0,_.useEffect)(()=>{w(n),C(n)},[n]);let m=Ua(e.report?.title,n)??i(`hero.title`);(0,_.useEffect)(()=>{document.title=m},[m]);let h=(0,_.useCallback)(async(e,t)=>{try{let n=await fetch(ce(e));if(!n.ok)throw Error(`HTTP ${n.status}`);let r=ue(await n.text());if(!r)throw Error(`response is not a recognized attempt document`);p.current=t,u(e),f(r)}catch(t){console.warn(`[niceeval view] failed to open attempt "${e}": ${t instanceof Error?t.message:String(t)}`)}},[]),g=(0,_.useCallback)(()=>{if(u(null),f(null),p.current){p.current=!1,history.back();return}try{history.replaceState(null,``,location.pathname+location.search)}catch{}},[]);(0,_.useEffect)(()=>{let e=E(location.hash);e&&h(e,!1)},[h]),(0,_.useEffect)(()=>{let e=()=>{let e=E(location.hash);if(e){h(e,!0);return}u(null),f(null);let t=Ga(location.hash,a);t&&c(t)};return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[a,h]),(0,_.useEffect)(()=>{let e=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`a[href]`);if(!n)return;let r=se(n.getAttribute(`href`)??``);r&&(e.preventDefault(),location.hash=D(r))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[]);let v=(0,_.useCallback)(e=>{c(e);try{history.replaceState(null,``,Ka(e))}catch{}},[]),y=Ua(e.report?.footer,n);return(0,M.jsxs)(La,{value:s,onValueChange:e=>v(e),children:[(0,M.jsxs)(`header`,{className:`topbar`,children:[(0,M.jsxs)(`a`,{className:`brand`,href:Va,target:`_blank`,rel:`noopener`,children:[(0,M.jsx)(`span`,{className:`mark`,"aria-hidden":`true`}),(0,M.jsx)(`span`,{children:`NiceEval`})]}),(0,M.jsx)(za,{"aria-label":i(`nav.label`),children:a.map(e=>(0,M.jsx)(Ba,{value:`page:${e.id}`,children:Ua(e.title,n)??e.id},`page:${e.id}`))}),e.report?.links?.length?(0,M.jsx)(`nav`,{className:`shell-links`,"aria-label":`Links`,children:e.report.links.map((e,t)=>(0,M.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:[e.icon?(0,M.jsx)(`span`,{className:`shell-link-icon`,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:e.icon.svg}}):null,Ua(e.label,n)??e.href]},t))}):null,(0,M.jsx)(`div`,{className:`lang-switch`,"aria-label":`Language`,children:[`en`,`zh-CN`].map(e=>(0,M.jsx)(`button`,{className:n===e?`is-active`:``,type:`button`,onClick:()=>r(e),"aria-pressed":n===e,children:e===`zh-CN`?`中文`:`EN`},e))})]}),(0,M.jsx)(`main`,{children:a.map(e=>(0,M.jsx)(Ra,{value:`page:${e.id}`,id:`tab-page-${e.id}`,children:(0,M.jsx)(Wa,{html:t[e.id]?.[n]||t[e.id]?.en||``})},`page:${e.id}`))}),y?(0,M.jsx)(`footer`,{className:`site-footer`,children:(0,M.jsx)(`span`,{className:`site-footer-text`,children:y})}):null,l&&d?(0,M.jsx)(Wi,{open:!0,onOpenChange:e=>{e||g()},children:(0,M.jsxs)(qi,{"aria-describedby":void 0,children:[(0,M.jsx)(Ki,{style:Ha,children:i(`dialog.attemptTitle`)}),(0,M.jsx)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end border-b border-line px-7 pb-3 pt-4`,children:(0,M.jsx)(Gi,{"aria-label":i(`action.close`),className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-transparent text-sm text-muted transition-colors hover:border-line hover:bg-panel-2 hover:text-text`,children:`x`})}),(0,M.jsx)(`div`,{className:`flex-1 overflow-y-auto px-7 pb-7 pt-2`,children:(0,M.jsx)(Wa,{html:d[n]||d.en})})]})}):null]})}var Ja=window.__NICEEVAL_VIEW_DATA__??{composedRuns:0},Ya=Ja.report?.pages?.length?Ja.report.pages.map(e=>e.id):[`report`],Xa={};for(let e of Ya)Xa[e]={en:document.getElementById(`niceeval-report-${e}-en`)?.innerHTML??``,"zh-CN":document.getElementById(`niceeval-report-${e}-zh-CN`)?.innerHTML??``};var Za=document.getElementById(`root`);if(!Za)throw Error(`Missing #root element`);(0,v.createRoot)(Za).render((0,M.jsx)(qa,{data:Ja,reportPages:Xa}));
49
+ `},An=0,jn=[];function Mn(e){var t=_.useRef([]),n=_.useRef([0,0]),r=_.useRef(),i=_.useState(An++)[0],a=_.useState($t)[0],o=_.useRef(e);_.useEffect(function(){o.current=e},[e]),_.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ot([e.lockRef.current],(e.shards||[]).map(Dn),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=_.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Tn(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=vn(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=vn(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return wn(h,t,e,h===`h`?s:c,!0)},[]),c=_.useCallback(function(e){var n=e;if(!(!jn.length||jn[jn.length-1]!==a)){var r=`deltaY`in n?En(n):Tn(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&On(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Dn).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=_.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Nn(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=_.useCallback(function(e){n.current=Tn(e),r.current=void 0},[]),d=_.useCallback(function(t){l(t.type,En(t),t.target,s(t,e.lockRef.current))},[]),f=_.useCallback(function(t){l(t.type,Tn(t),t.target,s(t,e.lockRef.current))},[]);_.useEffect(function(){return jn.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,pn),document.addEventListener(`touchmove`,c,pn),document.addEventListener(`touchstart`,u,pn),function(){jn=jn.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,pn),document.removeEventListener(`touchmove`,c,pn),document.removeEventListener(`touchstart`,u,pn)}},[]);var p=e.removeScrollBar,m=e.inert;return _.createElement(_.Fragment,null,m?_.createElement(a,{styles:kn(i)}):null,p?_.createElement(un,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Nn(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Pn=Ht(Ut,Mn),Fn=_.forwardRef(function(e,t){return _.createElement(Gt,Et({},e,{ref:t,sideCar:Pn}))});Fn.classNames=Gt.classNames;var In=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ln=new WeakMap,Rn=new WeakMap,zn={},Bn=0,Vn=function(e){return e&&(e.host||Vn(e.parentNode))},Hn=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Vn(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Un=function(e,t,n,r){var i=Hn(t,Array.isArray(e)?e:[e]);zn[n]||(zn[n]=new WeakMap);var a=zn[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ln.get(e)||0)+1,l=(a.get(e)||0)+1;Ln.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Rn.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Bn++,function(){o.forEach(function(e){var t=Ln.get(e)-1,i=a.get(e)-1;Ln.set(e,t),a.set(e,i),t||(Rn.has(e)||e.removeAttribute(r),Rn.delete(e)),i||e.removeAttribute(n)}),Bn--,Bn||(Ln=new WeakMap,Ln=new WeakMap,Rn=new WeakMap,zn={})}},Wn=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||In(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Un(r,i,n,`aria-hidden`)):function(){return null}},Gn=`Dialog`,[Kn,qn]=N(Gn),[Jn,Yn]=Kn(Gn),Xn=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=_.useRef(null),c=_.useRef(null),[l,u]=ve({prop:r,defaultProp:i??!1,onChange:a,caller:Gn});return(0,M.jsx)(Jn,{scope:t,triggerRef:s,contentRef:c,contentId:ge(),titleId:ge(),descriptionId:ge(),open:l,onOpenChange:u,onOpenToggle:_.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Xn.displayName=Gn;var Zn=`DialogTrigger`,Qn=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(Zn,n),a=A(t,i.triggerRef);return(0,M.jsx)(Pe.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":vr(i.open),...r,ref:a,onClick:O(e.onClick,i.onOpenToggle)})});Qn.displayName=Zn;var $n=`DialogPortal`,[er,tr]=Kn($n,{forceMount:void 0}),nr=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Yn($n,t);return(0,M.jsx)(er,{scope:t,forceMount:n,children:_.Children.map(r,e=>(0,M.jsx)(_t,{present:n||a.open,children:(0,M.jsx)(ht,{asChild:!0,container:i,children:e})}))})};nr.displayName=$n;var rr=`DialogOverlay`,ir=_.forwardRef((e,t)=>{let n=tr(rr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Yn(rr,e.__scopeDialog);return a.modal?(0,M.jsx)(_t,{present:r||a.open,children:(0,M.jsx)(or,{...i,ref:t})}):null});ir.displayName=rr;var ar=Se(`DialogOverlay.RemoveScroll`),or=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(rr,n),a=A(t,qe());return(0,M.jsx)(Fn,{as:ar,allowPinchZoom:!0,shards:[i.contentRef],children:(0,M.jsx)(Pe.div,{"data-state":vr(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),sr=`DialogContent`,cr=_.forwardRef((e,t)=>{let n=tr(sr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Yn(sr,e.__scopeDialog);return(0,M.jsx)(_t,{present:r||a.open,children:a.modal?(0,M.jsx)(lr,{...i,ref:t}):(0,M.jsx)(ur,{...i,ref:t})})});cr.displayName=sr;var lr=_.forwardRef((e,t)=>{let n=Yn(sr,e.__scopeDialog),r=_.useRef(null),i=A(t,n.contentRef,r);return _.useEffect(()=>{let e=r.current;if(e)return Wn(e)},[]),(0,M.jsx)(dr,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:O(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:O(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:O(e.onFocusOutside,e=>e.preventDefault())})}),ur=_.forwardRef((e,t)=>{let n=Yn(sr,e.__scopeDialog),r=_.useRef(!1),i=_.useRef(!1);return(0,M.jsx)(dr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),dr=_.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=Yn(sr,n);return wt(),(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(nt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,M.jsx)(We,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":vr(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),fr=`DialogTitle`,pr=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(fr,n);return(0,M.jsx)(Pe.h2,{id:i.titleId,...r,ref:t})});pr.displayName=fr;var mr=`DialogDescription`,hr=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(mr,n);return(0,M.jsx)(Pe.p,{id:i.descriptionId,...r,ref:t})});hr.displayName=mr;var gr=`DialogClose`,_r=_.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Yn(gr,n);return(0,M.jsx)(Pe.button,{type:`button`,...r,ref:t,onClick:O(e.onClick,()=>i.onOpenChange(!1))})});_r.displayName=gr;function vr(e){return e?`open`:`closed`}function yr(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=yr(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function br(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=yr(e))&&(r&&(r+=` `),r+=t);return r}var xr=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Sr=(e,t)=>({classGroupId:e,validator:t}),Cr=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),wr=`-`,Tr=[],Er=`arbitrary..`,Dr=e=>{let t=Ar(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return kr(e);let n=e.split(wr);return Or(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?xr(i,t):t:i||Tr}return n[e]||Tr}}},Or=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Or(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(wr):e.slice(t).join(wr),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},kr=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Er+r:void 0})(),Ar=e=>{let{theme:t,classGroups:n}=e;return jr(n,t)},jr=(e,t)=>{let n=Cr();for(let r in e){let i=e[r];Mr(i,n,r,t)}return n},Mr=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Nr(i,t,n,r)}},Nr=(e,t,n,r)=>{if(typeof e==`string`){Pr(e,t,n);return}if(typeof e==`function`){Fr(e,t,n,r);return}Ir(e,t,n,r)},Pr=(e,t,n)=>{let r=e===``?t:Lr(t,e);r.classGroupId=n},Fr=(e,t,n,r)=>{if(Rr(e)){Mr(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Sr(n,e))},Ir=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Mr(o,Lr(t,a),n,r)}},Lr=(e,t)=>{let n=e,r=t.split(wr),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Cr(),n.nextPart.set(t,i)),n=i}return n},Rr=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,zr=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Br=`!`,Vr=`:`,Hr=[],Ur=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Wr=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Vr){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Br)?(c=s.slice(0,-1),l=!0):s.startsWith(Br)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ur(t,l,c,u)};if(t){let e=t+Vr,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ur(Hr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Gr=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Kr=e=>({cache:zr(e.cacheSize),parseClassName:Wr(e),sortModifiers:Gr(e),postfixLookupClassGroupIds:qr(e),...Dr(e)}),qr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Jr=/\s+/,Yr=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Jr),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Br:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Xr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Zr(n))&&(i&&(i+=` `),i+=r);return i},Zr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Zr(e[r]))&&(n&&(n+=` `),n+=t);return n},Qr=(e,...t)=>{let n,r,i,a,o=o=>(n=Kr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Yr(e,n);return i(e,a),a};return a=o,(...e)=>a(Xr(...e))},$r=[],F=e=>{let t=t=>t[e]||$r;return t.isThemeGetter=!0,t},ei=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ti=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ni=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ri=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ii=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ai=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,oi=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,si=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ci=e=>ni.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),li=e=>!!e&&Number.isInteger(Number(e)),ui=e=>e.endsWith(`%`)&&I(e.slice(0,-1)),di=e=>ri.test(e),fi=()=>!0,pi=e=>ii.test(e)&&!ai.test(e),mi=()=>!1,hi=e=>oi.test(e),gi=e=>si.test(e),_i=e=>!L(e)&&!R(e),vi=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),yi=e=>z(e,Ii,mi),L=e=>ei.test(e),bi=e=>z(e,Li,pi),xi=e=>z(e,Ri,I),Si=e=>z(e,Bi,fi),Ci=e=>z(e,zi,mi),wi=e=>z(e,Pi,mi),Ti=e=>z(e,Fi,gi),Ei=e=>z(e,Vi,hi),R=e=>ti.test(e),Di=e=>B(e,Li),Oi=e=>B(e,zi),ki=e=>B(e,Pi),Ai=e=>B(e,Ii),ji=e=>B(e,Fi),Mi=e=>B(e,Vi,!0),Ni=e=>B(e,Bi,!0),z=(e,t,n)=>{let r=ei.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},B=(e,t,n=!1)=>{let r=ti.exec(e);return r?r[1]?t(r[1]):n:!1},Pi=e=>e===`position`||e===`percentage`,Fi=e=>e===`image`||e===`url`,Ii=e=>e===`length`||e===`size`||e===`bg-size`,Li=e=>e===`length`,Ri=e=>e===`number`,zi=e=>e===`family-name`,Bi=e=>e===`number`||e===`weight`,Vi=e=>e===`shadow`,Hi=Qr(()=>{let e=F(`color`),t=F(`font`),n=F(`text`),r=F(`font-weight`),i=F(`tracking`),a=F(`leading`),o=F(`breakpoint`),s=F(`container`),c=F(`spacing`),l=F(`radius`),u=F(`shadow`),d=F(`inset-shadow`),f=F(`text-shadow`),p=F(`drop-shadow`),m=F(`blur`),h=F(`perspective`),g=F(`aspect`),_=F(`ease`),v=F(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),R,L],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[R,L,c],w=()=>[ci,`full`,`auto`,...C()],te=()=>[li,`none`,`subgrid`,R,L],ne=()=>[`auto`,{span:[`full`,li,R,L]},li,R,L],T=()=>[li,`auto`,R,L],re=()=>[`auto`,`min`,`max`,`fr`,R,L],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],oe=()=>[`auto`,...C()],se=()=>[ci,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],ce=()=>[ci,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],le=()=>[ci,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],E=()=>[e,R,L],D=()=>[...b(),ki,wi,{position:[R,L]}],ue=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],O=()=>[`auto`,`cover`,`contain`,Ai,yi,{size:[R,L]}],de=()=>[ui,Di,bi],k=()=>[``,`none`,`full`,l,R,L],A=()=>[``,I,Di,bi],j=()=>[`solid`,`dashed`,`dotted`,`double`],M=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],N=()=>[I,ui,ki,wi],fe=()=>[``,`none`,m,R,L],pe=()=>[`none`,I,R,L],me=()=>[`none`,I,R,L],he=()=>[I,R,L],ge=()=>[ci,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[di],breakpoint:[di],color:[fi],container:[di],"drop-shadow":[di],ease:[`in`,`out`,`in-out`],font:[_i],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[di],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[di],shadow:[di],spacing:[`px`,I],text:[di],"text-shadow":[di],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,ci,L,R,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,R,L]}],"container-named":[vi],columns:[{columns:[I,L,R,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[li,`auto`,R,L]}],basis:[{basis:[ci,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[I,ci,`auto`,`initial`,`none`,L]}],grow:[{grow:[``,I,R,L]}],shrink:[{shrink:[``,I,R,L]}],order:[{order:[li,`first`,`last`,`none`,R,L]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:oe()}],mx:[{mx:oe()}],my:[{my:oe()}],ms:[{ms:oe()}],me:[{me:oe()}],mbs:[{mbs:oe()}],mbe:[{mbe:oe()}],mt:[{mt:oe()}],mr:[{mr:oe()}],mb:[{mb:oe()}],ml:[{ml:oe()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:se()}],"inline-size":[{inline:[`auto`,...ce()]}],"min-inline-size":[{"min-inline":[`auto`,...ce()]}],"max-inline-size":[{"max-inline":[`none`,...ce()]}],"block-size":[{block:[`auto`,...le()]}],"min-block-size":[{"min-block":[`auto`,...le()]}],"max-block-size":[{"max-block":[`none`,...le()]}],w:[{w:[s,`screen`,...se()]}],"min-w":[{"min-w":[s,`screen`,`none`,...se()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...se()]}],h:[{h:[`screen`,`lh`,...se()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...se()]}],"max-h":[{"max-h":[`screen`,`lh`,...se()]}],"font-size":[{text:[`base`,n,Di,bi]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Ni,Si]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ui,L]}],"font-family":[{font:[Oi,Ci,t]}],"font-features":[{"font-features":[L]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,R,L]}],"line-clamp":[{"line-clamp":[I,`none`,R,xi]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,R,L]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,R,L]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:E()}],"text-color":[{text:E()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...j(),`wavy`]}],"text-decoration-thickness":[{decoration:[I,`from-font`,`auto`,R,bi]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[I,`auto`,R,L]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[li,R,L]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,R,L]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,R,L]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:ue()}],"bg-size":[{bg:O()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},li,R,L],radial:[``,R,L],conic:[li,R,L]},ji,Ti]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:A()}],"border-w-x":[{"border-x":A()}],"border-w-y":[{"border-y":A()}],"border-w-s":[{"border-s":A()}],"border-w-e":[{"border-e":A()}],"border-w-bs":[{"border-bs":A()}],"border-w-be":[{"border-be":A()}],"border-w-t":[{"border-t":A()}],"border-w-r":[{"border-r":A()}],"border-w-b":[{"border-b":A()}],"border-w-l":[{"border-l":A()}],"divide-x":[{"divide-x":A()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":A()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...j(),`hidden`,`none`]}],"divide-style":[{divide:[...j(),`hidden`,`none`]}],"border-color":[{border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{"border-e":E()}],"border-color-bs":[{"border-bs":E()}],"border-color-be":[{"border-be":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{outline:[...j(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[I,R,L]}],"outline-w":[{outline:[``,I,Di,bi]}],"outline-color":[{outline:E()}],shadow:[{shadow:[``,`none`,u,Mi,Ei]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":[`none`,d,Mi,Ei]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:A()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[I,bi]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":A()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":[`none`,f,Mi,Ei]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[I,R,L]}],"mix-blend":[{"mix-blend":[...M(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":M()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":N()}],"mask-image-linear-to-pos":[{"mask-linear-to":N()}],"mask-image-linear-from-color":[{"mask-linear-from":E()}],"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{"mask-t-from":N()}],"mask-image-t-to-pos":[{"mask-t-to":N()}],"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":N()}],"mask-image-r-to-pos":[{"mask-r-to":N()}],"mask-image-r-from-color":[{"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}],"mask-image-b-from-pos":[{"mask-b-from":N()}],"mask-image-b-to-pos":[{"mask-b-to":N()}],"mask-image-b-from-color":[{"mask-b-from":E()}],"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{"mask-l-from":N()}],"mask-image-l-to-pos":[{"mask-l-to":N()}],"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":N()}],"mask-image-x-to-pos":[{"mask-x-to":N()}],"mask-image-x-from-color":[{"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}],"mask-image-y-from-pos":[{"mask-y-from":N()}],"mask-image-y-to-pos":[{"mask-y-to":N()}],"mask-image-y-from-color":[{"mask-y-from":E()}],"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{"mask-radial":[R,L]}],"mask-image-radial-from-pos":[{"mask-radial-from":N()}],"mask-image-radial-to-pos":[{"mask-radial-to":N()}],"mask-image-radial-from-color":[{"mask-radial-from":E()}],"mask-image-radial-to-color":[{"mask-radial-to":E()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":N()}],"mask-image-conic-to-pos":[{"mask-conic-to":N()}],"mask-image-conic-from-color":[{"mask-conic-from":E()}],"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:ue()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,R,L]}],filter:[{filter:[``,`none`,R,L]}],blur:[{blur:fe()}],brightness:[{brightness:[I,R,L]}],contrast:[{contrast:[I,R,L]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Mi,Ei]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:[``,I,R,L]}],"hue-rotate":[{"hue-rotate":[I,R,L]}],invert:[{invert:[``,I,R,L]}],saturate:[{saturate:[I,R,L]}],sepia:[{sepia:[``,I,R,L]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,R,L]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[I,R,L]}],"backdrop-contrast":[{"backdrop-contrast":[I,R,L]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,I,R,L]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,R,L]}],"backdrop-invert":[{"backdrop-invert":[``,I,R,L]}],"backdrop-opacity":[{"backdrop-opacity":[I,R,L]}],"backdrop-saturate":[{"backdrop-saturate":[I,R,L]}],"backdrop-sepia":[{"backdrop-sepia":[``,I,R,L]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,R,L]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[I,`initial`,R,L]}],ease:[{ease:[`linear`,`initial`,_,R,L]}],delay:[{delay:[I,R,L]}],animate:[{animate:[`none`,v,R,L]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,R,L]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[R,L,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[li,R,L]}],accent:[{accent:E()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:E()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,R,L]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":E()}],"scrollbar-track-color":[{"scrollbar-track":E()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,R,L]}],fill:[{fill:[`none`,...E()]}],"stroke-w":[{stroke:[I,Di,bi,xi]}],stroke:[{stroke:[`none`,...E()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Ui(...e){return Hi(br(e))}var Wi=Xn,Gi=_r,Ki=pr;function qi({className:e,children:t,...n}){return(0,M.jsxs)(nr,{children:[(0,M.jsx)(ir,{className:`fixed inset-0 z-[200] bg-black/90`}),(0,M.jsx)(cr,{className:Ui(`fixed left-1/2 top-1/2 z-[200] flex max-h-[min(86vh,820px)] w-[min(1120px,calc(100vw-48px))]`,`-translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-line-strong`,`bg-panel shadow-[0_20px_60px_rgba(0,0,0,0.45)] focus:outline-none`,e),...n,children:t})]})}function Ji(e){let t=e+`CollectionProvider`,[n,r]=N(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=_.useRef(null),a=_.useRef(new Map).current;return(0,M.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=Se(s),l=_.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,M.jsx)(c,{ref:A(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=Se(u),p=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),s=A(t,o),c=a(u,n);return _.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,M.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return _.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}var Yi=_.createContext(void 0);function Xi(e){let t=_.useContext(Yi);return e||t||`ltr`}var Zi=`rovingFocusGroup.onEntryFocus`,Qi={bubbles:!1,cancelable:!0},$i=`RovingFocusGroup`,[ea,ta,na]=Ji($i),[ra,ia]=N($i,[na]),[aa,oa]=ra($i),sa=_.forwardRef((e,t)=>(0,M.jsx)(ea.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(ea.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(ca,{...e,ref:t})})}));sa.displayName=$i;var ca=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=_.useRef(null),p=A(t,f),m=Xi(a),[h,g]=ve({prop:o,defaultProp:s??null,onChange:c,caller:$i}),[v,y]=_.useState(!1),b=Ie(l),x=ta(n),ee=_.useRef(!1),[S,C]=_.useState(0);return _.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Zi,b),()=>e.removeEventListener(Zi,b)},[b]),(0,M.jsx)(aa,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:_.useCallback(e=>g(e),[g]),onItemShiftTab:_.useCallback(()=>y(!0),[]),onFocusableItemAdd:_.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>C(e=>e-1),[]),children:(0,M.jsx)(Pe.div,{tabIndex:v||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:O(e.onMouseDown,()=>{ee.current=!0}),onFocus:O(e.onFocus,e=>{let t=!ee.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(Zi,Qi);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ma([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}ee.current=!1}),onBlur:O(e.onBlur,()=>y(!1))})})}),la=`RovingFocusGroupItem`,ua=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=ge(),l=a||c,u=oa(la,n),d=u.currentTabStopId===l,f=ta(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return _.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,M.jsx)(ea.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,M.jsx)(Pe.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:O(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:O(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:O(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=pa(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?ha(n,r+1):n.slice(r+1)}setTimeout(()=>ma(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});ua.displayName=la;var da={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function fa(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function pa(e,t,n){let r=fa(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return da[r]}function ma(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ha(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ga=sa,_a=ua,va=`Tabs`,[ya,ba]=N(va,[ia]),xa=ia(),[Sa,Ca]=ya(va),wa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Xi(s),[d,f]=ve({prop:r,onChange:i,defaultProp:a??``,caller:va});return(0,M.jsx)(Sa,{scope:n,baseId:ge(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,M.jsx)(Pe.div,{dir:u,"data-orientation":o,...l,ref:t})})});wa.displayName=va;var Ta=`TabsList`,Ea=_.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=Ca(Ta,n),o=xa(n);return(0,M.jsx)(ga,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,M.jsx)(Pe.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});Ea.displayName=Ta;var Da=`TabsTrigger`,Oa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=Ca(Da,n),s=xa(n),c=ja(o.baseId,r),l=Ma(o.baseId,r),u=r===o.value;return(0,M.jsx)(_a,{asChild:!0,...s,focusable:!i,active:u,children:(0,M.jsx)(Pe.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:O(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:O(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:O(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});Oa.displayName=Da;var ka=`TabsContent`,Aa=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=Ca(ka,n),c=ja(s.baseId,r),l=Ma(s.baseId,r),u=r===s.value,d=_.useRef(u);return _.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,M.jsx)(_t,{present:i||u,children:({present:n})=>(0,M.jsx)(Pe.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Aa.displayName=ka;function ja(e,t){return`${e}-trigger-${t}`}function Ma(e,t){return`${e}-content-${t}`}var Na=wa,Pa=Ea,Fa=Oa,Ia=Aa,La=Na,Ra=Ia;function za({className:e,...t}){return(0,M.jsx)(Pa,{className:Ui(`flex items-center gap-[22px] text-sm text-muted max-[760px]:hidden`,e),...t})}function Ba({className:e,...t}){return(0,M.jsx)(Fa,{className:Ui(`cursor-pointer border-none bg-transparent p-0 font-[inherit] text-sm text-muted transition-colors`,`hover:text-text data-[state=active]:font-[560] data-[state=active]:text-text`,e),...t})}var Va=`https://niceeval.com/?utm_source=report&utm_medium=brand`,Ha={position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0};function Ua(e,t){if(e){if(typeof e==`string`)return e;if(e[t])return e[t];if(e.en)return e.en;for(let t of Object.keys(e).sort())if(e[t])return e[t]}}function Wa({html:e}){return(0,M.jsx)(`div`,{className:`report-slot`,dangerouslySetInnerHTML:(0,_.useMemo)(()=>({__html:e}),[e])})}function Ga(e,t){let n=/^#\/page\/([a-z0-9-]+)$/.exec(e);return n&&t.some(e=>e.id===n[1])?`page:${n[1]}`:null}function Ka(e){return`#/page/${e.slice(5)}`}function qa({data:e,reportPages:t}){let[n,r]=(0,_.useState)(()=>S()),i=(0,_.useMemo)(()=>te(n),[n]),a=e.report?.pages?.length?e.report.pages:[{id:`report`,title:{en:`Report`,"zh-CN":`报告`}}],o=a.filter(e=>e.navigation!==!1),s=e.report?.initialPageId??a[0].id,[c,l]=(0,_.useState)(()=>Ga(location.hash,a)??`page:${s}`),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(null),m=(0,_.useRef)(!1);(0,_.useEffect)(()=>{w(n),C(n)},[n]);let h=Ua(e.report?.title,n)??i(`hero.title`);(0,_.useEffect)(()=>{document.title=h},[h]);let g=(0,_.useCallback)(async(e,t)=>{try{let n=await fetch(ce(e));if(!n.ok)throw Error(`HTTP ${n.status}`);let r=ue(await n.text());if(!r)throw Error(`response is not a recognized attempt document`);m.current=t,d(e),p(r)}catch(t){console.warn(`[niceeval view] failed to open attempt "${e}": ${t instanceof Error?t.message:String(t)}`)}},[]),v=(0,_.useCallback)(()=>{if(d(null),p(null),m.current){m.current=!1,history.back();return}try{history.replaceState(null,``,location.pathname+location.search)}catch{}},[]);(0,_.useEffect)(()=>{let e=E(location.hash);e&&g(e,!1)},[g]),(0,_.useEffect)(()=>{let e=()=>{let e=E(location.hash);if(e){g(e,!0);return}d(null),p(null);let t=Ga(location.hash,a);t&&l(t)};return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[a,g]),(0,_.useEffect)(()=>{let e=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`a[href]`);if(!n)return;let r=se(n.getAttribute(`href`)??``);r&&(e.preventDefault(),location.hash=D(r))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[]);let y=(0,_.useCallback)(e=>{l(e);try{history.replaceState(null,``,Ka(e))}catch{}},[]),b=Ua(e.report?.footer,n);return(0,M.jsxs)(La,{value:c,onValueChange:e=>y(e),children:[(0,M.jsxs)(`header`,{className:`topbar`,children:[(0,M.jsxs)(`a`,{className:`brand`,href:Va,target:`_blank`,rel:`noopener`,children:[(0,M.jsx)(`span`,{className:`mark`,"aria-hidden":`true`}),(0,M.jsx)(`span`,{children:`NiceEval`})]}),(0,M.jsx)(za,{"aria-label":i(`nav.label`),children:o.map(e=>(0,M.jsx)(Ba,{value:`page:${e.id}`,children:Ua(e.title,n)??e.id},`page:${e.id}`))}),e.report?.links?.length?(0,M.jsx)(`nav`,{className:`shell-links`,"aria-label":`Links`,children:e.report.links.map((e,t)=>(0,M.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:[e.icon?(0,M.jsx)(`span`,{className:`shell-link-icon`,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:e.icon.svg}}):null,Ua(e.label,n)??e.href]},t))}):null,(0,M.jsx)(`div`,{className:`lang-switch`,"aria-label":`Language`,children:[`en`,`zh-CN`].map(e=>(0,M.jsx)(`button`,{className:n===e?`is-active`:``,type:`button`,onClick:()=>r(e),"aria-pressed":n===e,children:e===`zh-CN`?`中文`:`EN`},e))})]}),(0,M.jsx)(`main`,{children:a.map(e=>(0,M.jsx)(Ra,{value:`page:${e.id}`,id:`tab-page-${e.id}`,children:(0,M.jsx)(Wa,{html:t[e.id]?.[n]||t[e.id]?.en||``})},`page:${e.id}`))}),b?(0,M.jsx)(`footer`,{className:`site-footer`,children:(0,M.jsx)(`span`,{className:`site-footer-text`,children:b})}):null,u&&f?(0,M.jsx)(Wi,{open:!0,onOpenChange:e=>{e||v()},children:(0,M.jsxs)(qi,{"aria-describedby":void 0,children:[(0,M.jsx)(Ki,{style:Ha,children:i(`dialog.attemptTitle`)}),(0,M.jsx)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end border-b border-line px-7 pb-3 pt-4`,children:(0,M.jsx)(Gi,{"aria-label":i(`action.close`),className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-transparent text-sm text-muted transition-colors hover:border-line hover:bg-panel-2 hover:text-text`,children:`x`})}),(0,M.jsx)(`div`,{className:`flex-1 overflow-y-auto px-7 pb-7 pt-2`,children:(0,M.jsx)(Wa,{html:f[n]||f.en})})]})}):null]})}var Ja=window.__NICEEVAL_VIEW_DATA__??{composedRuns:0},Ya=Ja.report?.pages?.length?Ja.report.pages.map(e=>e.id):[`report`],Xa={};for(let e of Ya)Xa[e]={en:document.getElementById(`niceeval-report-${e}-en`)?.innerHTML??``,"zh-CN":document.getElementById(`niceeval-report-${e}-zh-CN`)?.innerHTML??``};var Za=document.getElementById(`root`);if(!Za)throw Error(`Missing #root element`);(0,v.createRoot)(Za).render((0,M.jsx)(qa,{data:Ja,reportPages:Xa}));
package/src/view/data.ts CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  import { readFileSync, statSync } from "node:fs";
10
10
  import { dirname, extname, join, relative, resolve } from "node:path";
11
- import { dedupeAttempts, loadAttemptEvidence, openResults } from "../results/index.ts";
11
+ import { dedupeAttempts, loadAttemptEvidence, openResults, withArtifactBase } from "../results/index.ts";
12
12
  import type { AttemptHandle, Results, Scope, Snapshot, SkippedDir } from "../results/index.ts";
13
13
  import type { AttemptLocator } from "../results/locator.ts";
14
14
  import {
@@ -155,13 +155,6 @@ export function viewRoot(input?: string): string {
155
155
  }
156
156
  }
157
157
 
158
- /** 携带条目 / 新算的 artifactBase:`result.artifactBase ?? `${ref.snapshot}/${ref.attempt}``(posix 拼接)。 */
159
- function withArtifactBase(attempt: AttemptHandle): EvalResult {
160
- const r = attempt.result;
161
- if (r.artifactBase !== undefined) return r;
162
- return { ...r, artifactBase: `${attempt.ref.snapshot}/${attempt.ref.attempt}` };
163
- }
164
-
165
158
  /**
166
159
  * 读跨历史「每 (experimentId, evalId) 最新一份」的 EvalResult,供续跑携带已通过结果。
167
160
  * 只看最近一个快照不行:部分补跑(位置参数只跑几道题)会把携带基线换成那个部分快照,
@@ -474,7 +467,10 @@ async function renderReportSlot(
474
467
  title: hostMeta.title,
475
468
  links: [...hostReport.links],
476
469
  ...(hostReport.footer !== undefined ? { footer: hostReport.footer } : {}),
477
- pages: scopePages.map((p) => ({ id: p.id, title: p.title })),
470
+ // 每一张要烘进 index.html 的 scope-input page 都在列(这份列表同时是 <template> 静态块与
471
+ // `#/page/<id>` 路由的键),声明了 `navigation: false` 的带标记出场——导航列不列由外壳按标记
472
+ // 决定,不靠从列表里删页实现(docs/feature/reports/view.md「导航机器与品牌位」)。
473
+ pages: scopePages.map((p) => ({ id: p.id, title: p.title, ...(p.navigation === false ? { navigation: false as const } : {}) })),
478
474
  initialPageId,
479
475
  };
480
476
 
@@ -25,10 +25,16 @@ export interface ViewReportPageHtml {
25
25
  html: ReportSlotHtml;
26
26
  }
27
27
 
28
- /** 导航里的一页(id = `#/page/<id>` 路由与 `--page` 的取值)。 */
28
+ /** 外壳认识的一页(id = `#/page/<id>` 路由、`--page` 的取值与 <template> 静态块的键)。 */
29
29
  export interface ViewReportPageMeta {
30
30
  id: string;
31
31
  title: LocalizedText;
32
+ /**
33
+ * 报告声明的 `navigation: false`(docs/feature/reports/library/shell.md「导航的组成只有一条
34
+ * 规则」):该页退出导航,外壳不为它渲染 tab。这份列表本身不是导航列表——它同时是页内容块与
35
+ * `#/page/<id>` 路由的键,所以退出导航的页仍如实在列,只带上这个标记;缺省即在导航里。
36
+ */
37
+ navigation?: false;
32
38
  }
33
39
 
34
40
  /**
@@ -9,6 +9,8 @@
9
9
  // - 报告槽恒在:裸跑填充内建报告(三页声明序),--report 整槽替换不影响证据室索引,
10
10
  // viewData 不携带统计产物(overview/table/overall),报告文件缺失或非法默认导出的完整反馈;
11
11
  // - 外壳标题取值链(def.title → 内置文案兜底)与 ReportLink.icon 原样透传进 viewData;
12
+ // - viewData.report.pages 是外壳认识的全部 scope-input page,`navigation: false` 带标记出场
13
+ // (导航列不列由外壳按标记决定,内容块与 `#/page/<id>` 深链的键仍是这份列表);
12
14
  // - dev server 装载语义:报告文件变更 → 下次装载读取新内容(mtime cache-busting)。
13
15
  //
14
16
  // 渲染出的 HTML 结构、终端/web 双面逐字比对、--out 导出产物与本地 server 的进程级行为
@@ -264,6 +266,58 @@ describe("loadViewScan · 外壳标题与 ReportLink.icon", () => {
264
266
  });
265
267
  });
266
268
 
269
+ // ───────────────────── 外壳:页列表与 navigation 标记 ─────────────────────
270
+
271
+ describe("loadViewScan · scope-input page 的 navigation 标记", () => {
272
+ /** 两张 scope-input page,第二张显式退出导航(不经包入口的最小报告,同上面两处姿势)。 */
273
+ function twoPageReportSource(): string {
274
+ const page = (id: string, extra: string) =>
275
+ `{ id: "${id}", title: "${id}", input: "scope"${extra}, content: { $$typeof: Symbol.for("react.transitional.element"), type: Block, props: {}, key: null } }`;
276
+ return [
277
+ 'const FACES = Symbol.for("niceeval.report.faces");',
278
+ 'const DEFINITION = Symbol.for("niceeval.report.definition");',
279
+ "const Block = (props) => Block[FACES].web(props);",
280
+ "Block[FACES] = {",
281
+ ' web: () => "PAGE_BODY",',
282
+ ' text: () => "PAGE_BODY",',
283
+ "};",
284
+ "const definition = {",
285
+ ' kind: "report",',
286
+ " links: [],",
287
+ " head: [],",
288
+ " scripts: [],",
289
+ " styles: [],",
290
+ ` pages: [${page("report", ", navigation: true")}, ${page("hidden", ", navigation: false")}],`,
291
+ "};",
292
+ "Object.defineProperty(definition, DEFINITION, { value: true });",
293
+ "export default definition;",
294
+ "",
295
+ ].join("\n");
296
+ }
297
+
298
+ it("navigation: false 的 scope-input page 带标记进 viewData.report.pages:退出导航但内容与深链仍在场", async () => {
299
+ const root = await seedRoot();
300
+ const path = join(root, "two-page-report.mjs");
301
+ await writeFile(path, twoPageReportSource(), "utf-8");
302
+ const scan = await loadViewScan(root, { report: { path, cwd: root } });
303
+ // 这份列表是外壳认识的全部 scope-input page(<template> 静态块与 `#/page/<id>` 路由的键),
304
+ // 退出导航的页照样在列——外壳按标记决定列不列,不靠从列表里删页实现。
305
+ expect(scan.viewData.report?.pages).toEqual([
306
+ { id: "report", title: "report" },
307
+ { id: "hidden", title: "hidden", navigation: false },
308
+ ]);
309
+ // 内容也照常渲染:退出导航不等于退出站点。
310
+ expect(scan.reportPages.map((p) => p.id)).toEqual(["report", "hidden"]);
311
+ });
312
+
313
+ it("未声明 navigation 的页不带标记出场(缺省即在导航里)", async () => {
314
+ const root = await seedRoot();
315
+ const scan = await loadViewScan(root);
316
+ // 内建报告的三张 scope-input page 都在导航里;attempt-input 的第四张更早一步就不进这份列表。
317
+ expect(scan.viewData.report?.pages.every((p) => !("navigation" in p))).toBe(true);
318
+ });
319
+ });
320
+
267
321
  // ───────────────────────── dev server 装载语义:整页重算 ─────────────────────────
268
322
 
269
323
  describe("loadViewScan · 报告文件变更整页重算", () => {