kennel 0.2.12 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/plugins/external.js +19 -7
- package/dist/cli/src/site/server-plugins.d.ts +1 -4
- package/dist/core/api-client.js +3 -11
- package/dist/core/runtime.js +84 -695
- package/dist/package/preview.js +99 -729
- package/dist/plugins/external.js +19 -7
- package/dist/site/server-plugins.d.ts +1 -4
- package/dist/site/server-plugins.js +28 -537
- package/kernel/apps/web/package.json +0 -1
- package/kernel/apps/web/src/app.css +0 -1
- package/kernel/apps/web/src/app.tsx +7 -24
- package/kernel/apps/web/src/folder-plugin-view.tsx +6 -3
- package/kernel/apps/web/src/plugins.ts +2 -14
- package/kernel/apps/web/vite.config.ts +16 -3
- package/kernel/packages/api/openapi.json +85 -224
- package/kernel/packages/api/package.json +0 -1
- package/kernel/packages/api/src/contracts/schemas.ts +1 -9
- package/kernel/packages/api/src/server/folder-metadata-plugin.ts +9 -151
- package/kernel/packages/api/src/server/plugins.ts +11 -26
- package/kernel/packages/api/src/shared/viewer-route.ts +3 -5
- package/kernel/packages/api-client/src/generated.d.ts +16 -53
- package/kernel/packages/markdown/README.md +2 -2
- package/kernel/packages/notes/package.json +1 -0
- package/kernel/packages/notes/src/client.tsx +0 -1
- package/kernel/packages/notes/src/manifest.ts +7 -0
- package/kernel/packages/notes/src/pages/notes-page.tsx +1 -1
- package/kernel/packages/notes/src/ui/folder-notes-list.tsx +52 -7
- package/kernel/packages/plugins/SKILL.md +3 -2
- package/kernel/packages/plugins/package.json +5 -1
- package/kernel/packages/plugins/src/hooks.ts +24 -0
- package/kernel/packages/plugins/src/index.ts +1 -7
- package/kernel/packages/plugins/src/page.ts +0 -7
- package/kernel/packages/plugins/src/types.ts +8 -0
- package/kernel/packages/plugins/tsconfig.json +1 -1
- package/kernel/packages/plugins/tsup.config.ts +1 -0
- package/kernel/packages/ui/src/components/folder-activity.tsx +16 -98
- package/kernel/packages/ui/src/components/folder-landing.tsx +4 -0
- package/kernel/packages/ui/src/components/pagination.tsx +88 -2
- package/kernel/packages/ui/src/components/plugin-icon.tsx +19 -0
- package/kernel/packages/ui/src/lib/folder-activity.ts +4 -17
- package/kernel/packages/ui/src/styles/folder-activity.css +1 -31
- package/package.json +2 -2
- package/web/assets/{abnfDiagram-VRR7QNED-Brm1vcGG.js → abnfDiagram-VRR7QNED-Dt7QEF5H.js} +1 -1
- package/web/assets/app-C1j063QX.js +2 -0
- package/web/assets/app-options-98-a6ivv.js +25 -0
- package/web/assets/{app-view-header-BSOI-wB6.js → app-view-header-BJ9CWTE1.js} +1 -1
- package/web/assets/{arc-zngHsMKV.js → arc-PFB0H7oD.js} +1 -1
- package/web/assets/{architectureDiagram-ZJ3FMSHR-BLklLqRP.js → architectureDiagram-ZJ3FMSHR-BHLqEXlZ.js} +1 -1
- package/web/assets/{ask-tray-B4SPj-fH.js → ask-tray-C3gBesHJ.js} +1 -1
- package/web/assets/{blockDiagram-677ZJIJ3-yhC2fEtu.js → blockDiagram-677ZJIJ3-UbnYoYDg.js} +1 -1
- package/web/assets/{c4Diagram-LMCZKHZV-DMcweQme.js → c4Diagram-LMCZKHZV-4OSx1V4W.js} +1 -1
- package/web/assets/channel-BuvY5cQN.js +1 -0
- package/web/assets/{chunk-2Q5K7J3B-DD-S6n8h.js → chunk-2Q5K7J3B-CgxJ1aJb.js} +1 -1
- package/web/assets/{chunk-32BRIVSS-DFIAKRv_.js → chunk-32BRIVSS-Bfwxg2LM.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-B23APb3c.js → chunk-5VM5RSS4-BZN9a2hI.js} +1 -1
- package/web/assets/{chunk-EX3LRPZG-BSVEB7db.js → chunk-EX3LRPZG-CrH6hhqq.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-B6qGd0ng.js → chunk-JWPE2WC7-Ddn7ZSp8.js} +1 -1
- package/web/assets/{chunk-MOJQB5TN-N4T1-ew1.js → chunk-MOJQB5TN-9lJ7f_hI.js} +1 -1
- package/web/assets/{chunk-RYQCIY6F-6oc6i_Xw.js → chunk-RYQCIY6F-QrFo_00s.js} +1 -1
- package/web/assets/{chunk-V7JOEXUC-Dftgm9ck.js → chunk-V7JOEXUC-Dn0lQjVf.js} +1 -1
- package/web/assets/{chunk-VR4S4FIN-DfjqwEsO.js → chunk-VR4S4FIN-DXVPySkB.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-CsFsQYow.js → chunk-XXDRQBXY-CBiFDOdZ.js} +1 -1
- package/web/assets/classDiagram-OUVF2IWQ-DCYNCJhe.js +1 -0
- package/web/assets/classDiagram-v2-EOCWNBFH-DCYNCJhe.js +1 -0
- package/web/assets/client-DBJY3XDL.js +43 -0
- package/web/assets/client-DKJs0w4y.js +6 -0
- package/web/assets/{command-D_9V8ejS.js → command-onjTnuXT.js} +1 -1
- package/web/assets/{copy-context-CevDWX59.js → copy-context-CciRaLNN.js} +1 -1
- package/web/assets/{cose-bilkent-JH36ORCC-DzKsIuDb.js → cose-bilkent-JH36ORCC-CGRic2um.js} +1 -1
- package/web/assets/{cynefin-VYW2F7L2-AL45ZHbw.js → cynefin-VYW2F7L2-Blk0Lu0l.js} +1 -1
- package/web/assets/{cynefinDiagram-TSTJHNR4-DSbBegxZ.js → cynefinDiagram-TSTJHNR4-DpnnHRDK.js} +1 -1
- package/web/assets/{dagre-VKFMJZFB-BaG6MGUE.js → dagre-VKFMJZFB-llzMokKp.js} +1 -1
- package/web/assets/{diagram-FQU43EPY-WbDotTX5.js → diagram-FQU43EPY-DC6xHovR.js} +1 -1
- package/web/assets/{diagram-G47NLZAW-DMbouYVI.js → diagram-G47NLZAW-B8GVS3EA.js} +1 -1
- package/web/assets/{diagram-NH7WQ7WH-DoEuaWd_.js → diagram-NH7WQ7WH-DWUaARfh.js} +1 -1
- package/web/assets/{diagram-OA4YK3LP-BjGd-PoH.js → diagram-OA4YK3LP-9Uaes_Yi.js} +1 -1
- package/web/assets/{diagram-WEI45ONY-CXHi27jF.js → diagram-WEI45ONY-DPPTBWud.js} +1 -1
- package/web/assets/{document-CVJCfWiQ.js → document-D23WzFsW.js} +3 -3
- package/web/assets/{ebnfDiagram-CCIWWBDH-B5vMUDOs.js → ebnfDiagram-CCIWWBDH-BPrKneNw.js} +1 -1
- package/web/assets/{entities-BTKzWJ-r.js → entities-DPg0B8vd.js} +1 -1
- package/web/assets/{erDiagram-Q63AITRT-DhO7ayzF.js → erDiagram-Q63AITRT-CFqYBcnb.js} +1 -1
- package/web/assets/{file-viewer-D1HK9J3A.js → file-viewer-Ck73SsLA.js} +1 -1
- package/web/assets/{flowDiagram-23GEKE2U-CublTUlC.js → flowDiagram-23GEKE2U-C7RpYqaT.js} +1 -1
- package/web/assets/folder-filter-bar-DzejUj87.js +4 -0
- package/web/assets/{folder-image-L_AjkRfI.js → folder-image-BjIicmQ6.js} +1 -1
- package/web/assets/folder-landing-CCIXZfkp.js +55 -0
- package/web/assets/folder-list-TuRwuTss.js +1 -0
- package/web/assets/folder-mobile-bar-Bqnfwi-z.js +1 -0
- package/web/assets/folder-plugin-view-CrinCX1o.js +2 -0
- package/web/assets/{ganttDiagram-NO4QXBWP-BLMJWerM.js → ganttDiagram-NO4QXBWP-Cz2sxU8F.js} +1 -1
- package/web/assets/{gitGraphDiagram-IHSO6WYX-Br0E6qyZ.js → gitGraphDiagram-IHSO6WYX-BSuz0yF-.js} +1 -1
- package/web/assets/index-DLn_2LPp.js +2 -0
- package/web/assets/index-uY9jLiL5.css +1 -0
- package/web/assets/{infoDiagram-FWYZ7A6U-Dgz0npJO.js → infoDiagram-FWYZ7A6U-CpeKgqoS.js} +1 -1
- package/web/assets/input-Bz_puamS.js +9 -0
- package/web/assets/{ishikawaDiagram-FXEZZL3T-rY5pdS3b.js → ishikawaDiagram-FXEZZL3T-5c2Tmknb.js} +1 -1
- package/web/assets/{journeyDiagram-5HDEW3XC-CKZALyR6.js → journeyDiagram-5HDEW3XC-Cu-wRkR4.js} +1 -1
- package/web/assets/{kanban-definition-HUTT4EX6-EGPY9Vda.js → kanban-definition-HUTT4EX6-BunSqkPe.js} +1 -1
- package/web/assets/{linear-DkJW9OwI.js → linear-C8e8bGVv.js} +1 -1
- package/web/assets/{mermaid.core-DVEpXYiF.js → mermaid.core-DLgjY1g2.js} +4 -4
- package/web/assets/{metadata-Bu_ffLUd.js → metadata-DEfJKlnd.js} +1 -1
- package/web/assets/{mindmap-definition-LN4V7U3C-BEOUVnDN.js → mindmap-definition-LN4V7U3C-W9ENYFOD.js} +1 -1
- package/web/assets/{pegDiagram-2B236MQR-DThjl3eK.js → pegDiagram-2B236MQR-0vPlHCFp.js} +1 -1
- package/web/assets/{pieDiagram-ENE6RG2P-DzmoGgw2.js → pieDiagram-ENE6RG2P-CakaveRV.js} +1 -1
- package/web/assets/{project-search-dialog-e2Jmhvfq.js → project-search-dialog-BSKA4peX.js} +1 -1
- package/web/assets/{quadrantDiagram-ABIIQ3AL-BqT8U3FS.js → quadrantDiagram-ABIIQ3AL-jxHw_egj.js} +1 -1
- package/web/assets/{railroadDiagram-RFXS5EU6-1k1tfPk1.js → railroadDiagram-RFXS5EU6-lIjDXPZt.js} +1 -1
- package/web/assets/{requirementDiagram-TGXJPOKE-bM4RTd2J.js → requirementDiagram-TGXJPOKE-C-JiT4bc.js} +1 -1
- package/web/assets/{sankeyDiagram-HTMAVEWB-TCgfqDLy.js → sankeyDiagram-HTMAVEWB-SuLPAw9X.js} +1 -1
- package/web/assets/{search-DQiFH2up.js → search-CKujW14f.js} +1 -1
- package/web/assets/{selection-popup-bqfgVd-L.js → selection-popup-CtxT9SWn.js} +3 -3
- package/web/assets/{sequenceDiagram-DBY2YBRQ-BRhGHI0i.js → sequenceDiagram-DBY2YBRQ-o9UwTkZR.js} +1 -1
- package/web/assets/{sizeCapture-X5ZJPWSS-EeUWgn0N.js → sizeCapture-X5ZJPWSS-ClbWGybF.js} +1 -1
- package/web/assets/{stateDiagram-2N3HPSRC-BSOG758d.js → stateDiagram-2N3HPSRC-Ce4avoWx.js} +1 -1
- package/web/assets/stateDiagram-v2-6OUMAXLB-CsrPTZoJ.js +1 -0
- package/web/assets/{swimlanes-5IMT3BWC-DpCo4aEm.js → swimlanes-5IMT3BWC-DMZI4XZT.js} +2 -2
- package/web/assets/swimlanesDiagram-G3AALYLV-pShSVcTd.js +8 -0
- package/web/assets/{timeline-definition-FHXFAJF6-BpaObe6u.js → timeline-definition-FHXFAJF6-CPIpIgPN.js} +1 -1
- package/web/assets/{vennDiagram-L72KCM5P-ClvUzW8B.js → vennDiagram-L72KCM5P-_rha8uDZ.js} +1 -1
- package/web/assets/view-context-BDtIUHQy.js +229 -0
- package/web/assets/{viewer-capabilities-CFBwvpcI.js → viewer-capabilities-YYZqMs56.js} +1 -1
- package/web/assets/{wardleyDiagram-EHGQE667-Dg1CX0Fl.js → wardleyDiagram-EHGQE667-D4EAOS35.js} +1 -1
- package/web/assets/{xychartDiagram-FW5EYKEG-C0c9zQTr.js → xychartDiagram-FW5EYKEG-DR8PwXpe.js} +1 -1
- package/web/index.html +2 -2
- package/kernel/packages/agents/eslint.config.js +0 -10
- package/kernel/packages/agents/package.json +0 -75
- package/kernel/packages/agents/src/agent-card.tsx +0 -334
- package/kernel/packages/agents/src/client.tsx +0 -13
- package/kernel/packages/agents/src/index.ts +0 -18
- package/kernel/packages/agents/src/manifest.ts +0 -7
- package/kernel/packages/agents/src/node.ts +0 -447
- package/kernel/packages/agents/src/profiles.ts +0 -137
- package/kernel/packages/agents/src/resolve.ts +0 -69
- package/kernel/packages/agents/src/server.ts +0 -60
- package/kernel/packages/agents/src/types.ts +0 -82
- package/kernel/packages/agents/src/viewer.tsx +0 -370
- package/kernel/packages/agents/test/profiles.test.mjs +0 -88
- package/kernel/packages/agents/test/resolve.test.mjs +0 -729
- package/kernel/packages/agents/tsconfig.json +0 -17
- package/kernel/packages/api/test/agents-loading.test.ts +0 -94
- package/kernel/packages/ui/src/components/folder-skill-list.tsx +0 -62
- package/web/assets/app-Debw-lUT.js +0 -2
- package/web/assets/app-options-UU_JlJQv.js +0 -25
- package/web/assets/channel-BgYLn5Cm.js +0 -1
- package/web/assets/classDiagram-OUVF2IWQ-Fzhmfbkt.js +0 -1
- package/web/assets/classDiagram-v2-EOCWNBFH-Fzhmfbkt.js +0 -1
- package/web/assets/client-C1WdY7jQ.js +0 -22
- package/web/assets/client-D__L4Hl0.js +0 -17
- package/web/assets/client-DoMhF9Tv.js +0 -5
- package/web/assets/folder-filter-bar-BHz7s9Vb.js +0 -4
- package/web/assets/folder-landing-Byh8W67L.js +0 -54
- package/web/assets/folder-list-jMyo-7pV.js +0 -1
- package/web/assets/folder-metadata-bCocvxpP.js +0 -2
- package/web/assets/folder-mobile-bar-DvvyOS-a.js +0 -1
- package/web/assets/folder-plugin-view-sib0Dwfw.js +0 -3
- package/web/assets/index-4Xh9UKim.js +0 -1
- package/web/assets/index-Bu75S2qS.js +0 -1
- package/web/assets/index-CPcMcCUY.js +0 -2
- package/web/assets/index-CXxkvzNJ.css +0 -1
- package/web/assets/select-CkOwL81C.js +0 -30
- package/web/assets/stateDiagram-v2-6OUMAXLB-DUeGDz1r.js +0 -1
- package/web/assets/swimlanesDiagram-G3AALYLV-BGOaCfyV.js +0 -8
- package/web/assets/use-folder-filter-hA6fa7nm.js +0 -1
- package/web/assets/view-context-CVvDw2JM.js +0 -229
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import{c,j as n,d as ft}from"./react-B9jn2M18.js";import{m as Je}from"./tanstack-YzX_Mi37.js";import{c as pt,u as mt,C as ht,f as zt}from"./app-options-98-a6ivv.js";import{A as Ut}from"./app-view-header-BJ9CWTE1.js";import{l as ne}from"./view-context-BDtIUHQy.js";import{B as pe}from"./button-CuuAtS1I.js";import{c as Le,a as gt,u as re,P as $,g as je,i as $e,b as D,d as Wt,j as He,h as qt,f as Gt,R as Yt,F as Xt,D as Qt}from"./index-BVyeNcuc.js";import{u as H,c as Zt,a as oe}from"./utils-Cg80pk1W.js";import{C as Jt}from"./copy-context-CciRaLNN.js";import{V as en,F as tn}from"./folder-list-TuRwuTss.js";import{c as xt,A as nn,C as on,R as rn,u as sn}from"./index-DbVDdnzL.js";import{I as an}from"./input-Bz_puamS.js";import"./markdown-Bw9RgUGR.js";import"./folder-image-BjIicmQ6.js";import"./popover-3AMcPJpt.js";import"./index-DLn_2LPp.js";var ln=Object.defineProperty,Te=(t,e)=>ln(t,"name",{value:e,configurable:!0}),Ke="Collapsible",[cn,Go]=Le(Ke),[dn,St]=cn(Ke),un=c.forwardRef(Te(function(e,r){const{__scopeCollapsible:s,open:i,defaultOpen:o,disabled:u,onOpenChange:a,...l}=e,[d,g]=je({prop:i,defaultProp:o??!1,onChange:a,caller:Ke});return n.jsx(dn,{scope:s,disabled:u,contentId:$e(),open:d,onOpenToggle:c.useCallback(()=>g(m=>!m),[g]),children:n.jsx($.div,{"data-state":ze(d),"data-disabled":u?"":void 0,...l,ref:r})})},"Collapsible")),vt="CollapsibleContent",fn=c.forwardRef(Te(function(e,r){const{forceMount:s,...i}=e,o=St(vt,e.__scopeCollapsible);return n.jsx(gt,{present:s||o.open,children:({present:u})=>n.jsx(pn,{...i,ref:r,present:u})})},"CollapsibleContent")),pn=c.forwardRef(Te(function(e,r){const{__scopeCollapsible:s,present:i,children:o,...u}=e,a=St(vt,s),[l,d]=c.useState(i),g=c.useRef(null),m=H(r,g),f=c.useRef(0),S=f.current,b=c.useRef(0),C=b.current,p=a.open||l,h=c.useRef(p),w=c.useRef(void 0);return c.useEffect(()=>{const x=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(x)},[]),re(()=>{const x=g.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const v=x.getBoundingClientRect();f.current=v.height,b.current=v.width,h.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),d(i)}},[a.open,i]),n.jsx($.div,{"data-state":ze(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!p,...u,ref:m,style:{"--radix-collapsible-content-height":S?`${S}px`:void 0,"--radix-collapsible-content-width":C?`${C}px`:void 0,...e.style},children:p&&o})},"CollapsibleContentImpl"));function ze(t){return t?"open":"closed"}Te(ze,"getState");var mn=un,hn=Object.defineProperty,gn=(t,e)=>hn(t,"name",{value:e,configurable:!0});function Ue(t){const e=c.useRef({value:t,previous:t});return c.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}gn(Ue,"usePrevious");var xn=Object.defineProperty,Sn=(t,e)=>xn(t,"name",{value:e,configurable:!0});function ge(t,[e,r]){return Math.min(r,Math.max(e,t))}Sn(ge,"clamp");var vn=Object.defineProperty,I=(t,e)=>vn(t,"name",{value:e,configurable:!0}),wn=[" ","Enter","ArrowUp","ArrowDown"],bn=[" ","Enter"],ue="Select",[_e,Ee,Cn]=pt(ue),[ce,Yo]=Le(ue,[Cn,xt]),We=xt(),[yn,se]=ce(ue),[Pn,jn]=ce(ue);function wt(t){const{__scopeSelect:e,children:r,open:s,defaultOpen:i,onOpenChange:o,value:u,defaultValue:a,onValueChange:l,dir:d,name:g,autoComplete:m,disabled:f,required:S,form:b,internal_do_not_use_render:C}=t,p=We(e),[h,w]=c.useState(null),[x,v]=c.useState(null),[_,E]=c.useState(!1),y=mt(d),[P,R]=je({prop:s,defaultProp:i??!1,onChange:o,caller:ue}),[K,z]=je({prop:u,defaultProp:a,onChange:l,caller:ue}),X=c.useRef(null),G=c.useRef(K);c.useEffect(()=>{const O=b?h?.ownerDocument.getElementById(b):h?.form;if(O instanceof HTMLFormElement){const L=I(()=>z(G.current),"reset");return O.addEventListener("reset",L),()=>O.removeEventListener("reset",L)}},[b,h,z]);const J=h?!!b||!!h.closest("form"):!0,[Y,F]=c.useState(new Set),N=$e(),B=Array.from(Y).map(O=>O.props.value).join(";"),Q=c.useCallback(O=>{F(L=>new Set(L).add(O))},[]),W=c.useCallback(O=>{F(L=>{const U=new Set(L);return U.delete(O),U})},[]),ee={required:S,trigger:h,onTriggerChange:w,valueNode:x,onValueNodeChange:v,valueNodeHasChildren:_,onValueNodeHasChildrenChange:E,contentId:N,value:K,onValueChange:z,open:P,onOpenChange:R,dir:y,triggerPointerDownPosRef:X,disabled:f,name:g,autoComplete:m,form:b,nativeOptions:Y,nativeSelectKey:B,isFormControl:J};return n.jsx(rn,{...p,children:n.jsx(yn,{scope:e,...ee,children:n.jsx(_e.Provider,{scope:e,children:n.jsx(Pn,{scope:e,onNativeOptionAdd:Q,onNativeOptionRemove:W,children:Pt(C)?C(ee):r})})})})}I(wt,"SelectProvider");var In=I(t=>{const{__scopeSelect:e,children:r,...s}=t;return n.jsx(wt,{__scopeSelect:e,...s,internal_do_not_use_render:({isFormControl:i})=>n.jsxs(n.Fragment,{children:[r,i?n.jsx(Zn,{__scopeSelect:e}):null]})})},"Select"),Rn="SelectTrigger",Tn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,disabled:i=!1,...o}=e,u=We(s),a=se(Rn,s),l=a.disabled||i,d=H(r,a.onTriggerChange),g=Ee(s),m=c.useRef("touch"),[f,S,b]=Ge(p=>{const h=g().filter(v=>!v.disabled),w=h.find(v=>v.value===a.value),x=Ye(h,p,w);x!==void 0&&a.onValueChange(x.value)}),C=I(p=>{l||(a.onOpenChange(!0),b()),p&&(a.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})},"handleOpen");return n.jsx(nn,{asChild:!0,...u,children:n.jsx($.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":ve(a.value)?"":void 0,...o,ref:d,onClick:D(o.onClick,p=>{p.currentTarget.focus(),m.current!=="mouse"&&C(p)}),onPointerDown:D(o.onPointerDown,p=>{m.current=p.pointerType;const h=p.target;h.hasPointerCapture(p.pointerId)&&h.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(C(p),p.preventDefault())}),onKeyDown:D(o.onKeyDown,p=>{const h=f.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&S(p.key),!(h&&p.key===" ")&&wn.includes(p.key)&&(C(),p.preventDefault())})})})},"SelectTrigger")),_n="SelectValue",En=c.forwardRef(I(function(e,r){const{__scopeSelect:s,className:i,style:o,children:u,placeholder:a="",...l}=e,d=se(_n,s),{onValueNodeHasChildrenChange:g}=d,m=u!==void 0,f=H(r,d.onValueNodeChange);re(()=>{g(m)},[g,m]);const S=ve(d.value);return n.jsx($.span,{...l,asChild:S?!1:l.asChild,ref:f,style:{pointerEvents:"none"},children:n.jsx(c.Fragment,{children:S?a:u},S?"placeholder":"value")})},"SelectValue")),Nn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,children:i,...o}=e;return n.jsx($.span,{"aria-hidden":!0,...o,ref:r,children:i||"▼"})},"SelectIcon")),Mn="SelectPortal",[Dn,An]=ce(Mn,{forceMount:void 0}),On=I(t=>{const{__scopeSelect:e,forceMount:r,...s}=t;return n.jsx(Dn,{scope:t.__scopeSelect,forceMount:r,children:n.jsx(Wt,{asChild:!0,...s})})},"SelectPortal"),le="SelectContent",Vn=c.forwardRef(I(function(e,r){const s=An(le,e.__scopeSelect),{forceMount:i=s.forceMount,...o}=e,u=se(le,e.__scopeSelect),[a,l]=c.useState();return re(()=>{l(new DocumentFragment)},[]),n.jsx(gt,{present:i||u.open,children:({present:d})=>d?n.jsx(Fn,{...o,ref:r}):n.jsx(Bn,{...o,fragment:a})})},"SelectContent")),Bn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,children:i,fragment:o}=e;return o?ft.createPortal(n.jsx(bt,{scope:s,children:n.jsx(_e.Slot,{scope:s,children:n.jsx("div",{ref:r,children:i})})}),o):null},"SelectContentFragment")),Z=10,[bt,de]=ce(le),kn=Zt("SelectContent.RemoveScroll"),Fn=c.forwardRef(I(function(e,r){const{__scopeSelect:s}=e,{position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:u,onPointerDownOutside:a,side:l,sideOffset:d,align:g,alignOffset:m,arrowPadding:f,collisionBoundary:S,collisionPadding:b,sticky:C,hideWhenDetached:p,avoidCollisions:h,...w}=e,x=se(le,s),[v,_]=c.useState(null),[E,y]=c.useState(null),P=H(r,_),[R,K]=c.useState(null),[z,X]=c.useState(null),G=Ee(s),[J,Y]=c.useState(!1),F=c.useRef(!1);c.useEffect(()=>{if(v)return qt(v)},[v]),Gt();const N=c.useCallback(j=>{const[V,...q]=G().map(k=>k.ref.current),[M]=q.slice(-1),A=document.activeElement;for(const k of j)if(k===A||(k?.scrollIntoView({block:"nearest"}),k===V&&E&&(E.scrollTop=0),k===M&&E&&(E.scrollTop=E.scrollHeight),k?.focus(),document.activeElement!==A))return},[G,E]),B=c.useCallback(()=>N([R,v]),[N,R,v]);c.useEffect(()=>{J&&B()},[J,B]);const{onOpenChange:Q,triggerPointerDownPosRef:W}=x;c.useEffect(()=>{if(v){let j={x:0,y:0};const V=I(M=>{j={x:Math.abs(Math.round(M.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(M.pageY)-(W.current?.y??0))}},"handlePointerMove"),q=I(M=>{j.x<=10&&j.y<=10?M.preventDefault():M.composedPath().includes(v)||Q(!1),document.removeEventListener("pointermove",V),W.current=null},"handlePointerUp");return W.current!==null&&(document.addEventListener("pointermove",V),document.addEventListener("pointerup",q,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",V),document.removeEventListener("pointerup",q,{capture:!0})}}},[v,Q,W]),c.useEffect(()=>{const j=I(()=>Q(!1),"close");return window.addEventListener("blur",j),window.addEventListener("resize",j),()=>{window.removeEventListener("blur",j),window.removeEventListener("resize",j)}},[Q]);const[ee,O]=Ge(j=>{const V=G().filter(A=>!A.disabled),q=V.find(A=>A.ref.current===document.activeElement),M=Ye(V,j,q);M&&setTimeout(()=>M.ref.current?.focus())}),L=c.useCallback((j,V,q)=>{const M=!F.current&&!q;(x.value!==void 0&&x.value===V||M)&&(K(j),M&&(F.current=!0))},[x.value]),U=c.useCallback(()=>v?.focus(),[v]),te=c.useCallback((j,V,q)=>{const M=!F.current&&!q;(x.value!==void 0&&x.value===V||M)&&X(j)},[x.value]),Ce=i==="popper"?et:Ln,fe=Ce===et?{side:l,sideOffset:d,align:g,alignOffset:m,arrowPadding:f,collisionBoundary:S,collisionPadding:b,sticky:C,hideWhenDetached:p,avoidCollisions:h}:{};return n.jsx(bt,{scope:s,content:v,viewport:E,onViewportChange:y,itemRefCallback:L,selectedItem:R,onItemLeave:U,itemTextRefCallback:te,focusSelectedItem:B,selectedItemText:z,position:i,isPositioned:J,searchRef:ee,children:n.jsx(Yt,{as:kn,allowPinchZoom:!0,children:n.jsx(Xt,{asChild:!0,trapped:x.open,onMountAutoFocus:j=>{j.preventDefault()},onUnmountAutoFocus:D(o,j=>{x.trigger?.focus({preventScroll:!0}),j.preventDefault()}),children:n.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:a,onFocusOutside:j=>j.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:n.jsx(Ce,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:j=>j.preventDefault(),...w,...fe,onPlaced:()=>Y(!0),ref:P,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:D(w.onKeyDown,j=>{const V=j.ctrlKey||j.altKey||j.metaKey;if(j.key==="Tab"&&j.preventDefault(),!V&&j.key.length===1&&O(j.key),["ArrowUp","ArrowDown","Home","End"].includes(j.key)){let M=G().filter(A=>!A.disabled).map(A=>A.ref.current);if(["ArrowUp","End"].includes(j.key)&&(M=M.slice().reverse()),["ArrowUp","ArrowDown"].includes(j.key)){const A=j.target,k=M.indexOf(A);M=M.slice(k+1)}setTimeout(()=>N(M)),j.preventDefault()}})})})})})})},"SelectContentImpl")),Ln=c.forwardRef(I(function(e,r){const{__scopeSelect:s,onPlaced:i,...o}=e,u=se(le,s),a=de(le,s),[l,d]=c.useState(null),[g,m]=c.useState(null),f=H(r,m),S=Ee(s),b=c.useRef(!1),C=c.useRef(!0),{viewport:p,selectedItem:h,selectedItemText:w,focusSelectedItem:x}=a,v=c.useCallback(()=>{if(u.trigger&&u.valueNode&&l&&g&&p&&h&&w){const P=u.trigger.getBoundingClientRect(),R=g.getBoundingClientRect(),K=u.valueNode.getBoundingClientRect(),z=w.getBoundingClientRect();if(u.dir!=="rtl"){const A=z.left-R.left,k=K.left-A,ie=P.left-k,ae=P.width+ie,Me=Math.max(ae,R.width),De=window.innerWidth-Z,Ae=ge(k,[Z,Math.max(Z,De-Me)]);l.style.minWidth=ae+"px",l.style.left=Ae+"px"}else{const A=R.right-z.right,k=window.innerWidth-K.right-A,ie=window.innerWidth-P.right-k,ae=P.width+ie,Me=Math.max(ae,R.width),De=window.innerWidth-Z,Ae=ge(k,[Z,Math.max(Z,De-Me)]);l.style.minWidth=ae+"px",l.style.right=Ae+"px"}const X=S(),G=window.innerHeight-Z*2,J=p.scrollHeight,Y=window.getComputedStyle(g),F=parseInt(Y.borderTopWidth,10),N=parseInt(Y.paddingTop,10),B=parseInt(Y.borderBottomWidth,10),Q=parseInt(Y.paddingBottom,10),W=F+N+J+Q+B,ee=Math.min(h.offsetHeight*5,W),O=window.getComputedStyle(p),L=parseInt(O.paddingTop,10),U=parseInt(O.paddingBottom,10),te=P.top+P.height/2-Z,Ce=G-te,fe=h.offsetHeight/2,j=h.offsetTop+fe,V=F+N+j,q=W-V;if(V<=te){const A=X.length>0&&h===X[X.length-1].ref.current;l.style.bottom="0px";const k=g.clientHeight-p.offsetTop-p.offsetHeight,ie=Math.max(Ce,fe+(A?U:0)+k+B),ae=V+ie;l.style.height=ae+"px"}else{const A=X.length>0&&h===X[0].ref.current;l.style.top="0px";const ie=Math.max(te,F+p.offsetTop+(A?L:0)+fe)+q;l.style.height=ie+"px",p.scrollTop=V-te+p.offsetTop}l.style.margin=`${Z}px 0`,l.style.minHeight=ee+"px",l.style.maxHeight=G+"px",i?.(),requestAnimationFrame(()=>b.current=!0)}},[S,u.trigger,u.valueNode,l,g,p,h,w,u.dir,i]);re(()=>v(),[v]);const[_,E]=c.useState();re(()=>{g&&E(window.getComputedStyle(g).zIndex)},[g]);const y=c.useCallback(P=>{P&&C.current===!0&&(v(),x?.(),C.current=!1)},[v,x]);return n.jsx($n,{scope:s,contentWrapper:l,shouldExpandOnScrollRef:b,onScrollButtonChange:y,children:n.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:n.jsx($.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})},"SelectItemAlignedPosition")),et=c.forwardRef(I(function(e,r){const{__scopeSelect:s,align:i="start",collisionPadding:o=Z,...u}=e,a=We(s);return n.jsx(on,{...a,...u,ref:r,align:i,collisionPadding:o,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[$n,qe]=ce(le,{}),tt="SelectViewport",Hn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,nonce:i,...o}=e,u=de(tt,s),a=qe(tt,s),l=H(r,u.onViewportChange),d=c.useRef(0);return n.jsxs(n.Fragment,{children:[n.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),n.jsx(_e.Slot,{scope:s,children:n.jsx($.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:D(o.onScroll,g=>{const m=g.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:S}=a;if(S?.current&&f){const b=Math.abs(d.current-m.scrollTop);if(b>0){const C=window.innerHeight-Z*2,p=parseFloat(f.style.minHeight),h=parseFloat(f.style.height),w=Math.max(p,h);if(w<C){const x=w+b,v=Math.min(C,x),_=x-v;f.style.height=v+"px",f.style.bottom==="0px"&&(m.scrollTop=_>0?_:0,f.style.justifyContent="flex-end")}}}d.current=m.scrollTop})})})]})},"SelectViewport")),Kn="SelectGroup",[Xo,Qo]=ce(Kn),Ve="SelectItem",[zn,Ct]=ce(Ve),Un=c.forwardRef(I(function(e,r){const{__scopeSelect:s,value:i,disabled:o=!1,textValue:u,...a}=e,l=se(Ve,s),d=de(Ve,s),g=l.value===i,[m,f]=c.useState(u??""),[S,b]=c.useState(!1),C=He(v=>d.itemRefCallback?.(v,i,o)),p=H(r,C),h=$e(),w=c.useRef("touch"),x=I(()=>{o||(l.onValueChange(i),l.onOpenChange(!1))},"handleSelect");return n.jsx(zn,{scope:s,value:i,disabled:o,textId:h,isSelected:g,onItemTextChange:c.useCallback(v=>{f(_=>_||(v?.textContent??"").trim())},[]),children:n.jsx(_e.ItemSlot,{scope:s,value:i,disabled:o,textValue:m,children:n.jsx($.div,{role:"option","aria-labelledby":h,"data-highlighted":S?"":void 0,"aria-selected":g&&S,"data-state":g?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:p,onFocus:D(a.onFocus,()=>b(!0)),onBlur:D(a.onBlur,()=>b(!1)),onClick:D(a.onClick,()=>{w.current!=="mouse"&&x()}),onPointerUp:D(a.onPointerUp,()=>{w.current==="mouse"&&x()}),onPointerDown:D(a.onPointerDown,v=>{w.current=v.pointerType}),onPointerMove:D(a.onPointerMove,v=>{w.current=v.pointerType,o?d.onItemLeave?.():w.current==="mouse"&&v.currentTarget.focus({preventScroll:!0})}),onPointerLeave:D(a.onPointerLeave,v=>{v.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:D(a.onKeyDown,v=>{o||v.target!==v.currentTarget||d.searchRef?.current!==""&&v.key===" "||(bn.includes(v.key)&&x(),v.key===" "&&v.preventDefault())})})})})},"SelectItem")),ye="SelectItemText",Wn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,className:i,style:o,...u}=e,a=se(ye,s),l=de(ye,s),d=Ct(ye,s),g=jn(ye,s),[m,f]=c.useState(null),S=He(x=>l.itemTextRefCallback?.(x,d.value,d.disabled)),b=H(r,f,d.onItemTextChange,S),C=m?.textContent,p=c.useMemo(()=>n.jsx("option",{value:d.value,disabled:d.disabled,children:C},d.value),[d.disabled,d.value,C]),{onNativeOptionAdd:h,onNativeOptionRemove:w}=g;return re(()=>(h(p),()=>w(p)),[h,w,p]),n.jsxs(n.Fragment,{children:[n.jsx($.span,{id:d.textId,...u,ref:b}),d.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!ve(a.value)?ft.createPortal(u.children,a.valueNode):null]})},"SelectItemText")),qn="SelectItemIndicator",Gn=c.forwardRef(I(function(e,r){const{__scopeSelect:s,...i}=e;return Ct(qn,s).isSelected?n.jsx($.span,{"aria-hidden":!0,...i,ref:r}):null},"SelectItemIndicator")),nt="SelectScrollUpButton",Yn=c.forwardRef(I(function(e,r){const s=de(nt,e.__scopeSelect),i=qe(nt,e.__scopeSelect),[o,u]=c.useState(!1),a=H(r,i.onScrollButtonChange);return re(()=>{if(s.viewport&&s.isPositioned){let l=function(){const g=d.scrollTop>0;u(g)};I(l,"handleScroll");const d=s.viewport;return l(),d.addEventListener("scroll",l),()=>d.removeEventListener("scroll",l)}},[s.viewport,s.isPositioned]),o?n.jsx(yt,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:d}=s;l&&d&&(l.scrollTop=l.scrollTop-d.offsetHeight)}}):null},"SelectScrollUpButton")),ot="SelectScrollDownButton",Xn=c.forwardRef(I(function(e,r){const s=de(ot,e.__scopeSelect),i=qe(ot,e.__scopeSelect),[o,u]=c.useState(!1),a=H(r,i.onScrollButtonChange);return re(()=>{if(s.viewport&&s.isPositioned){let l=function(){const g=d.scrollHeight-d.clientHeight,m=Math.ceil(d.scrollTop)<g;u(m)};I(l,"handleScroll");const d=s.viewport;return l(),d.addEventListener("scroll",l),()=>d.removeEventListener("scroll",l)}},[s.viewport,s.isPositioned]),o?n.jsx(yt,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:d}=s;l&&d&&(l.scrollTop=l.scrollTop+d.offsetHeight)}}):null},"SelectScrollDownButton")),yt=c.forwardRef(I(function(e,r){const{__scopeSelect:s,onAutoScroll:i,...o}=e,u=de("SelectScrollButton",s),a=c.useRef(null),l=Ee(s),d=c.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return c.useEffect(()=>()=>d(),[d]),re(()=>{l().find(m=>m.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),n.jsx($.div,{"aria-hidden":!0,...o,ref:r,style:{flexShrink:0,...o.style},onPointerDown:D(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(i,50))}),onPointerMove:D(o.onPointerMove,()=>{u.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(i,50))}),onPointerLeave:D(o.onPointerLeave,()=>{d()})})},"SelectScrollButtonImpl")),Qn="SelectBubbleInput",Zn=c.forwardRef(I(function({__scopeSelect:e,...r},s){const i=se(Qn,e),{value:o,onValueChange:u,required:a,disabled:l,name:d,autoComplete:g,form:m}=i,{nativeOptions:f,nativeSelectKey:S}=i,b=c.useRef(null),C=H(s,b),p=o??"",h=Ue(p),w=Array.from(f).some(x=>(x.props.value??"")==="");return c.useEffect(()=>{const x=b.current;if(!x)return;const v=window.HTMLSelectElement.prototype,E=Object.getOwnPropertyDescriptor(v,"value").set;if(h!==p&&E){const y=new Event("change",{bubbles:!0});E.call(x,p),x.dispatchEvent(y)}},[h,p]),n.jsxs($.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:d,autoComplete:g,disabled:l,form:m,onChange:x=>u(x.target.value),...r,style:{...en,...r.style},ref:C,defaultValue:p,children:[ve(o)&&!w?n.jsx("option",{value:""}):null,Array.from(f)]},S)},"SelectBubbleInput"));function Pt(t){return typeof t=="function"}I(Pt,"isFunction");function ve(t){return t===""||t===void 0}I(ve,"shouldShowPlaceholder");function Ge(t){const e=He(t),r=c.useRef(""),s=c.useRef(0),i=c.useCallback(u=>{const a=r.current+u;e(a),I((function l(d){r.current=d,window.clearTimeout(s.current),d!==""&&(s.current=window.setTimeout(()=>l(""),1e3))}),"updateSearch")(a)},[e]),o=c.useCallback(()=>{r.current="",window.clearTimeout(s.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(s.current),[]),[r,i,o]}I(Ge,"useTypeaheadSearch");function Ye(t,e,r){const i=e.length>1&&Array.from(e).every(d=>d===e[0])?e[0]:e,o=r?t.indexOf(r):-1;let u=jt(t,Math.max(o,0));i.length===1&&(u=u.filter(d=>d!==r));const l=u.find(d=>d.textValue.toLowerCase().startsWith(i.toLowerCase()));return l!==r?l:void 0}I(Ye,"findNextItem");function jt(t,e){return t.map((r,s)=>t[(e+s)%t.length])}I(jt,"wrapArray");var Jn=Object.defineProperty,T=(t,e)=>Jn(t,"name",{value:e,configurable:!0}),It=["PageUp","PageDown"],Rt=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Tt={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},we="Slider",[Be,eo,to]=pt(we),[Xe,Zo]=Le(we,[to]),[no,be]=Xe(we),oo=c.forwardRef(T(function(e,r){const{name:s,min:i=0,max:o=100,step:u=1,orientation:a="horizontal",disabled:l=!1,minStepsBetweenThumbs:d=0,defaultValue:g=[i],value:m,onValueChange:f=T(()=>{},"onValueChange"),onValueCommit:S=T(()=>{},"onValueCommit"),inverted:b=!1,form:C,...p}=e,h=c.useRef(new Set),w=c.useRef(0),x=c.useRef(!1),_=a==="horizontal"?ro:so,[E,y]=c.useState(null),P=H(r,y),[R=[],K]=je({prop:m,defaultProp:g,onChange:T(N=>{[...h.current][w.current]?.focus({preventScroll:!0,focusVisible:x.current}),x.current=!1,f(N)},"onChange")}),z=c.useRef(R),X=c.useRef(R);c.useEffect(()=>{const N=C?E?.ownerDocument.getElementById(C):E?.closest("form");if(N instanceof HTMLFormElement){const B=T(()=>K(X.current),"reset");return N.addEventListener("reset",B),()=>N.removeEventListener("reset",B)}},[E,C,K]);function G(N){const B=Vt(R,N);F(N,B)}T(G,"handleSlideStart");function J(N){F(N,w.current)}T(J,"handleSlideMove");function Y(){String(R)!==String(z.current)&&S(R)}T(Y,"handleSlideEnd");function F(N,B,{commit:Q}={commit:!1}){const W=Ze(u),ee=me(Math.round((N-i)/u)*u+i,W),O=ge(ee,[i,o]);K((L=[])=>{const U=At(L,O,B);if(Ft(U,d*u)){w.current=U.indexOf(O);const te=String(U)!==String(L);return te&&Q&&S(U),te?U:L}else return L})}return T(F,"updateValues"),n.jsx(no,{scope:e.__scopeSlider,name:s,disabled:l,min:i,max:o,valueIndexToChangeRef:w,thumbs:h.current,values:R,orientation:a,form:C,children:n.jsx(Be.Provider,{scope:e.__scopeSlider,children:n.jsx(Be.Slot,{scope:e.__scopeSlider,children:n.jsx(_,{"aria-disabled":l,"data-disabled":l?"":void 0,...p,ref:P,onPointerDown:D(p.onPointerDown,()=>{l||(z.current=R,x.current=!1)}),min:i,max:o,inverted:b,onSlideStart:l?void 0:G,onSlideMove:l?void 0:J,onSlideEnd:l?void 0:Y,onHomeKeyDown:()=>{l||(x.current=!0,F(i,0,{commit:!0}))},onEndKeyDown:()=>{l||(x.current=!0,F(o,R.length-1,{commit:!0}))},onStepKeyDown:({event:N,direction:B})=>{if(!l){x.current=!0;const ee=It.includes(N.key)||N.shiftKey&&Rt.includes(N.key)?10:1,O=w.current,L=R[O],U=Lt(L,{min:i,step:u,direction:B,multiplier:ee});F(U,O,{commit:!0})}}})})})})},"Slider")),[_t,Et]=Xe(we,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ro=c.forwardRef(T(function(e,r){const{min:s,max:i,dir:o,inverted:u,onSlideStart:a,onSlideMove:l,onSlideEnd:d,onStepKeyDown:g,...m}=e,[f,S]=c.useState(null),b=H(r,S),C=c.useRef(void 0),p=mt(o),h=p==="ltr",w=h&&!u||!h&&u;function x(v){const _=C.current||f.getBoundingClientRect(),E=[0,_.width],P=Ne(E,w?[s,i]:[i,s]);return C.current=_,P(v-_.left)}return T(x,"getValueFromPointer"),n.jsx(_t,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:n.jsx(Nt,{dir:p,"data-orientation":"horizontal",...m,ref:b,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:v=>{const _=x(v.clientX);a?.(_)},onSlideMove:v=>{const _=x(v.clientX);l?.(_)},onSlideEnd:()=>{C.current=void 0,d?.()},onStepKeyDown:v=>{const E=Tt[w?"from-left":"from-right"].includes(v.key);g?.({event:v,direction:E?-1:1})}})})},"SliderHorizontal")),so=c.forwardRef(T(function(e,r){const{min:s,max:i,inverted:o,onSlideStart:u,onSlideMove:a,onSlideEnd:l,onStepKeyDown:d,...g}=e,m=c.useRef(null),f=H(r,m),S=c.useRef(void 0),b=!o;function C(p){const h=S.current||m.current.getBoundingClientRect(),w=[0,h.height],v=Ne(w,b?[i,s]:[s,i]);return S.current=h,v(p-h.top)}return T(C,"getValueFromPointer"),n.jsx(_t,{scope:e.__scopeSlider,startEdge:b?"bottom":"top",endEdge:b?"top":"bottom",size:"height",direction:b?1:-1,children:n.jsx(Nt,{"data-orientation":"vertical",...g,ref:f,style:{...g.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:p=>{const h=C(p.clientY);u?.(h)},onSlideMove:p=>{const h=C(p.clientY);a?.(h)},onSlideEnd:()=>{S.current=void 0,l?.()},onStepKeyDown:p=>{const w=Tt[b?"from-bottom":"from-top"].includes(p.key);d?.({event:p,direction:w?-1:1})}})})},"SliderVertical")),Nt=c.forwardRef(T(function(e,r){const{__scopeSlider:s,onSlideStart:i,onSlideMove:o,onSlideEnd:u,onHomeKeyDown:a,onEndKeyDown:l,onStepKeyDown:d,...g}=e,m=be(we,s);return n.jsx($.span,{...g,ref:r,onKeyDown:D(e.onKeyDown,f=>{f.key==="Home"?(a(f),f.preventDefault()):f.key==="End"?(l(f),f.preventDefault()):It.concat(Rt).includes(f.key)&&(d(f),f.preventDefault())}),onPointerDown:D(e.onPointerDown,f=>{const S=f.target;S.setPointerCapture(f.pointerId),f.preventDefault(),m.thumbs.has(S)?S.focus({preventScroll:!0,focusVisible:!1}):i(f)}),onPointerMove:D(e.onPointerMove,f=>{f.target.hasPointerCapture(f.pointerId)&&o(f)}),onPointerUp:D(e.onPointerUp,f=>{const S=f.target;S.hasPointerCapture(f.pointerId)&&(S.releasePointerCapture(f.pointerId),u(f))})})},"SliderImpl")),io="SliderTrack",ao=c.forwardRef(T(function(e,r){const{__scopeSlider:s,...i}=e,o=be(io,s);return n.jsx($.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...i,ref:r})},"SliderTrack")),rt="SliderRange",lo=c.forwardRef(T(function(e,r){const{__scopeSlider:s,...i}=e,o=be(rt,s),u=Et(rt,s),a=c.useRef(null),l=H(r,a),d=o.values.length,g=o.values.map(S=>Qe(S,o.min,o.max)),m=d>1?Math.min(...g):0,f=100-Math.max(...g);return n.jsx($.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...i,ref:l,style:{...e.style,[u.startEdge]:m+"%",[u.endEdge]:f+"%"}})},"SliderRange")),co="SliderThumb",[uo,Mt]=Xe(co),fo="SliderThumbProvider";function Dt(t){const{__scopeSlider:e,name:r,children:s,internal_do_not_use_render:i}=t,o=be(fo,e),u=eo(e),[a,l]=c.useState(null),d=c.useMemo(()=>a?u().findIndex(p=>p.ref.current===a):-1,[u,a]),g=sn(a),m=a?!!o.form||!!a.closest("form"):!0,f=o.values[d],S=r??(o.name?o.name+(o.values.length>1?"[]":""):void 0),b=f===void 0?0:Qe(f,o.min,o.max);c.useEffect(()=>{if(a)return o.thumbs.add(a),()=>{o.thumbs.delete(a)}},[a,o.thumbs]);const C={value:f,name:S,form:o.form,isFormControl:m,index:d,thumb:a,onThumbChange:l,percent:b,size:g};return n.jsx(uo,{scope:e,...C,children:$t(i)?i(C):s})}T(Dt,"SliderThumbProvider");var Oe="SliderThumbTrigger",po=c.forwardRef(T(function(e,r){const{__scopeSlider:s,...i}=e,o=be(Oe,s),u=Et(Oe,s),{index:a,value:l,percent:d,size:g,onThumbChange:m}=Mt(Oe,s),f=H(r,m),S=Ot(a,o.values.length),b=g?.[u.size],C=b?Bt(b,d,u.direction):0;return n.jsx("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[u.startEdge]:`calc(${d}% + ${C}px)`},children:n.jsx(Be.ItemSlot,{scope:s,children:n.jsx($.span,{role:"slider","aria-label":e["aria-label"]||S,"aria-valuemin":o.min,"aria-valuenow":l,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...i,ref:f,style:l===void 0?{display:"none"}:e.style,onFocus:D(e.onFocus,()=>{o.valueIndexToChangeRef.current=a})})})})},"SliderThumbTrigger")),mo=c.forwardRef(T(function(e,r){const{__scopeSlider:s,name:i,...o}=e;return n.jsx(Dt,{__scopeSlider:s,name:i,internal_do_not_use_render:({index:u,isFormControl:a})=>n.jsxs(n.Fragment,{children:[n.jsx(po,{...o,ref:r,__scopeSlider:s}),a?n.jsx(go,{__scopeSlider:s},u):null]})})},"SliderThumb")),ho="SliderBubbleInput",go=c.forwardRef(T(function({__scopeSlider:e,...r},s){const{value:i,name:o,form:u}=Mt(ho,e),a=c.useRef(null),l=H(a,s),d=Ue(i);return c.useEffect(()=>{const g=a.current;if(!g)return;const m=window.HTMLInputElement.prototype,S=Object.getOwnPropertyDescriptor(m,"value").set;if(d!==i&&S){const b=new Event("input",{bubbles:!0});S.call(g,i),g.dispatchEvent(b)}},[d,i]),n.jsx($.input,{style:{display:"none"},name:o,form:u,...r,ref:l,defaultValue:i})},"SliderBubbleInput"));function At(t=[],e,r){const s=[...t];return s[r]=e,s.sort((i,o)=>i-o)}T(At,"getNextSortedValues");function Qe(t,e,r){const o=100/(r-e)*(t-e);return ge(o,[0,100])}T(Qe,"convertValueToPercentage");function Ot(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}T(Ot,"getLabel");function Vt(t,e){if(t.length===1)return 0;const r=t.map(i=>Math.abs(i-e)),s=Math.min(...r);return r.indexOf(s)}T(Vt,"getClosestValueIndex");function Bt(t,e,r){const s=t/2,o=Ne([0,50],[0,s]);return(s-o(e)*r)*r}T(Bt,"getThumbInBoundsOffset");function kt(t){return t.slice(0,-1).map((e,r)=>t[r+1]-e)}T(kt,"getStepsBetweenValues");function Ft(t,e){if(e>0){const r=kt(t);return Math.min(...r)>=e}return!0}T(Ft,"hasMinStepsBetweenValues");function Ne(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const s=(e[1]-e[0])/(t[1]-t[0]);return e[0]+s*(r-t[0])}}T(Ne,"linearScale");function Ze(t){if(!Number.isFinite(t))return 0;const e=t.toString();if(e.includes("e")){const[s,i]=e.split("e"),o=s.split(".")[1]||"",u=Number(i);return Math.max(0,o.length-u)}const r=e.split(".")[1];return r?r.length:0}T(Ze,"getDecimalCount");function me(t,e){const r=Math.pow(10,e);return Math.round(t*r)/r}T(me,"roundValue");function Lt(t,{min:e,step:r,direction:s,multiplier:i}){const o=Ze(r),u=(t-e)/r,a=Math.round(u),l=me(a*r+e,o)===me(t,o);let d;return l?d=a+i*s:s>0?d=Math.ceil(u):d=Math.floor(u),me(d*r+e,o)}T(Lt,"getNextStepValue");function $t(t){return typeof t=="function"}T($t,"isFunction");const Ie="f_",Re="max_",he="min_",ke="q",Fe="sort";function xo(t,e,r){const s=new URL(t),i=new Set(e),o=new Set(r),u={},a={};for(const[l,d]of s.searchParams){if(l.startsWith(Ie)&&d){const S=l.slice(Ie.length);i.has(S)&&(u[S]=d);continue}const g=l.startsWith(he)?he:l.startsWith(Re)?Re:void 0;if(!g||!d)continue;const m=l.slice(g.length),f=Number(d);!o.has(m)||!Number.isFinite(f)||(a[m]={...a[m],[g===he?"min":"max"]:f})}return{filters:u,query:s.searchParams.get(ke)??"",ranges:a,sort:Ht(t)}}function Ht(t){return new URL(t).searchParams.get(Fe)==="alpha"?"alpha":"recent"}function So(t,e){const r=new URL(t);r.searchParams.delete(ke);for(const i of[...r.searchParams.keys()])(i.startsWith(Ie)||i.startsWith(he)||i.startsWith(Re))&&r.searchParams.delete(i);const s=e.query.trim();s&&r.searchParams.set(ke,s),e.sort==="alpha"?r.searchParams.set(Fe,e.sort):r.searchParams.delete(Fe);for(const[i,o]of Object.entries(e.filters))o&&r.searchParams.set(`${Ie}${i}`,o);for(const[i,o]of Object.entries(e.ranges))Number.isFinite(o.min)&&r.searchParams.set(`${he}${i}`,String(o.min)),Number.isFinite(o.max)&&r.searchParams.set(`${Re}${i}`,String(o.max));return r.toString()}function st({...t}){return n.jsx(mn,{"data-slot":"collapsible",...t})}function Kt({...t}){return n.jsx(fn,{"data-slot":"collapsible-content",...t})}function xe(t,e){let r=t;for(const s of e.split(".")){if(!r||typeof r!="object"||Array.isArray(r))return;r=r[s]}return r}function Se(t){return t==null?"":Array.isArray(t)?t.map(Se).join(", "):typeof t=="object"?JSON.stringify(t):String(t)}function vo(t,e){return[...new Set(t.records.map(r=>Se(xe(r.fields,e))).filter(Boolean))].sort()}function wo(t,e,r="",s={}){const i=r.trim().toLocaleLowerCase();return t.records.filter(o=>(!i||`${o.title} ${Object.values(o.fields).map(Se).join(" ")}`.toLocaleLowerCase().includes(i))&&t.ui.filters.every(u=>!e[u]||Se(xe(o.fields,u))===e[u])&&Object.entries(s).every(([u,a])=>{const l=xe(o.fields,u);return typeof l=="number"&&(a.min===void 0||l>=a.min)&&(a.max===void 0||l<=a.max)}))}function bo({collection:t,record:e}){const[r,s]=c.useState(),i=e.iconAssetKey?t.assets?.[e.iconAssetKey]:void 0,o=i?i.url??(i.data?`data:${i.mediaType};base64,${i.data}`:void 0):void 0;return!o||r===o?n.jsx(ht,{name:t.icon}):n.jsx("img",{alt:"","aria-hidden":"true",onError:()=>s(o),src:o,style:{width:18,height:18,borderRadius:4,objectFit:"contain",flexShrink:0}})}const it=t=>t.replace(/[\\/][^\\/]+$/,""),Co=t=>/(?:^|[\\/])(?:AGENTS|README|SKILL)\.md$/i.test(t);function yo({collection:t,documentHref:e,folderHref:r,folder:s,records:i}){return n.jsx(tn,{className:"landing-collection-records",items:i,renderActions:o=>n.jsx(Jt,{className:"landing-list-copy-context",context:()=>it(o.path),label:`Copy folder path for ${o.title}`}),empty:n.jsx("p",{className:"landing-empty",children:t.count?"No matching records.":"No records match this collection’s document patterns."}),getClassName:()=>"has-copy-context",getKey:o=>o.id,getHref:o=>Co(o.path)?r(it(o.path)):`${e(o.path.slice(s.length+1))}?collection=${encodeURIComponent(t.id)}`,renderItem:o=>n.jsxs(n.Fragment,{children:[n.jsx(bo,{collection:t,record:o}),n.jsxs("span",{children:[n.jsx("strong",{children:o.title}),n.jsx("small",{children:t.ui.secondaryField?Se(xe(o.fields,t.ui.secondaryField)):o.relativePath}),o.validationErrors.length?n.jsxs("small",{className:"text-destructive",title:o.validationErrors.map(u=>`${u.path}: ${u.message}`).join(`
|
|
2
|
+
`),children:[o.validationErrors.length," metadata issues"]}):null]})]})})}function at({...t}){return n.jsx(In,{"data-slot":"select",...t})}function lt({...t}){return n.jsx(En,{"data-slot":"select-value",...t})}function ct({className:t,size:e="default",children:r,...s}){return n.jsxs(Tn,{"data-slot":"select-trigger","data-size":e,className:oe(`border-input data-[placeholder]:text-muted-foreground
|
|
3
|
+
[&_svg:not([class*='text-'])]:text-muted-foreground
|
|
4
|
+
focus-visible:border-ring focus-visible:ring-ring/50
|
|
5
|
+
aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40
|
|
6
|
+
aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50
|
|
7
|
+
flex w-fit items-center justify-between gap-2 rounded-md border
|
|
8
|
+
bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs
|
|
9
|
+
transition-[color,box-shadow] outline-none focus-visible:ring-[3px]
|
|
10
|
+
disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9
|
|
11
|
+
data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1
|
|
12
|
+
*:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center
|
|
13
|
+
*:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none
|
|
14
|
+
[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,t),...s,children:[r,n.jsx(Nn,{asChild:!0,children:n.jsx(ne.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function dt({className:t,children:e,position:r="item-aligned",align:s="center",...i}){return n.jsx(On,{children:n.jsxs(Vn,{"data-slot":"select-content",className:oe(`bg-popover text-popover-foreground data-[state=open]:animate-in
|
|
15
|
+
data-[state=closed]:animate-out data-[state=closed]:fade-out-0
|
|
16
|
+
data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95
|
|
17
|
+
data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2
|
|
18
|
+
data-[side=left]:slide-in-from-right-2
|
|
19
|
+
data-[side=right]:slide-in-from-left-2
|
|
20
|
+
data-[side=top]:slide-in-from-bottom-2 relative z-50
|
|
21
|
+
max-h-(--radix-select-content-available-height) min-w-[8rem]
|
|
22
|
+
origin-(--radix-select-content-transform-origin) overflow-x-hidden
|
|
23
|
+
overflow-y-auto rounded-md border shadow-md`,r==="popper"&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1
|
|
24
|
+
data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,t),position:r,align:s,...i,children:[n.jsx(Po,{}),n.jsx(Hn,{className:oe("p-1",r==="popper"&&`h-[var(--radix-select-trigger-height)] w-full
|
|
25
|
+
min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:e}),n.jsx(jo,{})]})})}function Pe({className:t,children:e,...r}){return n.jsxs(Un,{"data-slot":"select-item",className:oe(`focus:bg-accent focus:text-accent-foreground
|
|
26
|
+
[&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full
|
|
27
|
+
cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm
|
|
28
|
+
outline-hidden select-none data-[disabled]:pointer-events-none
|
|
29
|
+
data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0
|
|
30
|
+
[&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex
|
|
31
|
+
*:[span]:last:items-center *:[span]:last:gap-2`,t),...r,children:[n.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:n.jsx(Gn,{children:n.jsx(ne.CheckIcon,{className:"size-4"})})}),n.jsx(Wn,{children:e})]})}function Po({className:t,...e}){return n.jsx(Yn,{"data-slot":"select-scroll-up-button",className:oe("flex cursor-default items-center justify-center py-1",t),...e,children:n.jsx(ne.ChevronUpIcon,{className:"size-4"})})}function jo({className:t,...e}){return n.jsx(Xn,{"data-slot":"select-scroll-down-button",className:oe("flex cursor-default items-center justify-center py-1",t),...e,children:n.jsx(ne.ChevronDownIcon,{className:"size-4"})})}function Io({className:t,defaultValue:e,value:r,min:s=0,max:i=100,...o}){const u=c.useMemo(()=>Array.isArray(r)?r:Array.isArray(e)?e:[s,i],[r,e,s,i]);return n.jsxs(oo,{"data-slot":"slider",defaultValue:e,value:r,min:s,max:i,className:oe(`relative flex w-full touch-none items-center select-none
|
|
32
|
+
data-[disabled]:opacity-50 data-[orientation=vertical]:h-full
|
|
33
|
+
data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto
|
|
34
|
+
data-[orientation=vertical]:flex-col`,t),...o,children:[n.jsx(ao,{"data-slot":"slider-track",className:oe(`bg-muted relative grow overflow-hidden rounded-full
|
|
35
|
+
data-[orientation=horizontal]:h-1.5
|
|
36
|
+
data-[orientation=horizontal]:w-full
|
|
37
|
+
data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`),children:n.jsx(lo,{"data-slot":"slider-range",className:oe(`bg-primary absolute data-[orientation=horizontal]:h-full
|
|
38
|
+
data-[orientation=vertical]:w-full`)})}),Array.from({length:u.length},(a,l)=>n.jsx(mo,{"data-slot":"slider-thumb",className:`border-primary ring-ring/50 block size-4 shrink-0
|
|
39
|
+
rounded-full border bg-white shadow-sm transition-[color,box-shadow]
|
|
40
|
+
hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden
|
|
41
|
+
disabled:pointer-events-none disabled:opacity-50`},l))]})}function Ro(t,e){const r=t.records.map(s=>xe(s.fields,e)).filter(s=>typeof s=="number");return{max:Math.max(...r),min:Math.min(...r)}}const ut=new Intl.NumberFormat;function To({collection:t,filters:e,onClear:r,onFilters:s,onRanges:i,onRangesCommit:o,onSort:u,ranges:a,refreshing:l=!1,sort:d}){const g=Object.values(e).some(Boolean)||Object.values(a).some(m=>m.min!==void 0||m.max!==void 0);return n.jsxs(Kt,{id:"collection-filters",className:"rounded-xl bg-white px-4 shadow-sm","aria-label":"Collection filters",role:"region",children:[n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n.jsxs("p",{className:"text-muted-foreground text-xs",role:"status",children:[l?"Refreshing metadata…":`Indexed ${new Date(t.indexedAt).toLocaleString()}`,t.state==="error"?" · Index has errors":""]}),g?n.jsx(pe,{variant:"ghost",size:"sm",onClick:r,children:"Clear"}):null]}),n.jsxs("div",{className:"flex flex-wrap items-end gap-3 py-3",children:[t.ui.sort?null:n.jsxs("label",{className:"grid gap-1 text-sm",children:["Order",n.jsxs(at,{value:d,onValueChange:m=>u(m),children:[n.jsx(ct,{"aria-label":"Order records",children:n.jsx(lt,{})}),n.jsxs(dt,{children:[n.jsx(Pe,{value:"recent",children:"Recently updated"}),n.jsx(Pe,{value:"alpha",children:"Alphabetical"})]})]})]}),t.ui.filters.map(m=>{const f=vo(t,m);return n.jsxs("label",{className:"grid gap-1 text-sm",children:[m,n.jsxs(at,{value:e[m]?`value:${e[m]}`:"all",onValueChange:S=>s(b=>({...b,[m]:S==="all"?"":S.slice(6)})),children:[n.jsx(ct,{"aria-label":`Filter ${m}`,children:n.jsx(lt,{})}),n.jsxs(dt,{children:[n.jsx(Pe,{value:"all",children:"All"}),f.map(S=>n.jsx(Pe,{value:`value:${S}`,children:S},S))]})]})]},m)}),t.ui.numericFilters.map(m=>{const f=Ro(t,m),S=a[m]??{},b=Math.max(f.min,S.min??f.min),C=Math.min(f.max,S.max??f.max),p=(h,w)=>x=>{const v={max:w===f.max?void 0:w,min:h===f.min?void 0:h},_={...x,[m]:v};return v.min===void 0&&v.max===void 0&&delete _[m],_};return n.jsxs("fieldset",{className:"grid min-w-56 gap-1 text-sm",children:[n.jsx("legend",{children:m}),n.jsx(Io,{"aria-label":`Filter ${m}`,max:f.max,min:f.min,step:Number.isInteger(f.min)&&Number.isInteger(f.max)?1:void 0,value:[Math.min(b,C),Math.max(b,C)],onValueChange:h=>{const[w,x]=h;w!==void 0&&x!==void 0&&i(p(w,x))},onValueCommit:h=>{const[w,x]=h;w!==void 0&&x!==void 0&&o(p(w,x))}}),n.jsxs("span",{className:"text-muted-foreground flex justify-between text-xs",children:[n.jsx("span",{children:ut.format(Math.min(b,C))}),n.jsx("span",{children:ut.format(Math.max(b,C))})]})]},m)})]})]})}function _o({onQuery:t,query:e}){return n.jsx(Kt,{id:"collection-search",className:"rounded-xl border bg-white px-4 py-3 shadow-sm","aria-label":"Search collection",role:"region",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(an,{className:"max-w-sm","aria-label":"Search collection",placeholder:"Search records…",value:e,onChange:r=>t(r.target.value)}),e.trim()?n.jsx(pe,{variant:"ghost",size:"sm",onClick:()=>t(""),children:"Clear"}):null]})})}function Eo(t){return e=>{typeof window>"u"||window.history.replaceState(null,"",So(window.location.href,{...e,sort:t}))}}function No({collection:t,documentHref:e,folderHref:r,folder:s,href:i,onSort:o,refreshing:u=!1,sort:a}){const[l,d]=c.useState(!1),[g,m]=c.useState(!1),[f,S]=c.useState(()=>xo(i,t.ui.filters,t.ui.numericFilters)),b=Eo(a),C=(y,P=!0)=>{S(R=>{const K=y(R);return P&&b(K),K})},p=y=>C(P=>({...P,query:y})),h=y=>C(P=>({...P,filters:y(P.filters)})),w=(y,P=!0)=>C(R=>({...R,ranges:y(R.ranges)}),P),x=y=>w(y),v=y=>w(y,!1),_=wo(t,f.filters,f.query,f.ranges),E=t.ui.filters.filter(y=>f.filters[y]).map(y=>({key:`filter:${y}`,label:`${y}: ${f.filters[y]}`,remove:()=>h(P=>{const R={...P};return delete R[y],R})}));for(const y of t.ui.numericFilters){const P=f.ranges[y];if(!P||P.min===void 0&&P.max===void 0)continue;const R=[P.min===void 0?"":`≥ ${P.min}`,P.max===void 0?"":`≤ ${P.max}`].filter(Boolean).join(" · ");E.push({key:`range:${y}`,label:`${y}: ${R}`,remove:()=>x(K=>{const z={...K};return delete z[y],z})})}return f.query.trim()&&E.push({key:"query",label:`Search: “${f.query.trim()}”`,remove:()=>p("")}),n.jsxs("main",{className:"mx-auto grid w-full max-w-3xl gap-4 px-4 py-5","aria-label":t.title,children:[n.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[n.jsxs("h1",{className:`m-0 flex items-center gap-2 text-2xl font-semibold
|
|
42
|
+
text-[#233025]`,children:[n.jsx(ht,{name:t.icon}),t.title]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-muted-foreground text-sm",role:"status",children:E.length?`${_.length} ${_.length===1?"result":"results"}`:t.count}),n.jsx(pe,{variant:"ghost",size:"icon","aria-controls":"collection-search","aria-expanded":g,"aria-label":g?"Hide search":"Show search",onClick:()=>m(y=>!y),children:g?n.jsx(ne.X,{"aria-hidden":"true"}):n.jsx(ne.Search,{"aria-hidden":"true"})}),n.jsx(pe,{variant:"ghost",size:"icon","aria-controls":"collection-filters","aria-expanded":l,"aria-label":l?"Hide filters":"Show filters",onClick:()=>d(y=>!y),children:l?n.jsx(ne.X,{"aria-hidden":"true"}):n.jsx(ne.Filter,{"aria-hidden":"true"})})]})]}),E.length?n.jsx("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Active filters",children:E.map(({key:y,label:P,remove:R})=>n.jsxs(pe,{type:"button",variant:"secondary",size:"sm",className:`border-border h-auto max-w-full rounded-full border
|
|
43
|
+
py-1 text-xs`,"aria-label":`Remove ${P}`,title:P,onClick:R,children:[n.jsx("span",{className:"min-w-0 truncate",children:P}),n.jsx(ne.X,{"aria-hidden":"true",className:"size-3"})]},y))}):null,n.jsx(st,{open:g,onOpenChange:m,children:n.jsx(_o,{onQuery:p,query:f.query})}),n.jsx(st,{open:l,onOpenChange:d,children:n.jsx(To,{collection:t,filters:f.filters,onFilters:h,onRanges:v,onRangesCommit:x,onClear:()=>C(y=>({...y,filters:{},ranges:{}})),ranges:f.ranges,onSort:o,refreshing:u,sort:a})}),t.diagnostics.length?n.jsx("ul",{role:"alert",className:"text-destructive m-0 text-sm",children:t.diagnostics.map((y,P)=>n.jsx("li",{children:y.message},P))}):null,n.jsx(yo,{collection:t,documentHref:e,folderHref:r,folder:s,records:_})]})}function Jo({collectionHref:t,documentHref:e,folderHref:r,homeHref:s,href:i,openFolder:o,parseRoute:u,request:a,subscribeApiEvent:l}){const{folder:d,collectionId:g}=u(i),m=Je.useQueryClient(),f=Ht(i),[S,b]=c.useState(f);c.useEffect(()=>{b(f)},[f]);const C=h=>{b(h)};c.useEffect(()=>{const h=()=>{m.invalidateQueries({queryKey:["collection",d]})},w=l("kennel:metadata-changed",h),x=l("kennel:workspace-changed",h);return()=>{w(),x()}},[m,d,l]);const p=Je.useQuery({queryKey:["collection",d,g,S],enabled:!!(d&&g),placeholderData:(h,w)=>w&&w.queryKey[1]===d&&w.queryKey[2]===g?h:void 0,queryFn:({signal:h})=>a(i,"collections",{id:g,signal:h,sort:S})});return p.error?n.jsxs("p",{role:"alert",children:["Could not load collection: ",p.error.message]}):p.data?n.jsxs(n.Fragment,{children:[n.jsx(Ut,{actions:zt({folderPath:p.data.folder,onOpenFolder:o?()=>o(p.data.folder):void 0}),className:"collection-page-header",collectionHref:h=>t(p.data.folder,h),folder:p.data.folder,folderHref:r,homeHref:s(p.data.folder)}),n.jsx(No,{href:i,folder:p.data.folder,collection:p.data.collection,documentHref:h=>e(p.data.folder,h),folderHref:r,onSort:C,refreshing:p.isFetching,sort:S},`${d}:${g}`)]}):n.jsx("p",{role:"status",children:"Loading collection…"})}export{Jo as CollectionPage};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as f,j as t}from"./react-B9jn2M18.js";import{a as I}from"./folder-filter-bar-DzejUj87.js";import{p as L,f as S,u as z,a as O,b as E}from"./app-C1j063QX.js";import{l as j}from"./view-context-BDtIUHQy.js";import{B as N}from"./button-CuuAtS1I.js";import{I as H}from"./input-Bz_puamS.js";import{C as R}from"./copy-context-CciRaLNN.js";import{r as B}from"./folder-activity-Cv1X2ezj.js";import{a as P}from"./utils-Cg80pk1W.js";import"./markdown-Bw9RgUGR.js";import"./command-onjTnuXT.js";import"./index-BVyeNcuc.js";import"./index-Cg-gtBkw.js";import"./popover-3AMcPJpt.js";import"./index-DbVDdnzL.js";import"./index-DLn_2LPp.js";import"./tanstack-YzX_Mi37.js";const _={id:"notes",icon:{paths:["M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z","M14 2v6h6","M8 13h8M8 17h6"]},label:"Notes"};function b(e){return e.replaceAll("\\","/").replace(/\/+$/,"")}function $(e,n){const r=b(n),a=b(e);if(!r||!a)return null;if(a===r)return"";if(!a.startsWith(`${r}/`))return null;const s=a.slice(r.length+1);return!s||s.split("/").some(l=>l===".."||l===".")?null:s}function T(e){return b(e).split("/").filter(n=>!!n).at(-1)??"This folder"}function q(e){return b(e).split("/").filter(n=>!!n).at(-1)??e}function U(e,n,r,a){const s=new Map;for(const o of e){const i=r(o);!i||$(i,n)===null&&!a?.allowOutside||s.set(i,(s.get(i)??0)+1)}const l=[];for(const[o,i]of s){const m=$(o,n)??(a?.allowOutside?q(o):"");l.push({count:i,folder:o,label:m||T(n),relativePath:m})}return l.sort((o,i)=>o.relativePath===""?-1:i.relativePath===""?1:o.relativePath.localeCompare(i.relativePath))}function V(e,n,r){if(!e)return!1;const a=b(e),s=b(n);return r==="subtree"?a===s||a.startsWith(`${s}/`):a===s}function k(e,n,r="exact"){return n===null||n===""?!0:Array.isArray(n)?n.length===0?!0:n.some(a=>k(e,a,r)):V(e,n,r)}function W(e){const{allowOutside:n,getFolder:r,items:a,mode:s="exact",rootFolder:l,selected:o}=e,i=U(a,l,r,{allowOutside:n}),m=(o===null?[]:Array.isArray(o)?o:[o]).filter(h=>a.some(d=>k(r(d),h,s))),p=m.length===0?[...a]:a.filter(h=>k(r(h),m,s));return{choices:i,effectiveSelected:m,total:a.length,visibleItems:p}}function D(e,n){const{allowOutside:r,getFolder:a,mode:s,rootFolder:l}=n,[o,i]=f.useState(()=>{const d=n.initialFolder;return d==null?[]:Array.isArray(d)?d:[d]}),c=f.useCallback(d=>{i(d==null?[]:Array.isArray(d)?d:[d])},[]),m=f.useCallback(d=>{i(x=>x.includes(d)?x.filter(v=>v!==d):[...x,d])},[]),p=f.useCallback(()=>i([]),[]);return{...f.useMemo(()=>W({allowOutside:r,getFolder:a,items:e,mode:s,rootFolder:l,selected:o}),[r,a,e,s,l,o]),selected:o,setSelected:c,toggle:m,reset:p}}const A=new Map;async function Z(e){const n=new URL("/api/config",window.location.origin);e&&n.searchParams.set("path",e);const r=await fetch(n);if(!r.ok)return null;const s=(await r.json()).aiInputModule;if(typeof s!="string"||!s)return null;const l=A.get(s);if(l)return l;const o=import(s).then(i=>{const c=i.default;if(!c?.Composer)throw new Error("The AI input module must default-export an adapter with a Composer component.");return c});return A.set(s,o),o}function G(e){const[n,r]=f.useState();return f.useEffect(()=>{let a=!0;return Z(e).then(async s=>{a&&(await s?.install?.(),a&&r({folder:e,adapter:s}))}).catch(s=>{console.error("Could not load the configured AI input adapter.",s)}),()=>{a=!1}},[e]),n?.folder===e?n?.adapter??null:null}function F(e,n){return()=>n(!e)}function J({open:e,onOpenChange:n}){const r=e?"Hide bark input":"Open bark input";return t.jsx(N,{"aria-controls":"bark-composer","aria-expanded":e,"aria-label":r,onClick:F(e,n),title:r,type:"button",variant:"outline",children:t.jsx(j.Plus,{"aria-hidden":"true",className:"size-4"})})}function K({adapter:e,open:n,onOpenChange:r}){const a=n?"Hide bark input":"Open bark input";return t.jsxs(t.Fragment,{children:[t.jsx(N,{"aria-controls":"bark-composer","aria-expanded":n,"aria-label":a,className:"mobile-bark-toggle",onClick:F(n,r),title:a,type:"button",variant:"outline",children:t.jsx(j.Plus,{"aria-hidden":"true"})}),n?t.jsx("section",{"aria-label":"AI composer",className:"ai-input-host",id:"bark-composer",children:t.jsx(e.Composer,{})}):null]})}const M=e=>e.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)??e;function Q({title:e,path:n,activityAt:r,href:a,linkedFolder:s,folderHref:l,context:o,contextLabel:i}){const c=t.jsxs("span",{className:"grid min-w-0 gap-1",children:[t.jsx("span",{className:"font-semibold break-words",children:e}),n?t.jsxs("span",{className:"text-[0.82rem] break-all text-[#6c7a6d]",children:[n,r?` · ${B(r)}`:""]}):null]});return t.jsxs("div",{className:`grid gap-1 rounded-xl border border-[#e7ebe7] bg-white
|
|
2
|
+
text-[#2f382f] shadow-[0_1px_2px_rgb(31_41_55/0.05)] hover:bg-[#fafbfa]`,children:[t.jsxs("div",{className:"flex items-start",children:[a?t.jsx("a",{className:"grid min-w-0 flex-1 gap-1 px-4 pt-3 pb-3 no-underline",href:a,children:c}):t.jsx("div",{className:"grid min-w-0 flex-1 gap-1 px-4 pt-3 pb-3",children:c}),t.jsx(R,{className:"mt-2 mr-2.5 shrink-0 text-[#6c7a6d] hover:text-[#2f382f]",context:o,label:i??`Copy context for ${e}`})]}),s?l?t.jsxs("a",{className:`mx-4 mb-3 inline-flex w-fit max-w-[calc(100%-2rem)]
|
|
3
|
+
items-center gap-1 text-xs text-[#6c7a6d] underline
|
|
4
|
+
underline-offset-4`,href:l,title:s,children:[t.jsx(j.Link2,{"aria-hidden":"true",className:"size-3 shrink-0"}),t.jsxs("span",{className:"break-all",children:["Linked · ",M(s)]})]}):t.jsxs("span",{className:`mx-4 mb-3 inline-flex w-fit items-center gap-1 text-xs
|
|
5
|
+
text-[#6c7a6d]`,title:s,children:[t.jsx(j.Link2,{"aria-hidden":"true",className:"size-3 shrink-0"}),t.jsxs("span",{className:"break-all",children:["Linked · ",M(s)]})]}):null]})}function X({className:e,...n}){return t.jsx("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:P("mx-auto flex w-full justify-center",e),...n})}function Y({className:e,...n}){return t.jsx("ul",{"data-slot":"pagination-content",className:P("flex flex-row items-center gap-1",e),...n})}function w({...e}){return t.jsx("li",{"data-slot":"pagination-item",...e})}function ee({className:e,...n}){return t.jsxs("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:P("flex size-9 items-center justify-center",e),...n,children:[t.jsx(j.MoreHorizontalIcon,{className:"size-4"}),t.jsx("span",{className:"sr-only",children:"More pages"})]})}function te({total:e,offset:n,pageSize:r,onOffsetChange:a,label:s="Items"}){const l=Math.max(1,Math.ceil(e/r)),o=Math.min(Math.floor(n/r),l-1),i=Array.from(new Set([0,o-1,o,o+1,l-1])).filter(c=>c>=0&&c<l).sort((c,m)=>c-m);return t.jsxs("div",{className:"grid gap-2",children:[t.jsxs("p",{className:"text-muted-foreground m-0 text-center text-sm",role:"status",children:[s," ",e?o*r+1:0,"–",Math.min((o+1)*r,e)," of ",e]}),l>1?t.jsx(X,{"aria-label":`${s} pagination`,children:t.jsxs(Y,{className:"gap-0 sm:gap-1",children:[t.jsx(w,{children:t.jsx(N,{variant:"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":"Previous page",disabled:o===0,onClick:()=>a((o-1)*r),children:t.jsx(j.ChevronLeftIcon,{"aria-hidden":"true"})})}),i.map((c,m)=>t.jsxs(f.Fragment,{children:[m>0&&c-i[m-1]>1?t.jsx(w,{children:t.jsx(ee,{className:"size-6 sm:size-9"})}):null,t.jsx(w,{children:t.jsx(N,{variant:c===o?"outline":"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":`Page ${c+1}`,"aria-current":c===o?"page":void 0,onClick:()=>a(c*r),children:c+1})})]},c)),t.jsx(w,{children:t.jsx(N,{variant:"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":"Next page",disabled:o===l-1,onClick:()=>a((o+1)*r),children:t.jsx(j.ChevronRightIcon,{"aria-hidden":"true"})})})]})}):null]})}const y=25,ne=[];function ae({action:e,documentHref:n,error:r,files:a=ne,filter:s,folder:l,folderHref:o,loading:i}){const[c,m]=f.useState(0),[p,h]=f.useState(""),d=f.useMemo(()=>[...a].sort((u,g)=>g.activityAt-u.activityAt||`${u.folder??""}/${u.relativePath}`.localeCompare(`${g.folder??""}/${g.relativePath}`)),[a]),x=f.useMemo(()=>{const u=p.trim().toLowerCase();return u?d.filter(g=>`${g.name}
|
|
6
|
+
${g.folder??""}/${g.relativePath}`.toLowerCase().includes(u)):d},[d,p]),v=Math.min(c,Math.max(0,Math.ceil(x.length/y)-1)*y),C=x.slice(v,v+y);return t.jsxs("div",{className:"mx-auto grid w-full max-w-3xl gap-4 px-4 py-5",children:[t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[t.jsx("h1",{className:"m-0 text-2xl font-semibold text-[#233025]",children:"Notes"}),e]}),t.jsx(H,{type:"search","aria-label":"Search notes by name or path",placeholder:"Search notes by name or path…",value:p,onChange:u=>{h(u.target.value),m(0)}}),s,i?t.jsx("p",{className:"m-0 text-sm text-[#6c7a6d]",children:"Loading…"}):null,r?t.jsx("p",{className:"m-0 text-sm text-[#9c3a3a]",children:r}):null,!i&&!r&&!C.length?t.jsx("p",{className:"m-0 text-sm text-[#6c7a6d]",children:p.trim()?"No notes match this search.":"No notes found."}):null,C.length?t.jsx("ol",{className:"m-0 grid list-none gap-2 p-0",children:C.map(u=>t.jsx("li",{children:t.jsx(Q,{activityAt:u.activityAt,context:u.folder?`${u.folder.replace(/[\\/]+$/,"")}/${u.relativePath}`:l?`${l.replace(/[\\/]+$/,"")}/${u.relativePath}`:u.relativePath,folderHref:u.folder?o(u.folder):void 0,href:n(u),linkedFolder:u.folder,path:u.relativePath,title:u.name})},`${u.folder??""}:${u.relativePath}`))}):null,x.length?t.jsx(te,{label:"Notes",total:x.length,offset:v,pageSize:y,onOffsetChange:m}):null]})}function re(e,n){const r=e.folder??n;if(!r)return null;const a=e.relativePath.replaceAll("\\","/").split("/").slice(0,-1).filter(Boolean).join("/");return a?`${r.replace(/[\\/]+$/,"")}/${a}`:r}function se(){const[e,n]=f.useState(!1),r=window.location.href,a=L(r).folder,s=G(a),l=a?S(a):"none",{local:o,linked:i,files:c,retryLinked:m}=z(r),p=D(c??[],{allowOutside:!0,getFolder:h=>re(h,a),rootFolder:a??""});return t.jsxs(t.Fragment,{children:[t.jsx(ae,{action:s?t.jsx(J,{onOpenChange:n,open:e}):void 0,documentHref:h=>{const d=h.folder??a;return d?E(d,h.relativePath):h.relativePath},error:o.error?String(o.error):"",files:p.visibleItems,filter:p.choices.length>1?t.jsx(I,{ariaLabel:"Filter notes by folder",choices:p.choices,onSelect:p.setSelected,selected:p.effectiveSelected,total:p.total}):void 0,folder:a,folderHref:h=>O(h,"notes"),loading:o.isLoading},`${l}:${p.effectiveSelected}`),o.error?t.jsx("button",{className:"px-4",onClick:()=>{o.refetch()},children:"Retry local notes"}):null,i.isLoading?t.jsx("p",{role:"status",className:"text-muted-foreground px-4 text-sm",children:"Loading linked notes…"}):null,i.error?t.jsxs("p",{role:"alert",className:"px-4 text-sm",children:["Linked notes could not load."," ",t.jsx("button",{type:"button",onClick:m,children:"Retry"})]}):null,s?t.jsx(K,{adapter:s,onOpenChange:n,open:e}):null]})}const ye={..._,component:se};export{se as NotesPage,ye as notesClient};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as s,j as m,R as Be,d as ht,B as Et}from"./react-B9jn2M18.js";import{R as yt,h as bt}from"./index-BVyeNcuc.js";import{l as Ke}from"./view-context-CVvDw2JM.js";import{a as M}from"./utils-Cg80pk1W.js";import{D as xt,c as Ct,d as wt,a as Dt,b as Rt,e as Nt,f as St}from"./index-Cg-gtBkw.js";var Ae=1,It=.9,Pt=.8,Ot=.17,me=.1,pe=.999,At=.9999,_t=.99,kt=/[\\\/_+.#"@\[\(\{&]/,Tt=/[\\\/_+.#"@\[\(\{&]/g,Mt=/[\s-]/,Ve=/[\s-]/g;function ye(e,t,n,o,r,a,c){if(a===t.length)return r===e.length?Ae:_t;var i=`${r},${a}`;if(c[i]!==void 0)return c[i];for(var f=o.charAt(a),l=n.indexOf(f,r),d=0,p,y,h,R;l>=0;)p=ye(e,t,n,o,l+1,a+1,c),p>d&&(l===r?p*=Ae:kt.test(e.charAt(l-1))?(p*=Pt,h=e.slice(r,l-1).match(Tt),h&&r>0&&(p*=Math.pow(pe,h.length))):Mt.test(e.charAt(l-1))?(p*=It,R=e.slice(r,l-1).match(Ve),R&&r>0&&(p*=Math.pow(pe,R.length))):(p*=Ot,r>0&&(p*=Math.pow(pe,l-r))),e.charAt(l)!==t.charAt(a)&&(p*=At)),(p<me&&n.charAt(l-1)===o.charAt(a+1)||o.charAt(a+1)===o.charAt(a)&&n.charAt(l-1)!==o.charAt(a))&&(y=ye(e,t,n,o,l+1,a+2,c),y*me>p&&(p=y*me)),p>d&&(d=p),l=n.indexOf(f,l+1);return c[i]=d,d}function _e(e){return e.toLowerCase().replace(Ve," ")}function Ft(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,ye(e,t,_e(e),_e(t),0,0,{})}function W(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function ke(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function K(...e){return t=>{let n=!1;const o=e.map(r=>{const a=ke(r,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():ke(e[r],null)}}}}function H(...e){return s.useCallback(K(...e),e)}function jt(e,t){const n=s.createContext(t),o=a=>{const{children:c,...i}=a,f=s.useMemo(()=>i,Object.values(i));return m.jsx(n.Provider,{value:f,children:c})};o.displayName=e+"Provider";function r(a){const c=s.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function Lt(e,t=[]){let n=[];function o(a,c){const i=s.createContext(c),f=n.length;n=[...n,c];const l=p=>{const{scope:y,children:h,...R}=p,x=y?.[e]?.[f]||i,N=s.useMemo(()=>R,Object.values(R));return m.jsx(x.Provider,{value:N,children:h})};l.displayName=a+"Provider";function d(p,y){const h=y?.[e]?.[f]||i,R=s.useContext(h);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[l,d]}const r=()=>{const a=n.map(c=>s.createContext(c));return function(i){const f=i?.[e]||a;return s.useMemo(()=>({[`__scope${e}`]:{...i,[e]:f}}),[i,f])}};return r.scopeName=e,[o,$t(r,...t)]}function $t(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const c=o.reduce((i,{useScope:f,scopeName:l})=>{const p=f(a)[`__scope${l}`];return{...i,...p}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var ee=globalThis?.document?s.useLayoutEffect:()=>{},Wt=Be[" useId ".trim().toString()]||(()=>{}),Ut=0;function j(e){const[t,n]=s.useState(Wt());return ee(()=>{n(o=>o??String(Ut++))},[e]),t?`radix-${t}`:""}var Bt=Be[" useInsertionEffect ".trim().toString()]||ee;function Kt({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,a,c]=Vt({defaultProp:t,onChange:n}),i=e!==void 0,f=i?e:r;{const d=s.useRef(e!==void 0);s.useEffect(()=>{const p=d.current;p!==i&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}const l=s.useCallback(d=>{if(i){const p=zt(d)?d(e):d;p!==e&&c.current?.(p)}else a(d)},[i,e,a,c]);return[f,l]}function Vt({defaultProp:e,onChange:t}){const[n,o]=s.useState(e),r=s.useRef(n),a=s.useRef(t);return Bt(()=>{a.current=t},[t]),s.useEffect(()=>{r.current!==n&&(a.current?.(n),r.current=n)},[n,r]),[n,o,a]}function zt(e){return typeof e=="function"}function ze(e){const t=Ht(e),n=s.forwardRef((o,r)=>{const{children:a,...c}=o,i=s.Children.toArray(a),f=i.find(qt);if(f){const l=f.props.children,d=i.map(p=>p===f?s.Children.count(l)>1?s.Children.only(null):s.isValidElement(l)?l.props.children:null:p);return m.jsx(t,{...c,ref:r,children:s.isValidElement(l)?s.cloneElement(l,void 0,d):null})}return m.jsx(t,{...c,ref:r,children:a})});return n.displayName=`${e}.Slot`,n}function Ht(e){const t=s.forwardRef((n,o)=>{const{children:r,...a}=n;if(s.isValidElement(r)){const c=Yt(r),i=Xt(a,r.props);return r.type!==s.Fragment&&(i.ref=o?K(o,c):c),s.cloneElement(r,i)}return s.Children.count(r)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Gt=Symbol("radix.slottable");function qt(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Gt}function Xt(e,t){const n={...t};for(const o in t){const r=e[o],a=t[o];/^on[A-Z]/.test(o)?r&&a?n[o]=(...i)=>{const f=a(...i);return r(...i),f}:r&&(n[o]=r):o==="style"?n[o]={...r,...a}:o==="className"&&(n[o]=[r,a].filter(Boolean).join(" "))}return{...e,...n}}function Yt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Zt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],P=Zt.reduce((e,t)=>{const n=ze(`Primitive.${t}`),o=s.forwardRef((r,a)=>{const{asChild:c,...i}=r,f=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(f,{...i,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Jt(e,t){e&&ht.flushSync(()=>e.dispatchEvent(t))}function te(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...n)=>t.current?.(...n),[])}function Qt(e,t=globalThis?.document){const n=te(e);s.useEffect(()=>{const o=r=>{r.key==="Escape"&&n(r)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var en="DismissableLayer",be="dismissableLayer.update",tn="dismissableLayer.pointerDownOutside",nn="dismissableLayer.focusOutside",Te,He=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ge=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:c,onDismiss:i,...f}=e,l=s.useContext(He),[d,p]=s.useState(null),y=d?.ownerDocument??globalThis?.document,[,h]=s.useState({}),R=H(t,E=>p(E)),x=Array.from(l.layers),[N]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),S=x.indexOf(N),k=d?x.indexOf(d):-1,A=l.layersWithOutsidePointerEventsDisabled.size>0,I=k>=S,T=sn(E=>{const L=E.target,Z=[...l.branches].some(B=>B.contains(L));!I||Z||(r?.(E),c?.(E),E.defaultPrevented||i?.())},y),w=an(E=>{const L=E.target;[...l.branches].some(B=>B.contains(L))||(a?.(E),c?.(E),E.defaultPrevented||i?.())},y);return Qt(E=>{k===l.layers.size-1&&(o?.(E),!E.defaultPrevented&&i&&(E.preventDefault(),i()))},y),s.useEffect(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Te=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),Me(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=Te)}},[d,y,n,l]),s.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),Me())},[d,l]),s.useEffect(()=>{const E=()=>h({});return document.addEventListener(be,E),()=>document.removeEventListener(be,E)},[]),m.jsx(P.div,{...f,ref:R,style:{pointerEvents:A?I?"auto":"none":void 0,...e.style},onFocusCapture:W(e.onFocusCapture,w.onFocusCapture),onBlurCapture:W(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:W(e.onPointerDownCapture,T.onPointerDownCapture)})});Ge.displayName=en;var rn="DismissableLayerBranch",on=s.forwardRef((e,t)=>{const n=s.useContext(He),o=s.useRef(null),r=H(t,o);return s.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),m.jsx(P.div,{...e,ref:r})});on.displayName=rn;function sn(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1),r=s.useRef(()=>{});return s.useEffect(()=>{const a=i=>{if(i.target&&!o.current){let f=function(){qe(tn,n,l,{discrete:!0})};const l={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=f,t.addEventListener("click",r.current,{once:!0})):f()}else t.removeEventListener("click",r.current);o.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",a),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function an(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1);return s.useEffect(()=>{const r=a=>{a.target&&!o.current&&qe(nn,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Me(){const e=new CustomEvent(be);document.dispatchEvent(e)}function qe(e,t,n,{discrete:o}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Jt(r,a):r.dispatchEvent(a)}var ve="focusScope.autoFocusOnMount",ge="focusScope.autoFocusOnUnmount",Fe={bubbles:!1,cancelable:!0},ln="FocusScope",Xe=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...c}=e,[i,f]=s.useState(null),l=te(r),d=te(a),p=s.useRef(null),y=H(t,x=>f(x)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let x=function(A){if(h.paused||!i)return;const I=A.target;i.contains(I)?p.current=I:$(p.current,{select:!0})},N=function(A){if(h.paused||!i)return;const I=A.relatedTarget;I!==null&&(i.contains(I)||$(p.current,{select:!0}))},S=function(A){if(document.activeElement===document.body)for(const T of A)T.removedNodes.length>0&&$(i)};document.addEventListener("focusin",x),document.addEventListener("focusout",N);const k=new MutationObserver(S);return i&&k.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",N),k.disconnect()}}},[o,i,h.paused]),s.useEffect(()=>{if(i){Le.add(h);const x=document.activeElement;if(!i.contains(x)){const S=new CustomEvent(ve,Fe);i.addEventListener(ve,l),i.dispatchEvent(S),S.defaultPrevented||(cn(pn(Ye(i)),{select:!0}),document.activeElement===x&&$(i))}return()=>{i.removeEventListener(ve,l),setTimeout(()=>{const S=new CustomEvent(ge,Fe);i.addEventListener(ge,d),i.dispatchEvent(S),S.defaultPrevented||$(x??document.body,{select:!0}),i.removeEventListener(ge,d),Le.remove(h)},0)}}},[i,l,d,h]);const R=s.useCallback(x=>{if(!n&&!o||h.paused)return;const N=x.key==="Tab"&&!x.altKey&&!x.ctrlKey&&!x.metaKey,S=document.activeElement;if(N&&S){const k=x.currentTarget,[A,I]=un(k);A&&I?!x.shiftKey&&S===I?(x.preventDefault(),n&&$(A,{select:!0})):x.shiftKey&&S===A&&(x.preventDefault(),n&&$(I,{select:!0})):S===k&&x.preventDefault()}},[n,o,h.paused]);return m.jsx(P.div,{tabIndex:-1,...c,ref:y,onKeyDown:R})});Xe.displayName=ln;function cn(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if($(o,{select:t}),document.activeElement!==n)return}function un(e){const t=Ye(e),n=je(t,e),o=je(t.reverse(),e);return[n,o]}function Ye(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function je(e,t){for(const n of e)if(!dn(n,{upTo:t}))return n}function dn(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function fn(e){return e instanceof HTMLInputElement&&"select"in e}function $(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&fn(e)&&t&&e.select()}}var Le=mn();function mn(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=$e(e,t),e.unshift(t)},remove(t){e=$e(e,t),e[0]?.resume()}}}function $e(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function pn(e){return e.filter(t=>t.tagName!=="A")}var vn="Portal",Ze=s.forwardRef((e,t)=>{const{container:n,...o}=e,[r,a]=s.useState(!1);ee(()=>a(!0),[]);const c=n||r&&globalThis?.document?.body;return c?Et.createPortal(m.jsx(P.div,{...o,ref:t}),c):null});Ze.displayName=vn;function gn(e,t){return s.useReducer((n,o)=>t[n][o]??n,e)}var ae=e=>{const{present:t,children:n}=e,o=hn(t),r=typeof n=="function"?n({present:o.isPresent}):s.Children.only(n),a=H(o.ref,En(r));return typeof n=="function"||o.isPresent?s.cloneElement(r,{ref:a}):null};ae.displayName="Presence";function hn(e){const[t,n]=s.useState(),o=s.useRef(null),r=s.useRef(e),a=s.useRef("none"),c=e?"mounted":"unmounted",[i,f]=gn(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const l=oe(o.current);a.current=i==="mounted"?l:"none"},[i]),ee(()=>{const l=o.current,d=r.current;if(d!==e){const y=a.current,h=oe(l);e?f("MOUNT"):h==="none"||l?.display==="none"?f("UNMOUNT"):f(d&&y!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),ee(()=>{if(t){let l;const d=t.ownerDocument.defaultView??window,p=h=>{const x=oe(o.current).includes(CSS.escape(h.animationName));if(h.target===t&&x&&(f("ANIMATION_END"),!r.current)){const N=t.style.animationFillMode;t.style.animationFillMode="forwards",l=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=N)})}},y=h=>{h.target===t&&(a.current=oe(o.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(l),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:s.useCallback(l=>{o.current=l?getComputedStyle(l):null,n(l)},[])}}function oe(e){return e?.animationName||"none"}function En(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var he=0;function yn(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??We()),document.body.insertAdjacentElement("beforeend",e[1]??We()),he++,()=>{he===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),he--}},[])}function We(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ie="Dialog",[Je]=Lt(ie),[bn,F]=Je(ie),Qe=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:a,modal:c=!0}=e,i=s.useRef(null),f=s.useRef(null),[l,d]=Kt({prop:o,defaultProp:r??!1,onChange:a,caller:ie});return m.jsx(bn,{scope:t,triggerRef:i,contentRef:f,contentId:j(),titleId:j(),descriptionId:j(),open:l,onOpenChange:d,onOpenToggle:s.useCallback(()=>d(p=>!p),[d]),modal:c,children:n})};Qe.displayName=ie;var et="DialogTrigger",xn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(et,n),a=H(t,r.triggerRef);return m.jsx(P.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":De(r.open),...o,ref:a,onClick:W(e.onClick,r.onOpenToggle)})});xn.displayName=et;var Ce="DialogPortal",[Cn,tt]=Je(Ce,{forceMount:void 0}),nt=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,a=F(Ce,t);return m.jsx(Cn,{scope:t,forceMount:n,children:s.Children.map(o,c=>m.jsx(ae,{present:n||a.open,children:m.jsx(Ze,{asChild:!0,container:r,children:c})}))})};nt.displayName=Ce;var se="DialogOverlay",rt=s.forwardRef((e,t)=>{const n=tt(se,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(se,e.__scopeDialog);return a.modal?m.jsx(ae,{present:o||a.open,children:m.jsx(Dn,{...r,ref:t})}):null});rt.displayName=se;var wn=ze("DialogOverlay.RemoveScroll"),Dn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(se,n);return m.jsx(yt,{as:wn,allowPinchZoom:!0,shards:[r.contentRef],children:m.jsx(P.div,{"data-state":De(r.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),V="DialogContent",ot=s.forwardRef((e,t)=>{const n=tt(V,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(V,e.__scopeDialog);return m.jsx(ae,{present:o||a.open,children:a.modal?m.jsx(Rn,{...r,ref:t}):m.jsx(Nn,{...r,ref:t})})});ot.displayName=V;var Rn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(null),r=H(t,n.contentRef,o);return s.useEffect(()=>{const a=o.current;if(a)return bt(a)},[]),m.jsx(st,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:W(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:W(e.onPointerDownOutside,a=>{const c=a.detail.originalEvent,i=c.button===0&&c.ctrlKey===!0;(c.button===2||i)&&a.preventDefault()}),onFocusOutside:W(e.onFocusOutside,a=>a.preventDefault())})}),Nn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(!1),r=s.useRef(!1);return m.jsx(st,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(o.current||n.triggerRef.current?.focus(),a.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const c=a.target;n.triggerRef.current?.contains(c)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),st=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...c}=e,i=F(V,n),f=s.useRef(null),l=H(t,f);return yn(),m.jsxs(m.Fragment,{children:[m.jsx(Xe,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:m.jsx(Ge,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":De(i.open),...c,ref:l,onDismiss:()=>i.onOpenChange(!1)})}),m.jsxs(m.Fragment,{children:[m.jsx(On,{titleId:i.titleId}),m.jsx(_n,{contentRef:f,descriptionId:i.descriptionId})]})]})}),we="DialogTitle",Sn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(we,n);return m.jsx(P.h2,{id:r.titleId,...o,ref:t})});Sn.displayName=we;var at="DialogDescription",In=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(at,n);return m.jsx(P.p,{id:r.descriptionId,...o,ref:t})});In.displayName=at;var it="DialogClose",Pn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(it,n);return m.jsx(P.button,{type:"button",...o,ref:t,onClick:W(e.onClick,()=>r.onOpenChange(!1))})});Pn.displayName=it;function De(e){return e?"open":"closed"}var lt="DialogTitleWarning",[dr,ct]=jt(lt,{contentName:V,titleName:we,docsSlug:"dialog"}),On=({titleId:e})=>{const t=ct(lt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
1
|
+
import{c as s,j as m,R as Be,d as ht,B as Et}from"./react-B9jn2M18.js";import{R as yt,h as bt}from"./index-BVyeNcuc.js";import{l as Ke}from"./view-context-BDtIUHQy.js";import{a as M}from"./utils-Cg80pk1W.js";import{D as xt,c as Ct,d as wt,a as Dt,b as Rt,e as Nt,f as St}from"./index-Cg-gtBkw.js";var Ae=1,It=.9,Pt=.8,Ot=.17,me=.1,pe=.999,At=.9999,_t=.99,kt=/[\\\/_+.#"@\[\(\{&]/,Tt=/[\\\/_+.#"@\[\(\{&]/g,Mt=/[\s-]/,Ve=/[\s-]/g;function ye(e,t,n,o,r,a,c){if(a===t.length)return r===e.length?Ae:_t;var i=`${r},${a}`;if(c[i]!==void 0)return c[i];for(var f=o.charAt(a),l=n.indexOf(f,r),d=0,p,y,h,R;l>=0;)p=ye(e,t,n,o,l+1,a+1,c),p>d&&(l===r?p*=Ae:kt.test(e.charAt(l-1))?(p*=Pt,h=e.slice(r,l-1).match(Tt),h&&r>0&&(p*=Math.pow(pe,h.length))):Mt.test(e.charAt(l-1))?(p*=It,R=e.slice(r,l-1).match(Ve),R&&r>0&&(p*=Math.pow(pe,R.length))):(p*=Ot,r>0&&(p*=Math.pow(pe,l-r))),e.charAt(l)!==t.charAt(a)&&(p*=At)),(p<me&&n.charAt(l-1)===o.charAt(a+1)||o.charAt(a+1)===o.charAt(a)&&n.charAt(l-1)!==o.charAt(a))&&(y=ye(e,t,n,o,l+1,a+2,c),y*me>p&&(p=y*me)),p>d&&(d=p),l=n.indexOf(f,l+1);return c[i]=d,d}function _e(e){return e.toLowerCase().replace(Ve," ")}function Ft(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,ye(e,t,_e(e),_e(t),0,0,{})}function W(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function ke(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function K(...e){return t=>{let n=!1;const o=e.map(r=>{const a=ke(r,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():ke(e[r],null)}}}}function H(...e){return s.useCallback(K(...e),e)}function jt(e,t){const n=s.createContext(t),o=a=>{const{children:c,...i}=a,f=s.useMemo(()=>i,Object.values(i));return m.jsx(n.Provider,{value:f,children:c})};o.displayName=e+"Provider";function r(a){const c=s.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function Lt(e,t=[]){let n=[];function o(a,c){const i=s.createContext(c),f=n.length;n=[...n,c];const l=p=>{const{scope:y,children:h,...R}=p,x=y?.[e]?.[f]||i,N=s.useMemo(()=>R,Object.values(R));return m.jsx(x.Provider,{value:N,children:h})};l.displayName=a+"Provider";function d(p,y){const h=y?.[e]?.[f]||i,R=s.useContext(h);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[l,d]}const r=()=>{const a=n.map(c=>s.createContext(c));return function(i){const f=i?.[e]||a;return s.useMemo(()=>({[`__scope${e}`]:{...i,[e]:f}}),[i,f])}};return r.scopeName=e,[o,$t(r,...t)]}function $t(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const c=o.reduce((i,{useScope:f,scopeName:l})=>{const p=f(a)[`__scope${l}`];return{...i,...p}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var ee=globalThis?.document?s.useLayoutEffect:()=>{},Wt=Be[" useId ".trim().toString()]||(()=>{}),Ut=0;function j(e){const[t,n]=s.useState(Wt());return ee(()=>{n(o=>o??String(Ut++))},[e]),t?`radix-${t}`:""}var Bt=Be[" useInsertionEffect ".trim().toString()]||ee;function Kt({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,a,c]=Vt({defaultProp:t,onChange:n}),i=e!==void 0,f=i?e:r;{const d=s.useRef(e!==void 0);s.useEffect(()=>{const p=d.current;p!==i&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}const l=s.useCallback(d=>{if(i){const p=zt(d)?d(e):d;p!==e&&c.current?.(p)}else a(d)},[i,e,a,c]);return[f,l]}function Vt({defaultProp:e,onChange:t}){const[n,o]=s.useState(e),r=s.useRef(n),a=s.useRef(t);return Bt(()=>{a.current=t},[t]),s.useEffect(()=>{r.current!==n&&(a.current?.(n),r.current=n)},[n,r]),[n,o,a]}function zt(e){return typeof e=="function"}function ze(e){const t=Ht(e),n=s.forwardRef((o,r)=>{const{children:a,...c}=o,i=s.Children.toArray(a),f=i.find(qt);if(f){const l=f.props.children,d=i.map(p=>p===f?s.Children.count(l)>1?s.Children.only(null):s.isValidElement(l)?l.props.children:null:p);return m.jsx(t,{...c,ref:r,children:s.isValidElement(l)?s.cloneElement(l,void 0,d):null})}return m.jsx(t,{...c,ref:r,children:a})});return n.displayName=`${e}.Slot`,n}function Ht(e){const t=s.forwardRef((n,o)=>{const{children:r,...a}=n;if(s.isValidElement(r)){const c=Yt(r),i=Xt(a,r.props);return r.type!==s.Fragment&&(i.ref=o?K(o,c):c),s.cloneElement(r,i)}return s.Children.count(r)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Gt=Symbol("radix.slottable");function qt(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Gt}function Xt(e,t){const n={...t};for(const o in t){const r=e[o],a=t[o];/^on[A-Z]/.test(o)?r&&a?n[o]=(...i)=>{const f=a(...i);return r(...i),f}:r&&(n[o]=r):o==="style"?n[o]={...r,...a}:o==="className"&&(n[o]=[r,a].filter(Boolean).join(" "))}return{...e,...n}}function Yt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Zt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],P=Zt.reduce((e,t)=>{const n=ze(`Primitive.${t}`),o=s.forwardRef((r,a)=>{const{asChild:c,...i}=r,f=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(f,{...i,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Jt(e,t){e&&ht.flushSync(()=>e.dispatchEvent(t))}function te(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...n)=>t.current?.(...n),[])}function Qt(e,t=globalThis?.document){const n=te(e);s.useEffect(()=>{const o=r=>{r.key==="Escape"&&n(r)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var en="DismissableLayer",be="dismissableLayer.update",tn="dismissableLayer.pointerDownOutside",nn="dismissableLayer.focusOutside",Te,He=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ge=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:c,onDismiss:i,...f}=e,l=s.useContext(He),[d,p]=s.useState(null),y=d?.ownerDocument??globalThis?.document,[,h]=s.useState({}),R=H(t,E=>p(E)),x=Array.from(l.layers),[N]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),S=x.indexOf(N),k=d?x.indexOf(d):-1,A=l.layersWithOutsidePointerEventsDisabled.size>0,I=k>=S,T=sn(E=>{const L=E.target,Z=[...l.branches].some(B=>B.contains(L));!I||Z||(r?.(E),c?.(E),E.defaultPrevented||i?.())},y),w=an(E=>{const L=E.target;[...l.branches].some(B=>B.contains(L))||(a?.(E),c?.(E),E.defaultPrevented||i?.())},y);return Qt(E=>{k===l.layers.size-1&&(o?.(E),!E.defaultPrevented&&i&&(E.preventDefault(),i()))},y),s.useEffect(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Te=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),Me(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=Te)}},[d,y,n,l]),s.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),Me())},[d,l]),s.useEffect(()=>{const E=()=>h({});return document.addEventListener(be,E),()=>document.removeEventListener(be,E)},[]),m.jsx(P.div,{...f,ref:R,style:{pointerEvents:A?I?"auto":"none":void 0,...e.style},onFocusCapture:W(e.onFocusCapture,w.onFocusCapture),onBlurCapture:W(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:W(e.onPointerDownCapture,T.onPointerDownCapture)})});Ge.displayName=en;var rn="DismissableLayerBranch",on=s.forwardRef((e,t)=>{const n=s.useContext(He),o=s.useRef(null),r=H(t,o);return s.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),m.jsx(P.div,{...e,ref:r})});on.displayName=rn;function sn(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1),r=s.useRef(()=>{});return s.useEffect(()=>{const a=i=>{if(i.target&&!o.current){let f=function(){qe(tn,n,l,{discrete:!0})};const l={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=f,t.addEventListener("click",r.current,{once:!0})):f()}else t.removeEventListener("click",r.current);o.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",a),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function an(e,t=globalThis?.document){const n=te(e),o=s.useRef(!1);return s.useEffect(()=>{const r=a=>{a.target&&!o.current&&qe(nn,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Me(){const e=new CustomEvent(be);document.dispatchEvent(e)}function qe(e,t,n,{discrete:o}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Jt(r,a):r.dispatchEvent(a)}var ve="focusScope.autoFocusOnMount",ge="focusScope.autoFocusOnUnmount",Fe={bubbles:!1,cancelable:!0},ln="FocusScope",Xe=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...c}=e,[i,f]=s.useState(null),l=te(r),d=te(a),p=s.useRef(null),y=H(t,x=>f(x)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let x=function(A){if(h.paused||!i)return;const I=A.target;i.contains(I)?p.current=I:$(p.current,{select:!0})},N=function(A){if(h.paused||!i)return;const I=A.relatedTarget;I!==null&&(i.contains(I)||$(p.current,{select:!0}))},S=function(A){if(document.activeElement===document.body)for(const T of A)T.removedNodes.length>0&&$(i)};document.addEventListener("focusin",x),document.addEventListener("focusout",N);const k=new MutationObserver(S);return i&&k.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",N),k.disconnect()}}},[o,i,h.paused]),s.useEffect(()=>{if(i){Le.add(h);const x=document.activeElement;if(!i.contains(x)){const S=new CustomEvent(ve,Fe);i.addEventListener(ve,l),i.dispatchEvent(S),S.defaultPrevented||(cn(pn(Ye(i)),{select:!0}),document.activeElement===x&&$(i))}return()=>{i.removeEventListener(ve,l),setTimeout(()=>{const S=new CustomEvent(ge,Fe);i.addEventListener(ge,d),i.dispatchEvent(S),S.defaultPrevented||$(x??document.body,{select:!0}),i.removeEventListener(ge,d),Le.remove(h)},0)}}},[i,l,d,h]);const R=s.useCallback(x=>{if(!n&&!o||h.paused)return;const N=x.key==="Tab"&&!x.altKey&&!x.ctrlKey&&!x.metaKey,S=document.activeElement;if(N&&S){const k=x.currentTarget,[A,I]=un(k);A&&I?!x.shiftKey&&S===I?(x.preventDefault(),n&&$(A,{select:!0})):x.shiftKey&&S===A&&(x.preventDefault(),n&&$(I,{select:!0})):S===k&&x.preventDefault()}},[n,o,h.paused]);return m.jsx(P.div,{tabIndex:-1,...c,ref:y,onKeyDown:R})});Xe.displayName=ln;function cn(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if($(o,{select:t}),document.activeElement!==n)return}function un(e){const t=Ye(e),n=je(t,e),o=je(t.reverse(),e);return[n,o]}function Ye(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function je(e,t){for(const n of e)if(!dn(n,{upTo:t}))return n}function dn(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function fn(e){return e instanceof HTMLInputElement&&"select"in e}function $(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&fn(e)&&t&&e.select()}}var Le=mn();function mn(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=$e(e,t),e.unshift(t)},remove(t){e=$e(e,t),e[0]?.resume()}}}function $e(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function pn(e){return e.filter(t=>t.tagName!=="A")}var vn="Portal",Ze=s.forwardRef((e,t)=>{const{container:n,...o}=e,[r,a]=s.useState(!1);ee(()=>a(!0),[]);const c=n||r&&globalThis?.document?.body;return c?Et.createPortal(m.jsx(P.div,{...o,ref:t}),c):null});Ze.displayName=vn;function gn(e,t){return s.useReducer((n,o)=>t[n][o]??n,e)}var ae=e=>{const{present:t,children:n}=e,o=hn(t),r=typeof n=="function"?n({present:o.isPresent}):s.Children.only(n),a=H(o.ref,En(r));return typeof n=="function"||o.isPresent?s.cloneElement(r,{ref:a}):null};ae.displayName="Presence";function hn(e){const[t,n]=s.useState(),o=s.useRef(null),r=s.useRef(e),a=s.useRef("none"),c=e?"mounted":"unmounted",[i,f]=gn(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const l=oe(o.current);a.current=i==="mounted"?l:"none"},[i]),ee(()=>{const l=o.current,d=r.current;if(d!==e){const y=a.current,h=oe(l);e?f("MOUNT"):h==="none"||l?.display==="none"?f("UNMOUNT"):f(d&&y!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),ee(()=>{if(t){let l;const d=t.ownerDocument.defaultView??window,p=h=>{const x=oe(o.current).includes(CSS.escape(h.animationName));if(h.target===t&&x&&(f("ANIMATION_END"),!r.current)){const N=t.style.animationFillMode;t.style.animationFillMode="forwards",l=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=N)})}},y=h=>{h.target===t&&(a.current=oe(o.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(l),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:s.useCallback(l=>{o.current=l?getComputedStyle(l):null,n(l)},[])}}function oe(e){return e?.animationName||"none"}function En(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var he=0;function yn(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??We()),document.body.insertAdjacentElement("beforeend",e[1]??We()),he++,()=>{he===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),he--}},[])}function We(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ie="Dialog",[Je]=Lt(ie),[bn,F]=Je(ie),Qe=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:a,modal:c=!0}=e,i=s.useRef(null),f=s.useRef(null),[l,d]=Kt({prop:o,defaultProp:r??!1,onChange:a,caller:ie});return m.jsx(bn,{scope:t,triggerRef:i,contentRef:f,contentId:j(),titleId:j(),descriptionId:j(),open:l,onOpenChange:d,onOpenToggle:s.useCallback(()=>d(p=>!p),[d]),modal:c,children:n})};Qe.displayName=ie;var et="DialogTrigger",xn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(et,n),a=H(t,r.triggerRef);return m.jsx(P.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":De(r.open),...o,ref:a,onClick:W(e.onClick,r.onOpenToggle)})});xn.displayName=et;var Ce="DialogPortal",[Cn,tt]=Je(Ce,{forceMount:void 0}),nt=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,a=F(Ce,t);return m.jsx(Cn,{scope:t,forceMount:n,children:s.Children.map(o,c=>m.jsx(ae,{present:n||a.open,children:m.jsx(Ze,{asChild:!0,container:r,children:c})}))})};nt.displayName=Ce;var se="DialogOverlay",rt=s.forwardRef((e,t)=>{const n=tt(se,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(se,e.__scopeDialog);return a.modal?m.jsx(ae,{present:o||a.open,children:m.jsx(Dn,{...r,ref:t})}):null});rt.displayName=se;var wn=ze("DialogOverlay.RemoveScroll"),Dn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(se,n);return m.jsx(yt,{as:wn,allowPinchZoom:!0,shards:[r.contentRef],children:m.jsx(P.div,{"data-state":De(r.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),V="DialogContent",ot=s.forwardRef((e,t)=>{const n=tt(V,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,a=F(V,e.__scopeDialog);return m.jsx(ae,{present:o||a.open,children:a.modal?m.jsx(Rn,{...r,ref:t}):m.jsx(Nn,{...r,ref:t})})});ot.displayName=V;var Rn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(null),r=H(t,n.contentRef,o);return s.useEffect(()=>{const a=o.current;if(a)return bt(a)},[]),m.jsx(st,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:W(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:W(e.onPointerDownOutside,a=>{const c=a.detail.originalEvent,i=c.button===0&&c.ctrlKey===!0;(c.button===2||i)&&a.preventDefault()}),onFocusOutside:W(e.onFocusOutside,a=>a.preventDefault())})}),Nn=s.forwardRef((e,t)=>{const n=F(V,e.__scopeDialog),o=s.useRef(!1),r=s.useRef(!1);return m.jsx(st,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(o.current||n.triggerRef.current?.focus(),a.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const c=a.target;n.triggerRef.current?.contains(c)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),st=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...c}=e,i=F(V,n),f=s.useRef(null),l=H(t,f);return yn(),m.jsxs(m.Fragment,{children:[m.jsx(Xe,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:m.jsx(Ge,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":De(i.open),...c,ref:l,onDismiss:()=>i.onOpenChange(!1)})}),m.jsxs(m.Fragment,{children:[m.jsx(On,{titleId:i.titleId}),m.jsx(_n,{contentRef:f,descriptionId:i.descriptionId})]})]})}),we="DialogTitle",Sn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(we,n);return m.jsx(P.h2,{id:r.titleId,...o,ref:t})});Sn.displayName=we;var at="DialogDescription",In=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(at,n);return m.jsx(P.p,{id:r.descriptionId,...o,ref:t})});In.displayName=at;var it="DialogClose",Pn=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=F(it,n);return m.jsx(P.button,{type:"button",...o,ref:t,onClick:W(e.onClick,()=>r.onOpenChange(!1))})});Pn.displayName=it;function De(e){return e?"open":"closed"}var lt="DialogTitleWarning",[dr,ct]=jt(lt,{contentName:V,titleName:we,docsSlug:"dialog"}),On=({titleId:e})=>{const t=ct(lt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as p,c as a}from"./react-B9jn2M18.js";import{l as d,t as l}from"./view-context-
|
|
1
|
+
import{j as p,c as a}from"./react-B9jn2M18.js";import{l as d,t as l}from"./view-context-BDtIUHQy.js";import{B as x}from"./button-CuuAtS1I.js";const f=async e=>{if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",t.style.top="0",document.body.appendChild(t),t.select();try{return document.execCommand("copy")}finally{document.body.removeChild(t)}},C=(e,t={})=>{const{copiedMs:o=1400}=t,[c,i]=a.useState(!1),s=a.useRef(void 0);a.useEffect(()=>()=>window.clearTimeout(s.current),[]);const n=a.useCallback(async()=>{const u=typeof e=="function"?await e():e,r=await f(u);return window.clearTimeout(s.current),i(r),r&&(s.current=window.setTimeout(()=>i(!1),o)),r},[e,o]);return{copied:c,copy:n}};function T({className:e,context:t,label:o="Copy context",notify:c=!0,onCopied:i,onFailed:s,size:n="icon-xs",variant:u="ghost"}){const{copied:r,copy:m}=C(t);return p.jsx(x,{type:"button",variant:u,size:n,className:e,"aria-label":o,title:o,onClick:()=>{m().then(y=>{y?(c&&l.success("Copied"),i?.()):(c&&l.error("Could not copy"),s?.())})},children:r?p.jsx(d.Check,{className:"size-3.5 text-emerald-600"}):p.jsx(d.Copy,{className:"size-3.5"})})}export{T as C,f as c};
|