@telegraph/modal 0.0.59 → 0.0.61
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/CHANGELOG.md +17 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.mjs +243 -258
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @telegraph/modal
|
|
2
2
|
|
|
3
|
+
## 0.0.61
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`67e54c0`](https://github.com/knocklabs/telegraph/commit/67e54c0aa06281579cdfb62f7ceb5792cba02b1c)]:
|
|
8
|
+
- @telegraph/button@0.0.60
|
|
9
|
+
|
|
10
|
+
## 0.0.60
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`648fbc6`](https://github.com/knocklabs/telegraph/commit/648fbc6182350be7734a9524d4cbee549d9372af)]:
|
|
15
|
+
- @telegraph/style-engine@0.1.3
|
|
16
|
+
- @telegraph/button@0.0.59
|
|
17
|
+
- @telegraph/layout@0.1.5
|
|
18
|
+
- @telegraph/icon@0.0.39
|
|
19
|
+
|
|
3
20
|
## 0.0.59
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),Z=require("@radix-ui/react-dialog"),g=require("react"),G=require("react-dom"),J=require("@radix-ui/react-focus-scope"),Q=require("@radix-ui/react-portal"),ee=require("@radix-ui/react-visually-hidden"),te=require("@telegraph/button"),ne=require("@telegraph/helpers"),re=require("@telegraph/icon"),m=require("@telegraph/layout"),O=require("framer-motion");function C(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const E=C(Z),o=C(g),se=C(G),oe=C(Q),ie=C(ee);function D(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function ae(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function ce(...e){return t=>e.forEach(n=>ae(n,t))}var A=o.forwardRef((e,t)=>{const{children:n,...r}=e,s=o.Children.toArray(n),i=s.find(ue);if(i){const a=i.props.children,c=s.map(p=>p===i?o.Children.count(a)>1?o.Children.only(null):o.isValidElement(a)?a.props.children:null:p);return d.jsx(T,{...r,ref:t,children:o.isValidElement(a)?o.cloneElement(a,void 0,c):null})}return d.jsx(T,{...r,ref:t,children:n})});A.displayName="Slot";var T=o.forwardRef((e,t)=>{const{children:n,...r}=e;if(o.isValidElement(n)){const s=fe(n);return o.cloneElement(n,{...de(r,n.props),ref:t?ce(t,s):s})}return o.Children.count(n)>1?o.Children.only(null):null});T.displayName="SlotClone";var le=({children:e})=>d.jsx(d.Fragment,{children:e});function ue(e){return o.isValidElement(e)&&e.type===le}function de(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...c)=>{i(...c),s(...c)}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function fe(e){var r,s;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=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var pe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],q=pe.reduce((e,t)=>{const n=o.forwardRef((r,s)=>{const{asChild:i,...a}=r,c=i?A:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...a,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function ye(e,t){e&&se.flushSync(()=>e.dispatchEvent(t))}function he(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function ve(...e){return t=>e.forEach(n=>he(n,t))}function I(...e){return o.useCallback(ve(...e),e)}function B(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function me(e,t=globalThis==null?void 0:globalThis.document){const n=B(e);o.useEffect(()=>{const r=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var ge="DismissableLayer",k="dismissableLayer.update",Ee="dismissableLayer.pointerDownOutside",be="dismissableLayer.focusOutside",_,$=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),z=o.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:a,onDismiss:c,...p}=e,l=o.useContext($),[u,y]=o.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=o.useState({}),b=I(t,f=>y(f)),x=Array.from(l.layers),[P]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),v=x.indexOf(P),w=u?x.indexOf(u):-1,L=l.layersWithOutsidePointerEventsDisabled.size>0,M=w>=v,Y=Pe(f=>{const R=f.target,W=[...l.branches].some(S=>S.contains(R));!M||W||(s==null||s(f),a==null||a(f),f.defaultPrevented||c==null||c())},h),N=Le(f=>{const R=f.target;[...l.branches].some(S=>S.contains(R))||(i==null||i(f),a==null||a(f),f.defaultPrevented||c==null||c())},h);return me(f=>{w===l.layers.size-1&&(r==null||r(f),!f.defaultPrevented&&c&&(f.preventDefault(),c()))},h),o.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(_=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),F(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=_)}},[u,h,n,l]),o.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),F())},[u,l]),o.useEffect(()=>{const f=()=>j({});return document.addEventListener(k,f),()=>document.removeEventListener(k,f)},[]),d.jsx(q.div,{...p,ref:b,style:{pointerEvents:L?M?"auto":"none":void 0,...e.style},onFocusCapture:D(e.onFocusCapture,N.onFocusCapture),onBlurCapture:D(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:D(e.onPointerDownCapture,Y.onPointerDownCapture)})});z.displayName=ge;var xe="DismissableLayerBranch",Ce=o.forwardRef((e,t)=>{const n=o.useContext($),r=o.useRef(null),s=I(t,r);return o.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),d.jsx(q.div,{...e,ref:s})});Ce.displayName=xe;function Pe(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=o.useRef(!1),s=o.useRef(()=>{});return o.useEffect(()=>{const i=c=>{if(c.target&&!r.current){let p=function(){U(Ee,n,l,{discrete:!0})};const l={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=p,t.addEventListener("click",s.current,{once:!0})):p()}else t.removeEventListener("click",s.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",s.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Le(e,t=globalThis==null?void 0:globalThis.document){const n=B(e),r=o.useRef(!1);return o.useEffect(()=>{const s=i=>{i.target&&!r.current&&U(be,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function F(){const e=new CustomEvent(k);document.dispatchEvent(e)}function U(e,t,n,{discrete:r}){const s=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?ye(s,i):s.dispatchEvent(i)}function V(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function Re({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=Oe({defaultProp:t,onChange:n}),i=e!==void 0,a=i?e:r,c=V(n),p=o.useCallback(l=>{if(i){const y=typeof l=="function"?l(e):l;y!==e&&c(y)}else s(l)},[i,e,s,c]);return[a,p]}function Oe({defaultProp:e,onChange:t}){const n=o.useState(e),[r]=n,s=o.useRef(r),i=V(t);return o.useEffect(()=>{s.current!==r&&(i(r),s.current=r)},[r,s,i]),n}const K=g.createContext({layers:[],setLayers:()=>{},addLayer:()=>{},removeLayer:()=>{},removeTopLayer:()=>{}}),je=({children:e})=>{const[t,n]=g.useState([]),r=a=>{n(c=>[...c,a])},s=a=>{n(t.filter(c=>c!==a))},i=()=>{const a=t[t.length-1];a&&s(a)};return d.jsx(K.Provider,{value:{layers:t,setLayers:n,addLayer:r,removeLayer:s,removeTopLayer:i},children:e})},H=()=>g.useContext(K),we=({defaultOpen:e,open:t,onOpenChange:n,...r})=>{const[s,i]=Re({prop:t,onChange:n,defaultProp:e}),a=H(),c=r.a11yTitle;if(g.useEffect(()=>{!s&&a.layers.includes(c)&&a.removeLayer(c)},[c,a,s]),!!s)return d.jsx(Se,{open:s,onOpenChange:i,...r})},Se=({open:e,onOpenChange:t,a11yTitle:n,a11yDescription:r,children:s,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:c,...p})=>{var x,P;const l=n,u=H();g.useEffect(()=>{!u||!e||u.layers.includes(l)||u.addLayer(l)},[l,u,e]);const y=((x=u.layers)==null?void 0:x.indexOf(l))||0,h=((P=u.layers)==null?void 0:P.length)||0,j=y!==0,b=l===u.layers[u.layers.length-1];return d.jsx(z,{onEscapeKeyDown:v=>{b&&(v.preventDefault(),u.removeTopLayer(),t(!1))},onPointerDownOutside:v=>{b&&(v.preventDefault(),u.removeTopLayer(),t(!1))},children:d.jsxs(E.Root,{open:e,onOpenChange:v=>{var L;if(((L=u==null?void 0:u.layers)==null?void 0:L.length)>0)return v===!1&&l===u.layers[u.layers.length-1]?(u.removeLayer(l),t(!1)):void 0;t(v)},children:[d.jsxs(ie.Root,{children:[d.jsx(E.Title,{children:n}),r&&d.jsx(E.Description,{children:r})]}),d.jsx(O.AnimatePresence,{children:e&&d.jsx(oe.Root,{className:"tgph",children:d.jsx(De,{layer:y,children:d.jsx(J.FocusScope,{trapped:typeof i=="boolean"?i:b,onMountAutoFocus:a,onUnmountAutoFocus:c,asChild:!0,children:d.jsx(ne.RefToTgphRef,{children:d.jsx(m.Stack,{as:O.motion.div,initial:{top:`calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${h-1})`},animate:{top:j?`calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${y} )`:"var(--tgph-spacing-16)"},exit:{top:0},transition:{type:"spring",duration:.3,bounce:0},w:"full",justify:"center",style:{position:"fixed",left:0,maxHeight:"calc(100vh - var(--tgph-spacing-32))",maxWidth:"calc(100vw - var(--tgph-spacing-8))",zIndex:`calc(var(--tgph-zIndex-modal) + ${y})`},children:d.jsx(m.Stack,{direction:"column",as:O.motion.div,animate:{scale:1.02-Math.abs(h-y)*.02,transformOrigin:"center center"},transition:{duration:.2,bounce:0,type:"spring"},maxW:p.maxW??"160",w:p.w??"full",bg:"surface-1",border:"px",rounded:"4",shadow:"3",...p,children:s},`content-${l}`)},`container-${l}`)})})})})})]},l)})},De=({layer:e,children:t})=>e>0?t:d.jsxs(E.Overlay,{children:[d.jsx(m.Box,{as:O.motion.div,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3,bounce:0,type:"spring"},bg:"alpha-black-6",w:"full",h:"full",zIndex:"overlay",style:{position:"fixed",cursor:"pointer",inset:"0px"}}),t]}),Te=g.forwardRef(({children:e,...t},n)=>d.jsx(E.Content,{ref:n,asChild:!0,...t,children:d.jsx(m.Stack,{direction:"column",h:"full",...t,children:e})})),ke=({size:e="1",variant:t="ghost",...n})=>d.jsx(E.Close,{asChild:!0,children:d.jsx(te.Button,{icon:{icon:re.Lucide.X,alt:"Close Modal"},variant:t,size:e,...n})}),Be=({style:e,children:t,...n})=>d.jsx(m.Stack,{direction:"column",px:"6",py:"4",style:{overflowY:"auto",...e},...n,children:t}),Me=({children:e,...t})=>d.jsx(m.Stack,{direction:"row",justify:"space-between",align:"center",px:"6",py:"4",borderBottom:"px",...t,children:e}),Ne=({children:e,...t})=>d.jsx(m.Stack,{direction:"row",align:"center",justify:"flex-end",gap:"2",px:"6",py:"4",borderTop:"px",...t,children:e}),X={};Object.assign(X,{Root:we,Content:Te,Close:ke,Body:Be,Header:Me,Footer:Ne});exports.Modal=X;exports.ModalStackingProvider=je;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),Z=require("@radix-ui/react-dialog"),g=require("react"),G=require("react-dom"),J=require("@radix-ui/react-focus-scope"),Q=require("@radix-ui/react-portal"),ee=require("@radix-ui/react-visually-hidden"),te=require("@telegraph/button"),ne=require("@telegraph/helpers"),re=require("@telegraph/icon"),m=require("@telegraph/layout"),w=require("framer-motion");function C(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const b=C(Z),i=C(g),se=C(G),oe=C(Q),ie=C(ee);function T(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function ae(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function A(...e){return t=>e.forEach(n=>ae(n,t))}function q(...e){return i.useCallback(A(...e),e)}var I=i.forwardRef((e,t)=>{const{children:n,...r}=e,s=i.Children.toArray(n),o=s.find(le);if(o){const a=o.props.children,c=s.map(p=>p===o?i.Children.count(a)>1?i.Children.only(null):i.isValidElement(a)?a.props.children:null:p);return d.jsx(k,{...r,ref:t,children:i.isValidElement(a)?i.cloneElement(a,void 0,c):null})}return d.jsx(k,{...r,ref:t,children:n})});I.displayName="Slot";var k=i.forwardRef((e,t)=>{const{children:n,...r}=e;if(i.isValidElement(n)){const s=de(n);return i.cloneElement(n,{...ue(r,n.props),ref:t?A(t,s):s})}return i.Children.count(n)>1?i.Children.only(null):null});k.displayName="SlotClone";var ce=({children:e})=>d.jsx(d.Fragment,{children:e});function le(e){return i.isValidElement(e)&&e.type===ce}function ue(e,t){const n={...t};for(const r in t){const s=e[r],o=t[r];/^on[A-Z]/.test(r)?s&&o?n[r]=(...c)=>{o(...c),s(...c)}:s&&(n[r]=s):r==="style"?n[r]={...s,...o}:r==="className"&&(n[r]=[s,o].filter(Boolean).join(" "))}return{...e,...n}}function de(e){var r,s;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=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var fe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],z=fe.reduce((e,t)=>{const n=i.forwardRef((r,s)=>{const{asChild:o,...a}=r,c=o?I:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...a,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function pe(e,t){e&&se.flushSync(()=>e.dispatchEvent(t))}function P(e){const t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function ye(e,t=globalThis==null?void 0:globalThis.document){const n=P(e);i.useEffect(()=>{const r=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var he="DismissableLayer",B="dismissableLayer.update",ve="dismissableLayer.pointerDownOutside",me="dismissableLayer.focusOutside",M,U=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),V=i.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:o,onInteractOutside:a,onDismiss:c,...p}=e,l=i.useContext(U),[u,y]=i.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,R]=i.useState({}),E=q(t,f=>y(f)),x=Array.from(l.layers),[L]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),v=x.indexOf(L),S=u?x.indexOf(u):-1,O=l.layersWithOutsidePointerEventsDisabled.size>0,N=S>=v,Y=Ee(f=>{const j=f.target,_=[...l.branches].some(D=>D.contains(j));!N||_||(s==null||s(f),a==null||a(f),f.defaultPrevented||c==null||c())},h),W=xe(f=>{const j=f.target;[...l.branches].some(D=>D.contains(j))||(o==null||o(f),a==null||a(f),f.defaultPrevented||c==null||c())},h);return ye(f=>{S===l.layers.size-1&&(r==null||r(f),!f.defaultPrevented&&c&&(f.preventDefault(),c()))},h),i.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(M=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),F(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=M)}},[u,h,n,l]),i.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),F())},[u,l]),i.useEffect(()=>{const f=()=>R({});return document.addEventListener(B,f),()=>document.removeEventListener(B,f)},[]),d.jsx(z.div,{...p,ref:E,style:{pointerEvents:O?N?"auto":"none":void 0,...e.style},onFocusCapture:T(e.onFocusCapture,W.onFocusCapture),onBlurCapture:T(e.onBlurCapture,W.onBlurCapture),onPointerDownCapture:T(e.onPointerDownCapture,Y.onPointerDownCapture)})});V.displayName=he;var ge="DismissableLayerBranch",be=i.forwardRef((e,t)=>{const n=i.useContext(U),r=i.useRef(null),s=q(t,r);return i.useEffect(()=>{const o=r.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),d.jsx(z.div,{...e,ref:s})});be.displayName=ge;function Ee(e,t=globalThis==null?void 0:globalThis.document){const n=P(e),r=i.useRef(!1),s=i.useRef(()=>{});return i.useEffect(()=>{const o=c=>{if(c.target&&!r.current){let p=function(){$(ve,n,l,{discrete:!0})};const l={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=p,t.addEventListener("click",s.current,{once:!0})):p()}else t.removeEventListener("click",s.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",s.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function xe(e,t=globalThis==null?void 0:globalThis.document){const n=P(e),r=i.useRef(!1);return i.useEffect(()=>{const s=o=>{o.target&&!r.current&&$(me,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function F(){const e=new CustomEvent(B);document.dispatchEvent(e)}function $(e,t,n,{discrete:r}){const s=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?pe(s,o):s.dispatchEvent(o)}function Ce({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=Pe({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,c=P(n),p=i.useCallback(l=>{if(o){const y=typeof l=="function"?l(e):l;y!==e&&c(y)}else s(l)},[o,e,s,c]);return[a,p]}function Pe({defaultProp:e,onChange:t}){const n=i.useState(e),[r]=n,s=i.useRef(r),o=P(t);return i.useEffect(()=>{s.current!==r&&(o(r),s.current=r)},[r,s,o]),n}const K=g.createContext({layers:[],setLayers:()=>{},addLayer:()=>{},removeLayer:()=>{},removeTopLayer:()=>{}}),Le=({children:e})=>{const[t,n]=g.useState([]),r=a=>{n(c=>[...c,a])},s=a=>{n(t.filter(c=>c!==a))},o=()=>{const a=t[t.length-1];a&&s(a)};return d.jsx(K.Provider,{value:{layers:t,setLayers:n,addLayer:r,removeLayer:s,removeTopLayer:o},children:e})},H=()=>g.useContext(K),Oe=({defaultOpen:e,open:t,onOpenChange:n,...r})=>{const[s,o]=Ce({prop:t,onChange:n,defaultProp:e}),a=H(),c=r.a11yTitle;if(g.useEffect(()=>{!s&&a.layers.includes(c)&&a.removeLayer(c)},[c,a,s]),!!s)return d.jsx(je,{open:s,onOpenChange:o,...r})},je=({open:e,onOpenChange:t,a11yTitle:n,a11yDescription:r,children:s,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:c,...p})=>{var x,L;const l=n,u=H();g.useEffect(()=>{!u||!e||u.layers.includes(l)||u.addLayer(l)},[l,u,e]);const y=((x=u.layers)==null?void 0:x.indexOf(l))||0,h=((L=u.layers)==null?void 0:L.length)||0,R=y!==0,E=l===u.layers[u.layers.length-1];return d.jsx(V,{onEscapeKeyDown:v=>{E&&(v.preventDefault(),u.removeTopLayer(),t(!1))},onPointerDownOutside:v=>{E&&(v.preventDefault(),u.removeTopLayer(),t(!1))},children:d.jsxs(b.Root,{open:e,onOpenChange:v=>{var O;if(((O=u==null?void 0:u.layers)==null?void 0:O.length)>0)return v===!1&&l===u.layers[u.layers.length-1]?(u.removeLayer(l),t(!1)):void 0;t(v)},children:[d.jsxs(ie.Root,{children:[d.jsx(b.Title,{children:n}),r&&d.jsx(b.Description,{children:r})]}),d.jsx(w.AnimatePresence,{children:e&&d.jsx(oe.Root,{className:"tgph",children:d.jsx(we,{layer:y,children:d.jsx(J.FocusScope,{trapped:typeof o=="boolean"?o:E,onMountAutoFocus:a,onUnmountAutoFocus:c,asChild:!0,children:d.jsx(ne.RefToTgphRef,{children:d.jsx(m.Stack,{as:w.motion.div,initial:{top:`calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${h-1})`},animate:{top:R?`calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${y} )`:"var(--tgph-spacing-16)"},exit:{top:0},transition:{type:"spring",duration:.3,bounce:0},w:"full",justify:"center",style:{position:"fixed",left:0,maxHeight:"calc(100vh - var(--tgph-spacing-32))",maxWidth:"calc(100vw - var(--tgph-spacing-8))",zIndex:`calc(var(--tgph-zIndex-modal) + ${y})`},children:d.jsx(m.Stack,{direction:"column",as:w.motion.div,animate:{scale:1.02-Math.abs(h-y)*.02,transformOrigin:"center center"},transition:{duration:.2,bounce:0,type:"spring"},maxW:p.maxW??"160",w:p.w??"full",bg:"surface-1",border:"px",rounded:"4",shadow:"3",...p,children:s},`content-${l}`)},`container-${l}`)})})})})})]},l)})},we=({layer:e,children:t})=>e>0?t:d.jsxs(b.Overlay,{children:[d.jsx(m.Box,{as:w.motion.div,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3,bounce:0,type:"spring"},bg:"alpha-black-6",w:"full",h:"full",zIndex:"overlay",style:{position:"fixed",cursor:"pointer",inset:"0px"}}),t]}),Re=g.forwardRef(({children:e,...t},n)=>d.jsx(b.Content,{ref:n,asChild:!0,...t,children:d.jsx(m.Stack,{direction:"column",h:"full",...t,children:e})})),Se=({size:e="1",variant:t="ghost",...n})=>d.jsx(b.Close,{asChild:!0,children:d.jsx(te.Button,{icon:{icon:re.Lucide.X,alt:"Close Modal"},variant:t,size:e,...n})}),De=({style:e,children:t,...n})=>d.jsx(m.Stack,{direction:"column",px:"6",py:"4",style:{overflowY:"auto",...e},...n,children:t}),Te=({children:e,...t})=>d.jsx(m.Stack,{direction:"row",justify:"space-between",align:"center",px:"6",py:"4",borderBottom:"px",...t,children:e}),ke=({children:e,...t})=>d.jsx(m.Stack,{direction:"row",align:"center",justify:"flex-end",gap:"2",px:"6",py:"4",borderTop:"px",...t,children:e}),X={};Object.assign(X,{Root:Oe,Content:Re,Close:Se,Body:De,Header:Te,Footer:ke});exports.Modal=X;exports.ModalStackingProvider=Le;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-dismissable-layer/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-use-controllable-state/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../src/Modal/ModalStacking.tsx","../../src/Modal/Modal.tsx"],"sourcesContent":["// packages/core/primitive/src/primitive.tsx\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}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\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/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = 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});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\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 childPropValue(...args);\n slotPropValue(...args);\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}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } 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 \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((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/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\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/use-callback-ref/src/useCallbackRef.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/useEscapeKeydown.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// packages/react/dismissable-layer/src/DismissableLayer.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","// packages/react/use-callback-ref/src/useCallbackRef.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-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","import React from \"react\";\n\nconst ModalStackingContext = React.createContext<{\n layers: Array<string>;\n setLayers: React.Dispatch<React.SetStateAction<Array<string>>>;\n addLayer: (id: string) => void;\n removeLayer: (id: string) => void;\n removeTopLayer: () => void;\n}>({\n layers: [],\n setLayers: () => {},\n addLayer: () => {},\n removeLayer: () => {},\n removeTopLayer: () => {},\n});\n\ntype ModalStackingProviderProps = {\n children: React.ReactNode;\n};\n\nconst ModalStackingProvider = ({ children }: ModalStackingProviderProps) => {\n const [layers, setLayers] = React.useState<Array<string>>([]);\n\n const addLayer = (id: string) => {\n setLayers((current) => [...current, id]);\n };\n\n const removeLayer = (id: string) => {\n setLayers(layers.filter((layer) => layer !== id));\n };\n\n const removeTopLayer = () => {\n const id = layers[layers.length - 1];\n if (!id) return;\n removeLayer(id);\n };\n\n return (\n <ModalStackingContext.Provider\n value={{ layers, setLayers, addLayer, removeLayer, removeTopLayer }}\n >\n {children}\n </ModalStackingContext.Provider>\n );\n};\n\nconst useModalStacking = () => {\n return React.useContext(ModalStackingContext);\n};\n\nexport { ModalStackingProvider, useModalStacking };\n","import * as Dialog from \"@radix-ui/react-dialog\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport * as Portal from \"@radix-ui/react-portal\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button } from \"@telegraph/button\";\nimport { RefToTgphRef } from \"@telegraph/helpers\";\nimport type {\n PolymorphicProps,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide } from \"@telegraph/icon\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { useModalStacking } from \"./ModalStacking\";\n\ntype RootProps = Omit<\n React.ComponentPropsWithoutRef<typeof Dialog.Root>,\n \"modal\"\n> &\n React.ComponentPropsWithoutRef<typeof FocusScope> &\n TgphComponentProps<typeof Stack> & {\n a11yTitle: string;\n a11yDescription?: string;\n layer?: number;\n };\n\nconst Root = ({\n defaultOpen: defaultOpenProp,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n ...props\n}: RootProps) => {\n const [open, onOpenChange] = useControllableState({\n prop: openProp,\n onChange: onOpenChangeProp,\n defaultProp: defaultOpenProp,\n });\n\n const stacking = useModalStacking();\n const id = props.a11yTitle;\n\n React.useEffect(() => {\n if (!open && stacking.layers.includes(id)) {\n stacking.removeLayer(id);\n }\n }, [id, stacking, open]);\n\n // Prevent rendering anything within the modal if it is not open\n if (!open) return;\n\n return <RootComponent open={open} onOpenChange={onOpenChange} {...props} />;\n};\n\ntype RootComponentProps = RootProps & {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n};\n\nconst RootComponent = ({\n open,\n onOpenChange,\n a11yTitle,\n a11yDescription,\n children,\n // Focus scope props\n trapped,\n onMountAutoFocus,\n onUnmountAutoFocus,\n ...props\n}: RootComponentProps) => {\n // We use the a11yTitle as the id for the modal as it is unique\n // and can be used to identify the modal in the stacking context.\n // Without the need to generate a random id and manage between\n // different modal rendering patterns.\n const id = a11yTitle;\n const stacking = useModalStacking();\n React.useEffect(() => {\n if (!stacking || !open || stacking.layers.includes(id)) return;\n stacking.addLayer(id);\n }, [id, stacking, open]);\n\n const layer = stacking.layers?.indexOf(id) || 0;\n const layersLength = stacking.layers?.length || 0;\n const isStacked = layer !== 0;\n const isTopLayer = id === stacking.layers[stacking.layers.length - 1];\n\n return (\n <DismissableLayer\n onEscapeKeyDown={(event) => {\n if (!isTopLayer) return;\n event.preventDefault();\n stacking.removeTopLayer();\n onOpenChange(false);\n }}\n onPointerDownOutside={(event) => {\n if (!isTopLayer) return;\n event.preventDefault();\n stacking.removeTopLayer();\n onOpenChange(false);\n }}\n >\n <Dialog.Root\n open={open}\n onOpenChange={(value) => {\n const hasLayers = stacking?.layers?.length > 0;\n\n if (hasLayers) {\n if (\n value === false &&\n id === stacking.layers[stacking.layers.length - 1]\n ) {\n stacking.removeLayer(id);\n return onOpenChange(false);\n }\n // If the modal is not the top layer, do not call onOpenChange\n // when we are stacking the modals\n return;\n }\n\n onOpenChange(value);\n }}\n key={id}\n >\n <VisuallyHidden.Root>\n <Dialog.Title>{a11yTitle}</Dialog.Title>\n {a11yDescription && (\n <Dialog.Description>{a11yDescription}</Dialog.Description>\n )}\n </VisuallyHidden.Root>\n <AnimatePresence>\n {open && (\n // We add the className \"tgph\" here so that styles within\n // the portal get scoped properly to telegraph\n <Portal.Root className=\"tgph\">\n <Overlay layer={layer}>\n <FocusScope\n trapped={typeof trapped === \"boolean\" ? trapped : isTopLayer}\n onMountAutoFocus={onMountAutoFocus}\n onUnmountAutoFocus={onUnmountAutoFocus}\n asChild\n >\n <RefToTgphRef>\n <Stack\n as={motion.div}\n initial={{\n top: `calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${layersLength - 1})`,\n }}\n animate={{\n top: isStacked\n ? `calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${layer} )`\n : \"var(--tgph-spacing-16)\",\n }}\n exit={{ top: 0 }}\n transition={{ type: \"spring\", duration: 0.3, bounce: 0 }}\n w=\"full\"\n justify=\"center\"\n style={{\n position: \"fixed\",\n left: 0,\n maxHeight: \"calc(100vh - var(--tgph-spacing-32))\",\n maxWidth: \"calc(100vw - var(--tgph-spacing-8))\",\n zIndex: `calc(var(--tgph-zIndex-modal) + ${layer})`,\n }}\n key={`container-${id}`}\n >\n <Stack\n direction=\"column\"\n as={motion.div}\n animate={{\n scale: 1.02 - Math.abs(layersLength - layer) * 0.02,\n transformOrigin: \"center center\",\n }}\n transition={{\n duration: 0.2,\n bounce: 0,\n type: \"spring\",\n }}\n maxW={props.maxW ?? \"160\"}\n w={props.w ?? \"full\"}\n bg=\"surface-1\"\n border=\"px\"\n rounded=\"4\"\n shadow=\"3\"\n key={`content-${id}`}\n {...props}\n >\n {children}\n </Stack>\n </Stack>\n </RefToTgphRef>\n </FocusScope>\n </Overlay>\n </Portal.Root>\n )}\n </AnimatePresence>\n </Dialog.Root>\n </DismissableLayer>\n );\n};\n\ntype OverlayProps = TgphComponentProps<typeof Box> & {\n layer: number;\n};\n\nconst Overlay = ({ layer, children }: OverlayProps) => {\n // If the layer is greater than 0, we don't want to show this\n // overlay as to not stack the overlays on top of each other.\n if (layer > 0) return children;\n return (\n <Dialog.Overlay>\n <Box\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3, bounce: 0, type: \"spring\" }}\n bg=\"alpha-black-6\"\n w=\"full\"\n h=\"full\"\n zIndex=\"overlay\"\n style={{\n position: \"fixed\",\n cursor: \"pointer\",\n inset: \"0px\",\n }}\n />\n {children}\n </Dialog.Overlay>\n );\n};\n\ntype ContentProps = React.ComponentPropsWithoutRef<typeof Dialog.Content> &\n TgphComponentProps<typeof Stack>;\ntype ContentRef = React.ElementRef<typeof Dialog.Content>;\n\nconst Content = React.forwardRef<ContentRef, ContentProps>(\n ({ children, ...props }, forwardedRef) => {\n return (\n <Dialog.Content ref={forwardedRef} asChild {...props}>\n <Stack direction=\"column\" h=\"full\" {...props}>\n {children}\n </Stack>\n </Dialog.Content>\n );\n },\n);\n\ntype CloseProps<T extends TgphElement> = TgphComponentProps<typeof Button<T>> &\n Omit<React.ComponentPropsWithoutRef<typeof Dialog.Close>, \"color\">;\nconst Close = <T extends TgphElement>({\n size = \"1\",\n variant = \"ghost\",\n ...props\n}: CloseProps<T>) => {\n return (\n <Dialog.Close asChild>\n <Button\n icon={{ icon: Lucide.X, alt: \"Close Modal\" }}\n variant={variant}\n size={size}\n {...props}\n />\n </Dialog.Close>\n );\n};\n\ntype BodyProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Body = <T extends TgphElement>({\n style,\n children,\n ...props\n}: BodyProps<T>) => {\n return (\n <Stack\n direction=\"column\"\n px=\"6\"\n py=\"4\"\n style={{\n overflowY: \"auto\",\n ...style,\n }}\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\ntype HeaderProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Header = <T extends TgphElement>({\n children,\n ...props\n}: HeaderProps<T>) => {\n return (\n <Stack\n direction=\"row\"\n justify=\"space-between\"\n align=\"center\"\n px=\"6\"\n py=\"4\"\n borderBottom=\"px\"\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\ntype FooterProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Footer = <T extends TgphElement>({\n children,\n ...props\n}: FooterProps<T>) => {\n return (\n <Stack\n direction=\"row\"\n align=\"center\"\n justify=\"flex-end\"\n gap=\"2\"\n px=\"6\"\n py=\"4\"\n borderTop=\"px\"\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\nconst Modal = {} as {\n Root: typeof Root;\n Content: typeof Content;\n Close: typeof Close;\n Body: typeof Body;\n Header: typeof Header;\n Footer: typeof Footer;\n};\n\nObject.assign(Modal, {\n Root,\n Content,\n Close,\n Body,\n Header,\n Footer,\n});\n\nexport { Modal };\n"],"names":["composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","Slot","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","SlotClone","childrenRef","getElementRef","mergeProps","Slottable","Fragment","childProps","overrideProps","propName","slotPropValue","childPropValue","args","element","getter","_a","mayWarn","_b","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","useComposedRefs","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","context","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","index","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","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","ModalStackingContext","ModalStackingProvider","setLayers","addLayer","id","current","removeLayer","layer","removeTopLayer","useModalStacking","Root","defaultOpenProp","openProp","onOpenChangeProp","open","onOpenChange","stacking","RootComponent","a11yTitle","a11yDescription","trapped","onMountAutoFocus","onUnmountAutoFocus","layersLength","isStacked","isTopLayer","jsxs","Dialog","VisuallyHidden","AnimatePresence","Portal","Overlay","FocusScope","RefToTgphRef","Stack","motion","Box","Content","Close","size","variant","Button","Lucide","Body","style","Header","Footer","Modal"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.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-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-use-controllable-state/dist/index.mjs","../../src/Modal/ModalStacking.tsx","../../src/Modal/Modal.tsx"],"sourcesContent":["// packages/core/primitive/src/primitive.tsx\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}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\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/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = 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});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\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 childPropValue(...args);\n slotPropValue(...args);\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}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } 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 \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((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/useCallbackRef.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/useEscapeKeydown.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// packages/react/dismissable-layer/src/DismissableLayer.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","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","import React from \"react\";\n\nconst ModalStackingContext = React.createContext<{\n layers: Array<string>;\n setLayers: React.Dispatch<React.SetStateAction<Array<string>>>;\n addLayer: (id: string) => void;\n removeLayer: (id: string) => void;\n removeTopLayer: () => void;\n}>({\n layers: [],\n setLayers: () => {},\n addLayer: () => {},\n removeLayer: () => {},\n removeTopLayer: () => {},\n});\n\ntype ModalStackingProviderProps = {\n children: React.ReactNode;\n};\n\nconst ModalStackingProvider = ({ children }: ModalStackingProviderProps) => {\n const [layers, setLayers] = React.useState<Array<string>>([]);\n\n const addLayer = (id: string) => {\n setLayers((current) => [...current, id]);\n };\n\n const removeLayer = (id: string) => {\n setLayers(layers.filter((layer) => layer !== id));\n };\n\n const removeTopLayer = () => {\n const id = layers[layers.length - 1];\n if (!id) return;\n removeLayer(id);\n };\n\n return (\n <ModalStackingContext.Provider\n value={{ layers, setLayers, addLayer, removeLayer, removeTopLayer }}\n >\n {children}\n </ModalStackingContext.Provider>\n );\n};\n\nconst useModalStacking = () => {\n return React.useContext(ModalStackingContext);\n};\n\nexport { ModalStackingProvider, useModalStacking };\n","import * as Dialog from \"@radix-ui/react-dialog\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport * as Portal from \"@radix-ui/react-portal\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button } from \"@telegraph/button\";\nimport { RefToTgphRef } from \"@telegraph/helpers\";\nimport type {\n PolymorphicProps,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide } from \"@telegraph/icon\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { useModalStacking } from \"./ModalStacking\";\n\ntype RootProps = Omit<\n React.ComponentPropsWithoutRef<typeof Dialog.Root>,\n \"modal\"\n> &\n React.ComponentPropsWithoutRef<typeof FocusScope> &\n TgphComponentProps<typeof Stack> & {\n a11yTitle: string;\n a11yDescription?: string;\n layer?: number;\n };\n\nconst Root = ({\n defaultOpen: defaultOpenProp,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n ...props\n}: RootProps) => {\n const [open, onOpenChange] = useControllableState({\n prop: openProp,\n onChange: onOpenChangeProp,\n defaultProp: defaultOpenProp,\n });\n\n const stacking = useModalStacking();\n const id = props.a11yTitle;\n\n React.useEffect(() => {\n if (!open && stacking.layers.includes(id)) {\n stacking.removeLayer(id);\n }\n }, [id, stacking, open]);\n\n // Prevent rendering anything within the modal if it is not open\n if (!open) return;\n\n return <RootComponent open={open} onOpenChange={onOpenChange} {...props} />;\n};\n\ntype RootComponentProps = RootProps & {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n};\n\nconst RootComponent = ({\n open,\n onOpenChange,\n a11yTitle,\n a11yDescription,\n children,\n // Focus scope props\n trapped,\n onMountAutoFocus,\n onUnmountAutoFocus,\n ...props\n}: RootComponentProps) => {\n // We use the a11yTitle as the id for the modal as it is unique\n // and can be used to identify the modal in the stacking context.\n // Without the need to generate a random id and manage between\n // different modal rendering patterns.\n const id = a11yTitle;\n const stacking = useModalStacking();\n React.useEffect(() => {\n if (!stacking || !open || stacking.layers.includes(id)) return;\n stacking.addLayer(id);\n }, [id, stacking, open]);\n\n const layer = stacking.layers?.indexOf(id) || 0;\n const layersLength = stacking.layers?.length || 0;\n const isStacked = layer !== 0;\n const isTopLayer = id === stacking.layers[stacking.layers.length - 1];\n\n return (\n <DismissableLayer\n onEscapeKeyDown={(event) => {\n if (!isTopLayer) return;\n event.preventDefault();\n stacking.removeTopLayer();\n onOpenChange(false);\n }}\n onPointerDownOutside={(event) => {\n if (!isTopLayer) return;\n event.preventDefault();\n stacking.removeTopLayer();\n onOpenChange(false);\n }}\n >\n <Dialog.Root\n open={open}\n onOpenChange={(value) => {\n const hasLayers = stacking?.layers?.length > 0;\n\n if (hasLayers) {\n if (\n value === false &&\n id === stacking.layers[stacking.layers.length - 1]\n ) {\n stacking.removeLayer(id);\n return onOpenChange(false);\n }\n // If the modal is not the top layer, do not call onOpenChange\n // when we are stacking the modals\n return;\n }\n\n onOpenChange(value);\n }}\n key={id}\n >\n <VisuallyHidden.Root>\n <Dialog.Title>{a11yTitle}</Dialog.Title>\n {a11yDescription && (\n <Dialog.Description>{a11yDescription}</Dialog.Description>\n )}\n </VisuallyHidden.Root>\n <AnimatePresence>\n {open && (\n // We add the className \"tgph\" here so that styles within\n // the portal get scoped properly to telegraph\n <Portal.Root className=\"tgph\">\n <Overlay layer={layer}>\n <FocusScope\n trapped={typeof trapped === \"boolean\" ? trapped : isTopLayer}\n onMountAutoFocus={onMountAutoFocus}\n onUnmountAutoFocus={onUnmountAutoFocus}\n asChild\n >\n <RefToTgphRef>\n <Stack\n as={motion.div}\n initial={{\n top: `calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${layersLength - 1})`,\n }}\n animate={{\n top: isStacked\n ? `calc(var(--tgph-spacing-16) + var(--tgph-spacing-4) * ${layer} )`\n : \"var(--tgph-spacing-16)\",\n }}\n exit={{ top: 0 }}\n transition={{ type: \"spring\", duration: 0.3, bounce: 0 }}\n w=\"full\"\n justify=\"center\"\n style={{\n position: \"fixed\",\n left: 0,\n maxHeight: \"calc(100vh - var(--tgph-spacing-32))\",\n maxWidth: \"calc(100vw - var(--tgph-spacing-8))\",\n zIndex: `calc(var(--tgph-zIndex-modal) + ${layer})`,\n }}\n key={`container-${id}`}\n >\n <Stack\n direction=\"column\"\n as={motion.div}\n animate={{\n scale: 1.02 - Math.abs(layersLength - layer) * 0.02,\n transformOrigin: \"center center\",\n }}\n transition={{\n duration: 0.2,\n bounce: 0,\n type: \"spring\",\n }}\n maxW={props.maxW ?? \"160\"}\n w={props.w ?? \"full\"}\n bg=\"surface-1\"\n border=\"px\"\n rounded=\"4\"\n shadow=\"3\"\n key={`content-${id}`}\n {...props}\n >\n {children}\n </Stack>\n </Stack>\n </RefToTgphRef>\n </FocusScope>\n </Overlay>\n </Portal.Root>\n )}\n </AnimatePresence>\n </Dialog.Root>\n </DismissableLayer>\n );\n};\n\ntype OverlayProps = TgphComponentProps<typeof Box> & {\n layer: number;\n};\n\nconst Overlay = ({ layer, children }: OverlayProps) => {\n // If the layer is greater than 0, we don't want to show this\n // overlay as to not stack the overlays on top of each other.\n if (layer > 0) return children;\n return (\n <Dialog.Overlay>\n <Box\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3, bounce: 0, type: \"spring\" }}\n bg=\"alpha-black-6\"\n w=\"full\"\n h=\"full\"\n zIndex=\"overlay\"\n style={{\n position: \"fixed\",\n cursor: \"pointer\",\n inset: \"0px\",\n }}\n />\n {children}\n </Dialog.Overlay>\n );\n};\n\ntype ContentProps = React.ComponentPropsWithoutRef<typeof Dialog.Content> &\n TgphComponentProps<typeof Stack>;\ntype ContentRef = React.ElementRef<typeof Dialog.Content>;\n\nconst Content = React.forwardRef<ContentRef, ContentProps>(\n ({ children, ...props }, forwardedRef) => {\n return (\n <Dialog.Content ref={forwardedRef} asChild {...props}>\n <Stack direction=\"column\" h=\"full\" {...props}>\n {children}\n </Stack>\n </Dialog.Content>\n );\n },\n);\n\ntype CloseProps<T extends TgphElement> = TgphComponentProps<typeof Button<T>> &\n Omit<React.ComponentPropsWithoutRef<typeof Dialog.Close>, \"color\">;\nconst Close = <T extends TgphElement>({\n size = \"1\",\n variant = \"ghost\",\n ...props\n}: CloseProps<T>) => {\n return (\n <Dialog.Close asChild>\n <Button\n icon={{ icon: Lucide.X, alt: \"Close Modal\" }}\n variant={variant}\n size={size}\n {...props}\n />\n </Dialog.Close>\n );\n};\n\ntype BodyProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Body = <T extends TgphElement>({\n style,\n children,\n ...props\n}: BodyProps<T>) => {\n return (\n <Stack\n direction=\"column\"\n px=\"6\"\n py=\"4\"\n style={{\n overflowY: \"auto\",\n ...style,\n }}\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\ntype HeaderProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Header = <T extends TgphElement>({\n children,\n ...props\n}: HeaderProps<T>) => {\n return (\n <Stack\n direction=\"row\"\n justify=\"space-between\"\n align=\"center\"\n px=\"6\"\n py=\"4\"\n borderBottom=\"px\"\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\ntype FooterProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Stack>;\n\nconst Footer = <T extends TgphElement>({\n children,\n ...props\n}: FooterProps<T>) => {\n return (\n <Stack\n direction=\"row\"\n align=\"center\"\n justify=\"flex-end\"\n gap=\"2\"\n px=\"6\"\n py=\"4\"\n borderTop=\"px\"\n {...props}\n >\n {children}\n </Stack>\n );\n};\n\nconst Modal = {} as {\n Root: typeof Root;\n Content: typeof Content;\n Close: typeof Close;\n Body: typeof Body;\n Header: typeof Header;\n Footer: typeof Footer;\n};\n\nObject.assign(Modal, {\n Root,\n Content,\n Close,\n Body,\n Header,\n Footer,\n});\n\nexport { Modal };\n"],"names":["composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","useComposedRefs","React","Slot","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","SlotClone","childrenRef","getElementRef","mergeProps","Slottable","Fragment","childProps","overrideProps","propName","slotPropValue","childPropValue","args","element","getter","_a","mayWarn","_b","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","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","context","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","index","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","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","ModalStackingContext","ModalStackingProvider","setLayers","addLayer","id","current","removeLayer","layer","removeTopLayer","useModalStacking","Root","defaultOpenProp","openProp","onOpenChangeProp","open","onOpenChange","stacking","RootComponent","a11yTitle","a11yDescription","trapped","onMountAutoFocus","onUnmountAutoFocus","layersLength","isStacked","isTopLayer","jsxs","Dialog","VisuallyHidden","AnimatePresence","Portal","Overlay","FocusScope","RefToTgphRef","Stack","motion","Box","Content","Close","size","variant","Button","Lucide","Body","style","Header","Footer","Modal"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|