forge-openclaw-plugin 0.2.3 → 0.2.7
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/README.md +114 -6
- package/dist/assets/board-CzgvdLO8.js +6 -0
- package/dist/assets/board-CzgvdLO8.js.map +1 -0
- package/dist/assets/favicon-BCHm9dUV.ico +0 -0
- package/dist/assets/index-8d_oM8fL.js +27 -0
- package/dist/assets/index-8d_oM8fL.js.map +1 -0
- package/dist/assets/index-D4A_bq8m.css +1 -0
- package/dist/assets/motion-STUd1O46.js +10 -0
- package/dist/assets/motion-STUd1O46.js.map +1 -0
- package/dist/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2 +0 -0
- package/dist/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2 +0 -0
- package/dist/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2 +0 -0
- package/dist/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2 +0 -0
- package/dist/assets/sora-latin-wght-normal-DdqRvwsR.woff2 +0 -0
- package/dist/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff +0 -0
- package/dist/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2 +0 -0
- package/dist/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff +0 -0
- package/dist/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2 +0 -0
- package/dist/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff +0 -0
- package/dist/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2 +0 -0
- package/dist/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2 +0 -0
- package/dist/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff +0 -0
- package/dist/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff +0 -0
- package/dist/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2 +0 -0
- package/dist/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2 +0 -0
- package/dist/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff +0 -0
- package/dist/assets/table-CtNlETLc.js +23 -0
- package/dist/assets/table-CtNlETLc.js.map +1 -0
- package/dist/assets/ui-ThzkR_oW.js +46 -0
- package/dist/assets/ui-ThzkR_oW.js.map +1 -0
- package/dist/assets/vendor-CRS-psbw.css +1 -0
- package/dist/assets/vendor-DyHAI6nk.js +423 -0
- package/dist/assets/vendor-DyHAI6nk.js.map +1 -0
- package/dist/assets/viz-BJuBCz_G.js +34 -0
- package/dist/assets/viz-BJuBCz_G.js.map +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/favicon.png +0 -0
- package/dist/index.html +29 -0
- package/dist/openclaw/api-client.d.ts +8 -0
- package/dist/openclaw/api-client.js +31 -4
- package/dist/openclaw/local-runtime.d.ts +3 -0
- package/dist/openclaw/local-runtime.js +135 -0
- package/dist/openclaw/parity.d.ts +4 -4
- package/dist/openclaw/parity.js +23 -33
- package/dist/openclaw/plugin-entry-shared.d.ts +5 -3
- package/dist/openclaw/plugin-entry-shared.js +52 -10
- package/dist/openclaw/routes.d.ts +12 -3
- package/dist/openclaw/routes.js +156 -924
- package/dist/openclaw/tools.js +242 -1100
- package/dist/server/app.js +2450 -0
- package/dist/server/db.js +313 -0
- package/dist/server/e2e-server.js +20 -0
- package/dist/server/errors.js +15 -0
- package/dist/server/index.js +16 -0
- package/dist/server/managers/base.js +17 -0
- package/dist/server/managers/contracts.js +47 -0
- package/dist/server/managers/platform/api-gateway-manager.js +11 -0
- package/dist/server/managers/platform/audit-manager.js +15 -0
- package/dist/server/managers/platform/authentication-manager.js +56 -0
- package/dist/server/managers/platform/authorization-manager.js +56 -0
- package/dist/server/managers/platform/background-job-manager.js +10 -0
- package/dist/server/managers/platform/configuration-manager.js +33 -0
- package/dist/server/managers/platform/database-manager.js +14 -0
- package/dist/server/managers/platform/event-bus-manager.js +7 -0
- package/dist/server/managers/platform/external-service-manager.js +11 -0
- package/dist/server/managers/platform/health-manager.js +7 -0
- package/dist/server/managers/platform/migration-manager.js +8 -0
- package/dist/server/managers/platform/search-index-manager.js +4 -0
- package/dist/server/managers/platform/secrets-manager.js +19 -0
- package/dist/server/managers/platform/session-manager.js +121 -0
- package/dist/server/managers/platform/storage-manager.js +16 -0
- package/dist/server/managers/platform/token-manager.js +37 -0
- package/dist/server/managers/platform/transaction-manager.js +8 -0
- package/dist/server/managers/platform/trusted-network.js +39 -0
- package/dist/server/managers/runtime.js +56 -0
- package/dist/server/managers/type-guards.js +4 -0
- package/dist/server/openapi.js +3512 -0
- package/dist/server/psyche-types.js +395 -0
- package/dist/server/repositories/activity-events.js +157 -0
- package/dist/server/repositories/collaboration.js +497 -0
- package/dist/server/repositories/comments.js +176 -0
- package/dist/server/repositories/deleted-entities.js +192 -0
- package/dist/server/repositories/domains.js +30 -0
- package/dist/server/repositories/event-log.js +64 -0
- package/dist/server/repositories/goals.js +159 -0
- package/dist/server/repositories/projects.js +214 -0
- package/dist/server/repositories/psyche.js +1356 -0
- package/dist/server/repositories/rewards.js +675 -0
- package/dist/server/repositories/settings.js +399 -0
- package/dist/server/repositories/tags.js +160 -0
- package/dist/server/repositories/task-runs.js +488 -0
- package/dist/server/repositories/tasks.js +413 -0
- package/dist/server/services/context.js +214 -0
- package/dist/server/services/dashboard.js +170 -0
- package/dist/server/services/entity-crud.js +576 -0
- package/dist/server/services/gamification.js +215 -0
- package/dist/server/services/insights.js +91 -0
- package/dist/server/services/projects.js +75 -0
- package/dist/server/services/psyche.js +63 -0
- package/dist/server/services/relations.js +28 -0
- package/dist/server/services/reviews.js +88 -0
- package/dist/server/services/run-recovery.js +13 -0
- package/dist/server/services/tagging.js +49 -0
- package/dist/server/services/task-run-watchdog.js +92 -0
- package/dist/server/services/work-time.js +176 -0
- package/dist/server/types.js +999 -0
- package/dist/server/web.js +91 -0
- package/openclaw.plugin.json +22 -10
- package/package.json +17 -4
- package/server/migrations/001_core.sql +333 -0
- package/server/migrations/002_psyche.sql +241 -0
- package/server/migrations/003_timer_execution.sql +18 -0
- package/server/migrations/004_psyche_linked_entities.sql +5 -0
- package/server/migrations/005_adaptive_schemas.sql +157 -0
- package/server/migrations/006_psyche_auth_setting.sql +4 -0
- package/server/migrations/007_deleted_entities.sql +16 -0
- package/skills/forge-openclaw/SKILL.md +189 -275
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import{r as a,j as h,R as Ce,a as qe,b as Qe,c as Je,_ as et,u as tt,d as _,s as Se,e as nt,f as rt,h as ot}from"./vendor-DyHAI6nk.js";function O(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function ue(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=ue(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():ue(e[o],null)}}}}function I(...e){return a.useCallback(Re(...e),e)}function at(e,t){const n=a.createContext(t),r=i=>{const{children:c,...s}=i,d=a.useMemo(()=>s,Object.values(s));return h.jsx(n.Provider,{value:d,children:c})};r.displayName=e+"Provider";function o(i){const c=a.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,o]}function it(e,t=[]){let n=[];function r(i,c){const s=a.createContext(c),d=n.length;n=[...n,c];const l=v=>{var E;const{scope:g,children:p,...R}=v,u=((E=g==null?void 0:g[e])==null?void 0:E[d])||s,m=a.useMemo(()=>R,Object.values(R));return h.jsx(u.Provider,{value:m,children:p})};l.displayName=i+"Provider";function f(v,g){var u;const p=((u=g==null?void 0:g[e])==null?void 0:u[d])||s,R=a.useContext(p);if(R)return R;if(c!==void 0)return c;throw new Error(`\`${v}\` must be used within \`${i}\``)}return[l,f]}const o=()=>{const i=n.map(c=>a.createContext(c));return function(s){const d=(s==null?void 0:s[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...s,[e]:d}}),[s,d])}};return o.scopeName=e,[r,st(o,...t)]}function st(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const c=r.reduce((s,{useScope:d,scopeName:l})=>{const v=d(i)[`__scope${l}`];return{...s,...v}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var j=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},ct=Ce[" useId ".trim().toString()]||(()=>{}),ut=0;function q(e){const[t,n]=a.useState(ct());return j(()=>{n(r=>r??String(ut++))},[e]),e||(t?`radix-${t}`:"")}var lt=Ce[" useInsertionEffect ".trim().toString()]||j;function dt({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,c]=ft({defaultProp:t,onChange:n}),s=e!==void 0,d=s?e:o;{const f=a.useRef(e!==void 0);a.useEffect(()=>{const v=f.current;v!==s&&console.warn(`${r} is changing from ${v?"controlled":"uncontrolled"} to ${s?"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.`),f.current=s},[s,r])}const l=a.useCallback(f=>{var v;if(s){const g=vt(f)?f(e):f;g!==e&&((v=c.current)==null||v.call(c,g))}else i(f)},[s,e,i,c]);return[d,l]}function ft({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return lt(()=>{i.current=t},[t]),a.useEffect(()=>{var c;o.current!==n&&((c=i.current)==null||c.call(i,n),o.current=n)},[n,o]),[n,r,i]}function vt(e){return typeof e=="function"}function we(e){const t=mt(e),n=a.forwardRef((r,o)=>{const{children:i,...c}=r,s=a.Children.toArray(i),d=s.find(gt);if(d){const l=d.props.children,f=s.map(v=>v===d?a.Children.count(l)>1?a.Children.only(null):a.isValidElement(l)?l.props.children:null:v);return h.jsx(t,{...c,ref:o,children:a.isValidElement(l)?a.cloneElement(l,void 0,f):null})}return h.jsx(t,{...c,ref:o,children:i})});return n.displayName=`${e}.Slot`,n}function mt(e){const t=a.forwardRef((n,r)=>{const{children:o,...i}=n;if(a.isValidElement(o)){const c=Et(o),s=pt(i,o.props);return o.type!==a.Fragment&&(s.ref=r?Re(r,c):c),a.cloneElement(o,s)}return a.Children.count(o)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ht=Symbol("radix.slottable");function gt(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ht}function pt(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{const d=i(...s);return o(...s),d}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function Et(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var yt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],D=yt.reduce((e,t)=>{const n=we(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:c,...s}=o,d=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(d,{...s,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function bt(e,t){e&&qe.flushSync(()=>e.dispatchEvent(t))}function B(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function Ct(e,t=globalThis==null?void 0:globalThis.document){const n=B(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var St="DismissableLayer",re="dismissableLayer.update",Rt="dismissableLayer.pointerDownOutside",wt="dismissableLayer.focusOutside",le,Pe=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ne=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:c,onDismiss:s,...d}=e,l=a.useContext(Pe),[f,v]=a.useState(null),g=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=a.useState({}),R=I(t,y=>v(y)),u=Array.from(l.layers),[m]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),E=u.indexOf(m),b=f?u.indexOf(f):-1,C=l.layersWithOutsidePointerEventsDisabled.size>0,S=b>=E,w=Dt(y=>{const T=y.target,L=[...l.branches].some(W=>W.contains(T));!S||L||(o==null||o(y),c==null||c(y),y.defaultPrevented||s==null||s())},g),P=xt(y=>{const T=y.target;[...l.branches].some(W=>W.contains(T))||(i==null||i(y),c==null||c(y),y.defaultPrevented||s==null||s())},g);return Ct(y=>{b===l.layers.size-1&&(r==null||r(y),!y.defaultPrevented&&s&&(y.preventDefault(),s()))},g),a.useEffect(()=>{if(f)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(le=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(f)),l.layers.add(f),de(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=le)}},[f,g,n,l]),a.useEffect(()=>()=>{f&&(l.layers.delete(f),l.layersWithOutsidePointerEventsDisabled.delete(f),de())},[f,l]),a.useEffect(()=>{const y=()=>p({});return document.addEventListener(re,y),()=>document.removeEventListener(re,y)},[]),h.jsx(D.div,{...d,ref:R,style:{pointerEvents:C?S?"auto":"none":void 0,...e.style},onFocusCapture:O(e.onFocusCapture,P.onFocusCapture),onBlurCapture:O(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:O(e.onPointerDownCapture,w.onPointerDownCapture)})});Ne.displayName=St;var Pt="DismissableLayerBranch",Nt=a.forwardRef((e,t)=>{const n=a.useContext(Pe),r=a.useRef(null),o=I(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),h.jsx(D.div,{...e,ref:o})});Nt.displayName=Pt;function Dt(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1),o=a.useRef(()=>{});return a.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){De(Rt,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function xt(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&De(wt,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function de(){const e=new CustomEvent(re);document.dispatchEvent(e)}function De(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?bt(o,i):o.dispatchEvent(i)}var Q="focusScope.autoFocusOnMount",J="focusScope.autoFocusOnUnmount",fe={bubbles:!1,cancelable:!0},Ot="FocusScope",xe=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...c}=e,[s,d]=a.useState(null),l=B(o),f=B(i),v=a.useRef(null),g=I(t,u=>d(u)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let u=function(C){if(p.paused||!s)return;const S=C.target;s.contains(S)?v.current=S:x(v.current,{select:!0})},m=function(C){if(p.paused||!s)return;const S=C.relatedTarget;S!==null&&(s.contains(S)||x(v.current,{select:!0}))},E=function(C){if(document.activeElement===document.body)for(const w of C)w.removedNodes.length>0&&x(s)};document.addEventListener("focusin",u),document.addEventListener("focusout",m);const b=new MutationObserver(E);return s&&b.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",u),document.removeEventListener("focusout",m),b.disconnect()}}},[r,s,p.paused]),a.useEffect(()=>{if(s){me.add(p);const u=document.activeElement;if(!s.contains(u)){const E=new CustomEvent(Q,fe);s.addEventListener(Q,l),s.dispatchEvent(E),E.defaultPrevented||(Tt(Ft(Oe(s)),{select:!0}),document.activeElement===u&&x(s))}return()=>{s.removeEventListener(Q,l),setTimeout(()=>{const E=new CustomEvent(J,fe);s.addEventListener(J,f),s.dispatchEvent(E),E.defaultPrevented||x(u??document.body,{select:!0}),s.removeEventListener(J,f),me.remove(p)},0)}}},[s,l,f,p]);const R=a.useCallback(u=>{if(!n&&!r||p.paused)return;const m=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,E=document.activeElement;if(m&&E){const b=u.currentTarget,[C,S]=At(b);C&&S?!u.shiftKey&&E===S?(u.preventDefault(),n&&x(C,{select:!0})):u.shiftKey&&E===C&&(u.preventDefault(),n&&x(S,{select:!0})):E===b&&u.preventDefault()}},[n,r,p.paused]);return h.jsx(D.div,{tabIndex:-1,...c,ref:g,onKeyDown:R})});xe.displayName=Ot;function Tt(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(x(r,{select:t}),document.activeElement!==n)return}function At(e){const t=Oe(e),n=ve(t,e),r=ve(t.reverse(),e);return[n,r]}function Oe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ve(e,t){for(const n of e)if(!It(n,{upTo:t}))return n}function It(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 Lt(e){return e instanceof HTMLInputElement&&"select"in e}function x(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Lt(e)&&t&&e.select()}}var me=Mt();function Mt(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=he(e,t),e.unshift(t)},remove(t){var n;e=he(e,t),(n=e[0])==null||n.resume()}}}function he(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ft(e){return e.filter(t=>t.tagName!=="A")}var _t="Portal",Te=a.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,i]=a.useState(!1);j(()=>i(!0),[]);const c=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return c?Qe.createPortal(h.jsx(D.div,{...r,ref:t}),c):null});Te.displayName=_t;function kt(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var H=e=>{const{present:t,children:n}=e,r=Wt(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=I(r.ref,jt(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};H.displayName="Presence";function Wt(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),c=e?"mounted":"unmounted",[s,d]=kt(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const l=$(r.current);i.current=s==="mounted"?l:"none"},[s]),j(()=>{const l=r.current,f=o.current;if(f!==e){const g=i.current,p=$(l);e?d("MOUNT"):p==="none"||(l==null?void 0:l.display)==="none"?d("UNMOUNT"):d(f&&g!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),j(()=>{if(t){let l;const f=t.ownerDocument.defaultView??window,v=p=>{const u=$(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&u&&(d("ANIMATION_END"),!o.current)){const m=t.style.animationFillMode;t.style.animationFillMode="forwards",l=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=m)})}},g=p=>{p.target===t&&(i.current=$(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",v),t.addEventListener("animationend",v),()=>{f.clearTimeout(l),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",v),t.removeEventListener("animationend",v)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:a.useCallback(l=>{r.current=l?getComputedStyle(l):null,n(l)},[])}}function $(e){return(e==null?void 0:e.animationName)||"none"}function jt(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ee=0;function Bt(){a.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??ge()),document.body.insertAdjacentElement("beforeend",e[1]??ge()),ee++,()=>{ee===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ee--}},[])}function ge(){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 G="right-scroll-bar-position",Y="width-before-scroll-bar",Ut="with-scroll-bars-hidden",$t="--removed-body-scroll-bar-size",Ae=Je(),te=function(){},z=a.forwardRef(function(e,t){var n=a.useRef(null),r=a.useState({onScrollCapture:te,onWheelCapture:te,onTouchMoveCapture:te}),o=r[0],i=r[1],c=e.forwardProps,s=e.children,d=e.className,l=e.removeScrollBar,f=e.enabled,v=e.shards,g=e.sideCar,p=e.noRelative,R=e.noIsolation,u=e.inert,m=e.allowPinchZoom,E=e.as,b=E===void 0?"div":E,C=e.gapMode,S=et(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=g,P=tt([n,t]),y=_(_({},S),o);return a.createElement(a.Fragment,null,f&&a.createElement(w,{sideCar:Ae,removeScrollBar:l,shards:v,noRelative:p,noIsolation:R,inert:u,setCallbacks:i,allowPinchZoom:!!m,lockRef:n,gapMode:C}),c?a.cloneElement(a.Children.only(s),_(_({},y),{ref:P})):a.createElement(b,_({},y,{className:d,ref:P}),s))});z.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};z.classNames={fullWidth:Y,zeroRight:G};var Vt={left:0,top:0,right:0,gap:0},ne=function(e){return parseInt(e||"",10)||0},Kt=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ne(n),ne(r),ne(o)]},Gt=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Vt;var t=Kt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Yt=Se(),k="data-scroll-locked",Xt=function(e,t,n,r){var o=e.left,i=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),`
|
|
2
|
+
.`.concat(Ut,` {
|
|
3
|
+
overflow: hidden `).concat(r,`;
|
|
4
|
+
padding-right: `).concat(s,"px ").concat(r,`;
|
|
5
|
+
}
|
|
6
|
+
body[`).concat(k,`] {
|
|
7
|
+
overflow: hidden `).concat(r,`;
|
|
8
|
+
overscroll-behavior: contain;
|
|
9
|
+
`).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
|
|
10
|
+
padding-left: `.concat(o,`px;
|
|
11
|
+
padding-top: `).concat(i,`px;
|
|
12
|
+
padding-right: `).concat(c,`px;
|
|
13
|
+
margin-left:0;
|
|
14
|
+
margin-top:0;
|
|
15
|
+
margin-right: `).concat(s,"px ").concat(r,`;
|
|
16
|
+
`),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),`
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.`).concat(G,` {
|
|
20
|
+
right: `).concat(s,"px ").concat(r,`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.`).concat(Y,` {
|
|
24
|
+
margin-right: `).concat(s,"px ").concat(r,`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.`).concat(G," .").concat(G,` {
|
|
28
|
+
right: 0 `).concat(r,`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.`).concat(Y," .").concat(Y,` {
|
|
32
|
+
margin-right: 0 `).concat(r,`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
body[`).concat(k,`] {
|
|
36
|
+
`).concat($t,": ").concat(s,`px;
|
|
37
|
+
}
|
|
38
|
+
`)},pe=function(){var e=parseInt(document.body.getAttribute(k)||"0",10);return isFinite(e)?e:0},Ht=function(){a.useEffect(function(){return document.body.setAttribute(k,(pe()+1).toString()),function(){var e=pe()-1;e<=0?document.body.removeAttribute(k):document.body.setAttribute(k,e.toString())}},[])},zt=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Ht();var i=a.useMemo(function(){return Gt(o)},[o]);return a.createElement(Yt,{styles:Xt(i,!t,o,n?"":"!important")})},oe=!1;if(typeof window<"u")try{var V=Object.defineProperty({},"passive",{get:function(){return oe=!0,!0}});window.addEventListener("test",V,V),window.removeEventListener("test",V,V)}catch{oe=!1}var M=oe?{passive:!1}:!1,Zt=function(e){return e.tagName==="TEXTAREA"},Ie=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Zt(e)&&n[t]==="visible")},qt=function(e){return Ie(e,"overflowY")},Qt=function(e){return Ie(e,"overflowX")},Ee=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Le(e,r);if(o){var i=Me(e,r),c=i[1],s=i[2];if(c>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Jt=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},en=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Le=function(e,t){return e==="v"?qt(t):Qt(t)},Me=function(e,t){return e==="v"?Jt(t):en(t)},tn=function(e,t){return e==="h"&&t==="rtl"?-1:1},nn=function(e,t,n,r,o){var i=tn(e,window.getComputedStyle(t).direction),c=i*r,s=n.target,d=t.contains(s),l=!1,f=c>0,v=0,g=0;do{if(!s)break;var p=Me(e,s),R=p[0],u=p[1],m=p[2],E=u-m-i*R;(R||E)&&Le(e,s)&&(v+=E,g+=R);var b=s.parentNode;s=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!d&&s!==document.body||d&&(t.contains(s)||t===s));return(f&&Math.abs(v)<1||!f&&Math.abs(g)<1)&&(l=!0),l},K=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ye=function(e){return[e.deltaX,e.deltaY]},be=function(e){return e&&"current"in e?e.current:e},rn=function(e,t){return e[0]===t[0]&&e[1]===t[1]},on=function(e){return`
|
|
39
|
+
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
40
|
+
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
41
|
+
`)},an=0,F=[];function sn(e){var t=a.useRef([]),n=a.useRef([0,0]),r=a.useRef(),o=a.useState(an++)[0],i=a.useState(Se)[0],c=a.useRef(e);a.useEffect(function(){c.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var u=nt([e.lockRef.current],(e.shards||[]).map(be),!0).filter(Boolean);return u.forEach(function(m){return m.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),u.forEach(function(m){return m.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=a.useCallback(function(u,m){if("touches"in u&&u.touches.length===2||u.type==="wheel"&&u.ctrlKey)return!c.current.allowPinchZoom;var E=K(u),b=n.current,C="deltaX"in u?u.deltaX:b[0]-E[0],S="deltaY"in u?u.deltaY:b[1]-E[1],w,P=u.target,y=Math.abs(C)>Math.abs(S)?"h":"v";if("touches"in u&&y==="h"&&P.type==="range")return!1;var T=window.getSelection(),L=T&&T.anchorNode,W=L?L===P||L.contains(P):!1;if(W)return!1;var U=Ee(y,P);if(!U)return!0;if(U?w=y:(w=y==="v"?"h":"v",U=Ee(y,P)),!U)return!1;if(!r.current&&"changedTouches"in u&&(C||S)&&(r.current=w),!w)return!0;var ce=r.current||w;return nn(ce,m,u,ce==="h"?C:S)},[]),d=a.useCallback(function(u){var m=u;if(!(!F.length||F[F.length-1]!==i)){var E="deltaY"in m?ye(m):K(m),b=t.current.filter(function(w){return w.name===m.type&&(w.target===m.target||m.target===w.shadowParent)&&rn(w.delta,E)})[0];if(b&&b.should){m.cancelable&&m.preventDefault();return}if(!b){var C=(c.current.shards||[]).map(be).filter(Boolean).filter(function(w){return w.contains(m.target)}),S=C.length>0?s(m,C[0]):!c.current.noIsolation;S&&m.cancelable&&m.preventDefault()}}},[]),l=a.useCallback(function(u,m,E,b){var C={name:u,delta:m,target:E,should:b,shadowParent:cn(E)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(S){return S!==C})},1)},[]),f=a.useCallback(function(u){n.current=K(u),r.current=void 0},[]),v=a.useCallback(function(u){l(u.type,ye(u),u.target,s(u,e.lockRef.current))},[]),g=a.useCallback(function(u){l(u.type,K(u),u.target,s(u,e.lockRef.current))},[]);a.useEffect(function(){return F.push(i),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:g}),document.addEventListener("wheel",d,M),document.addEventListener("touchmove",d,M),document.addEventListener("touchstart",f,M),function(){F=F.filter(function(u){return u!==i}),document.removeEventListener("wheel",d,M),document.removeEventListener("touchmove",d,M),document.removeEventListener("touchstart",f,M)}},[]);var p=e.removeScrollBar,R=e.inert;return a.createElement(a.Fragment,null,R?a.createElement(i,{styles:on(o)}):null,p?a.createElement(zt,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function cn(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const un=rt(Ae,sn);var Fe=a.forwardRef(function(e,t){return a.createElement(z,_({},e,{ref:t,sideCar:un}))});Fe.classNames=z.classNames;var Z="Dialog",[_e]=it(Z),[ln,N]=_e(Z),ke=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:c=!0}=e,s=a.useRef(null),d=a.useRef(null),[l,f]=dt({prop:r,defaultProp:o??!1,onChange:i,caller:Z});return h.jsx(ln,{scope:t,triggerRef:s,contentRef:d,contentId:q(),titleId:q(),descriptionId:q(),open:l,onOpenChange:f,onOpenToggle:a.useCallback(()=>f(v=>!v),[f]),modal:c,children:n})};ke.displayName=Z;var We="DialogTrigger",dn=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=N(We,n),i=I(t,o.triggerRef);return h.jsx(D.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":se(o.open),...r,ref:i,onClick:O(e.onClick,o.onOpenToggle)})});dn.displayName=We;var ae="DialogPortal",[fn,je]=_e(ae,{forceMount:void 0}),Be=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=N(ae,t);return h.jsx(fn,{scope:t,forceMount:n,children:a.Children.map(r,c=>h.jsx(H,{present:n||i.open,children:h.jsx(Te,{asChild:!0,container:o,children:c})}))})};Be.displayName=ae;var X="DialogOverlay",Ue=a.forwardRef((e,t)=>{const n=je(X,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=N(X,e.__scopeDialog);return i.modal?h.jsx(H,{present:r||i.open,children:h.jsx(mn,{...o,ref:t})}):null});Ue.displayName=X;var vn=we("DialogOverlay.RemoveScroll"),mn=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=N(X,n);return h.jsx(Fe,{as:vn,allowPinchZoom:!0,shards:[o.contentRef],children:h.jsx(D.div,{"data-state":se(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),A="DialogContent",$e=a.forwardRef((e,t)=>{const n=je(A,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=N(A,e.__scopeDialog);return h.jsx(H,{present:r||i.open,children:i.modal?h.jsx(hn,{...o,ref:t}):h.jsx(gn,{...o,ref:t})})});$e.displayName=A;var hn=a.forwardRef((e,t)=>{const n=N(A,e.__scopeDialog),r=a.useRef(null),o=I(t,n.contentRef,r);return a.useEffect(()=>{const i=r.current;if(i)return ot(i)},[]),h.jsx(Ve,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:O(e.onCloseAutoFocus,i=>{var c;i.preventDefault(),(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:O(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,s=c.button===0&&c.ctrlKey===!0;(c.button===2||s)&&i.preventDefault()}),onFocusOutside:O(e.onFocusOutside,i=>i.preventDefault())})}),gn=a.forwardRef((e,t)=>{const n=N(A,e.__scopeDialog),r=a.useRef(!1),o=a.useRef(!1);return h.jsx(Ve,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var c,s;(c=e.onCloseAutoFocus)==null||c.call(e,i),i.defaultPrevented||(r.current||(s=n.triggerRef.current)==null||s.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var d,l;(d=e.onInteractOutside)==null||d.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=i.target;((l=n.triggerRef.current)==null?void 0:l.contains(c))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Ve=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...c}=e,s=N(A,n),d=a.useRef(null),l=I(t,d);return Bt(),h.jsxs(h.Fragment,{children:[h.jsx(xe,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:h.jsx(Ne,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":se(s.open),...c,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),h.jsxs(h.Fragment,{children:[h.jsx(pn,{titleId:s.titleId}),h.jsx(yn,{contentRef:d,descriptionId:s.descriptionId})]})]})}),ie="DialogTitle",Ke=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=N(ie,n);return h.jsx(D.h2,{id:o.titleId,...r,ref:t})});Ke.displayName=ie;var Ge="DialogDescription",Ye=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=N(Ge,n);return h.jsx(D.p,{id:o.descriptionId,...r,ref:t})});Ye.displayName=Ge;var Xe="DialogClose",He=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=N(Xe,n);return h.jsx(D.button,{type:"button",...r,ref:t,onClick:O(e.onClick,()=>o.onOpenChange(!1))})});He.displayName=Xe;function se(e){return e?"open":"closed"}var ze="DialogTitleWarning",[Cn,Ze]=at(ze,{contentName:A,titleName:ie,docsSlug:"dialog"}),pn=({titleId:e})=>{const t=Ze(ze),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
42
|
+
|
|
43
|
+
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
|
+
|
|
45
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return a.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},En="DialogDescriptionWarning",yn=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Ze(En).contentName}}.`;return a.useEffect(()=>{var i;const o=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Sn=ke,Rn=Be,wn=Ue,Pn=$e,Nn=Ke,Dn=Ye,xn=He;export{Pn as C,Dn as D,wn as O,Rn as P,Sn as R,Nn as T,xn as a};
|
|
46
|
+
//# sourceMappingURL=ui-ThzkR_oW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-ThzkR_oW.js","sources":["../../node_modules/@radix-ui/primitive/dist/index.mjs","../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../node_modules/@radix-ui/react-context/dist/index.mjs","../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../node_modules/@radix-ui/react-id/dist/index.mjs","../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../node_modules/@radix-ui/react-focus-scope/dist/index.mjs","../../node_modules/@radix-ui/react-portal/dist/index.mjs","../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../node_modules/@radix-ui/react-focus-guards/dist/index.mjs","../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../../node_modules/react-remove-scroll/dist/es2015/medium.js","../../node_modules/react-remove-scroll/dist/es2015/UI.js","../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../../node_modules/react-remove-scroll/dist/es2015/Combination.js","../../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. 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.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. 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.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return () => {\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nexport {\n FocusGuards,\n FocusGuards as Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n var parent_1 = target.parentNode;\n // we will \"bubble\" from ShadowDom in case we are, or just to the parent in normal case\n // this is the same logic used in focus-lock\n target = (parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1);\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n // allow drag selection (iOS); check if selection's anchorNode is the same as target or contains target\n var selection = window.getSelection();\n var anchorNode = selection && selection.anchorNode;\n var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false;\n if (isTouchingSelection) {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","React.useCallback","createContext2","rootComponentName","defaultContext","Context","React.createContext","Provider","props","children","context","React.useMemo","jsx","useContext2","consumerName","React.useContext","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","BaseContext","index","scope","_a","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","useLayoutEffect2","React.useLayoutEffect","useReactId","React","count","useId","deterministicId","id","setId","React.useState","useLayoutEffect","reactId","useInsertionEffect","useControllableState","prop","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","isControlledRef","React.useRef","React.useEffect","wasControlled","setValue","nextValue","value2","isFunction","prevValueRef","createSlot","ownerName","SlotClone","createSlotClone","Slot2","React.forwardRef","forwardedRef","slotProps","childrenArray","React.Children","slottable","isSlottable","newElement","newChildren","child","React.isValidElement","React.cloneElement","childrenRef","getElementRef","props2","mergeProps","React.Fragment","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn","_b","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM.flushSync","useCallbackRef","callback","callbackRef","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FOCUS_SCOPE_NAME","FocusScope","loop","trapped","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","onMountAutoFocus","onUnmountAutoFocus","lastFocusedElementRef","focusScope","handleFocusIn2","focus","handleFocusOut2","relatedTarget","handleMutations2","mutations","mutation","mutationObserver","focusScopesStack","previouslyFocusedElement","mountEvent","focusFirst","removeLinks","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","first","last","getTabbableEdges","candidates","select","candidate","findVisible","nodes","walker","isHiddenInput","elements","isHidden","upTo","isSelectableInput","createFocusScopesStack","stack","activeFocusScope","arrayRemove","array","item","updatedArray","items","PORTAL_NAME","Portal","containerProp","portalProps","mounted","setMounted","ReactDOM","useStateMachine","initialState","machine","React.useReducer","state","Presence","present","presence","usePresence","React2.Children","React2.cloneElement","React2.useState","stylesRef","React2.useRef","prevPresentRef","prevAnimationNameRef","send","React2.useEffect","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","React2.useCallback","useFocusGuards","edgeGuards","createFocusGuard","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","effectCar","createSidecarMedium","nothing","RemoveScroll","parentRef","callbacks","setCallbacks","forwardProps","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","Container","gapMode","rest","__rest","SideCar","containerRef","useMergeRefs","containerProps","__assign","React.createElement","zeroGap","parse","x","getOffset","cs","left","top","right","getGapWidth","offsets","documentWidth","windowWidth","Style","styleSingleton","lockAttribute","getStyles","allowRelative","important","gap","getCurrentUseCounter","counter","useLockAttribute","newCounter","RemoveScrollBar","noImportant","passiveSupported","options","nonPassive","alwaysContainsScroll","elementCanBeScrolled","overflow","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","axis","current","isScrollable","elementCouldBeScrolled","getScrollVariables","scrollHeight","clientHeight","getVScrollVariables","scrollTop","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","direction","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll","parent_1","getTouchXY","getDeltaXY","extractRef","deltaCompare","y","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","__spreadArray","el","shouldCancelEvent","parent","touch","touchStart","deltaX","deltaY","currentAxis","moveDirection","selection","anchorNode","isTouchingSelection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","sourceEvent","e","shardNodes","shouldStop","shouldCancel","should","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","inst","shadowParent","exportSidecar","ReactRemoveScroll","DIALOG_NAME","createDialogContext","DialogProvider","useDialogContext","Dialog","__scopeDialog","openProp","defaultOpen","onOpenChange","modal","triggerRef","contentRef","open","setOpen","prevOpen","TRIGGER_NAME","DialogTrigger","triggerProps","composedTriggerRef","getState","PortalProvider","usePortalContext","DialogPortal","forceMount","PortalPrimitive","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","content","hideOthers","DialogContentImpl","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","trapFocus","onOpenAutoFocus","onCloseAutoFocus","jsxs","Fragment","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","titleId","titleWarningContext","MESSAGE","DESCRIPTION_WARNING_NAME","descriptionId","describedById","Root","Overlay","Content","Title","Description","Close"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/forge/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/forge/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/forge/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/forge/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/forge/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/forge/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/forge/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/forge/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/forge/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/forge/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/forge/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/forge/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/forge/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/forge/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/forge/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/forge/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/forge/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|