@radix-ui/react-menu
Advanced tools
Comparing version 0.0.13 to 0.0.14
@@ -1,2 +0,2 @@ | ||
function e(e,t,n){Object.defineProperty(e,t,{get:n,enumerable:!0})}var t,n=require("aria-hidden").hideOthers,r=require("react-remove-scroll").RemoveScroll,o=require("@radix-ui/react-focus-guards").useFocusGuards,u=require("@radix-ui/react-portal").Portal,a=require("@radix-ui/react-focus-scope").FocusScope,c=require("@radix-ui/react-dismissable-layer").DismissableLayer,s=require("@radix-ui/react-popper"),i=s.Root,l=s.Arrow,d=require("@radix-ui/react-roving-focus"),p=d.RovingFocusGroup,m=d.useRovingFocus,f=require("@radix-ui/react-primitive"),v=f.Primitive,h=f.extendPrimitive,x=require("@radix-ui/react-presence").Presence,M=require("@radix-ui/react-use-callback-ref").useCallbackRef,y=require("@radix-ui/react-context").createContext,C=require("@radix-ui/react-compose-refs"),b=C.composeRefs,w=C.useComposedRefs,D=require("@radix-ui/primitive").composeEventHandlers,I=require("react"),k=I.forwardRef,g=I.createElement,R=I.useRef,P=I.useState,F=I.useEffect,S=I.Fragment,q=I.createContext,A=I.useMemo,O=I.useContext,K=I.useCallback,E=(t=require("@babel/runtime/helpers/extends"))&&t.__esModule?t.default:t,G={};function L(){const e=R(0),t=R(""),n=K((r=>{t.current=r,window.clearTimeout(e.current),e.current=window.setTimeout((()=>n("")),1e3)}),[]);return{onKeyDownCapture:e=>{if(1===e.key.length&&!(e.ctrlKey||e.altKey||e.metaKey)){const r=e.currentTarget;n(t.current+e.key)," "!==e.key||t.current.startsWith(" ")||e.stopPropagation();const o=document.activeElement,u=o?N(o):void 0,a=function(e,t,n){const r=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,o=n?e.indexOf(n):-1;let u=(a=e,c=Math.max(o,0),a.map(((e,t)=>a[(c+t)%a.length])));var a,c;1===r.length&&(u=u.filter((e=>e!==n)));const s=u.find((e=>e.toLowerCase().startsWith(r.toLowerCase())));return s!==n?s:void 0}(Array.from(r.querySelectorAll(`[${T}]`)).map(N),t.current,u),c=r.querySelector(`[${T}="${a}"]`);c&&setTimeout((()=>c.focus()))}}}}const N=e=>{var t;return null!==(t=e.getAttribute(T))&&void 0!==t?t:""},T="data-radix-menu-typeahead-item";const V=["ArrowDown","PageUp","Home"],B=[...V,"ArrowUp","PageDown","End"],[U,$]=y("Menu"),H=k(((e,t)=>{const{forceMount:n,open:r=!1,...o}=e;return g(x,{present:n||r},g(W,E({"data-state":ue(r)},o,{ref:t,open:r})))}));exports.Menu=H;const W=k(((e,t)=>{const{open:s,onOpenChange:l,anchorRef:d,loop:m,trapFocus:f,onOpenAutoFocus:v,onCloseAutoFocus:h,disableOutsidePointerEvents:x,onEscapeKeyDown:y,onPointerDownOutside:C,onFocusOutside:w,onInteractOutside:I,onDismiss:k,disableOutsideScroll:q,portalled:A,...O}=e,K=M(l),G=R(null),[N,T]=P(0),[$,H]=P(!1),W=L();F((()=>{T($?-1:0)}),[$]);const[j,z]=P(!1),J=A?u:S,Q=q?r:S;return o(),F((()=>{const e=G.current;if(e)return n(e)}),[]),g(J,null,g(Q,null,g(U,{menuRef:G,onItemsReachableChange:H,onOpenChange:K},g(p,{reachable:$,onReachableChange:H,orientation:"vertical",loop:m},g(a,{trapped:!j&&(f&&s),onMountAutoFocus:v,onUnmountAutoFocus:e=>{j?e.preventDefault():null==h||h(e)}},(e=>g(c,{disableOutsidePointerEvents:x,onEscapeKeyDown:y,onPointerDownOutside:D(C,(e=>{const t=0===e.button&&!1===e.ctrlKey;z(!x&&t),e.defaultPrevented&&z(!1)}),{checkForDefaultPrevented:!1}),onFocusOutside:D(w,(e=>{f&&e.preventDefault()}),{checkForDefaultPrevented:!1}),onInteractOutside:I,onDismiss:k},(n=>g(i,E({role:"menu"},O,{ref:b(t,G,e.ref,n.ref),anchorRef:d,tabIndex:N,style:{...n.style,outline:"none",...O.style},onBlurCapture:D(O.onBlurCapture,n.onBlurCapture,{checkForDefaultPrevented:!1}),onFocusCapture:D(O.onFocusCapture,n.onFocusCapture,{checkForDefaultPrevented:!1}),onMouseDownCapture:D(O.onMouseDownCapture,n.onMouseDownCapture,{checkForDefaultPrevented:!1}),onTouchStartCapture:D(O.onTouchStartCapture,n.onTouchStartCapture,{checkForDefaultPrevented:!1}),onKeyDownCapture:D(O.onKeyDownCapture,W.onKeyDownCapture),onKeyDown:D(O.onKeyDown,(e=>{const t=G.current;if(e.target===t&&B.includes(e.key)){e.preventDefault();const n=Array.from(t.querySelectorAll(_)),r=V.includes(e.key)?n[0]:n.reverse()[0];null==r||r.focus()}}))}))))))))))}));H.displayName="Menu";const _="[data-radix-menu-item]:not([data-disabled])",j=k(((e,t)=>{const{disabled:n,textValue:r,onSelect:o,...u}=e,a=R(null),c=w(t,a),s=$("MenuItem"),i=m({disabled:n}),[l,d]=P("");F((()=>{const e=a.current;var t;e&&d((null!==(t=e.textContent)&&void 0!==t?t:"").trim())}),[u.children]);const p=function({textValue:e,disabled:t}){return{[T]:t?void 0:e}}({textValue:null!=r?r:l,disabled:n}),f=()=>{const e=a.current;if(!n&&e){var t;const n=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});if(e.dispatchEvent(n),n.defaultPrevented)return;null===(t=s.onOpenChange)||void 0===t||t.call(s,!1)}};return F((()=>{const e=a.current;if(e){const t=e=>null==o?void 0:o(e);return e.addEventListener("menu.itemSelect",t),()=>e.removeEventListener("menu.itemSelect",t)}}),[o]),g(v,E({role:"menuitem","aria-disabled":n||void 0},u,i,p,{"data-radix-menu-item":"",ref:c,"data-disabled":n?"":void 0,onFocus:D(u.onFocus,i.onFocus),onKeyDown:D(u.onKeyDown,D(i.onKeyDown,(e=>{n||"Enter"!==e.key&&" "!==e.key||f()}))),onMouseDown:D(u.onMouseDown,i.onMouseDown),onMouseUp:D(u.onMouseUp,f),onMouseMove:D(u.onMouseMove,(e=>{if(!n){e.currentTarget.focus()}})),onBlur:D(u.onBlur,(e=>{s.onItemsReachableChange(!1)})),onMouseLeave:D(u.onMouseLeave,(e=>{var t;null===(t=s.menuRef.current)||void 0===t||t.focus()}))}))}));exports.MenuItem=j,j.displayName="MenuItem";const z=k(((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return g(Z.Provider,{value:n},g(j,E({role:"menuitemcheckbox","aria-checked":n},o,{ref:t,"data-state":ae(n),onSelect:D(o.onSelect,(()=>null==r?void 0:r(!n)),{checkForDefaultPrevented:!1})})))}));exports.MenuCheckboxItem=z,z.displayName="MenuCheckboxItem";const J=q({}),Q=k(((e,t)=>{const{value:n,onValueChange:r,...o}=e,u=M(r),a=A((()=>({value:n,onValueChange:u})),[n,u]);return g(J.Provider,{value:a},g(te,E({},o,{ref:t})))}));exports.MenuRadioGroup=Q,Q.displayName="MenuRadioGroup";const X=k(((e,t)=>{const{value:n,...r}=e,o=O(J),u=n===o.value;return g(Z.Provider,{value:u},g(j,E({role:"menuitemradio","aria-checked":u},r,{ref:t,"data-state":ae(u),onSelect:D(r.onSelect,(()=>{var e;return null===(e=o.onValueChange)||void 0===e?void 0:e.call(o,n)}),{checkForDefaultPrevented:!1})})))}));exports.MenuRadioItem=X,X.displayName="MenuRadioItem";const Y="span",Z=q(!1),ee=k(((e,t)=>{const{as:n=Y,forceMount:r,...o}=e,u=O(Z);return g(x,{present:r||u},g(v,E({},o,{as:n,ref:t,"data-state":ae(u)})))}));exports.MenuItemIndicator=ee,ee.displayName="MenuItemIndicator";const te=h(v,{defaultProps:{role:"group"},displayName:"MenuGroup"});exports.MenuGroup=te;const ne=h(v,{displayName:"MenuLabel"});exports.MenuLabel=ne;const re=h(v,{defaultProps:{role:"separator","aria-orientation":"horizontal"},displayName:"MenuSeparator "});exports.MenuSeparator=re;const oe=h(l,{displayName:"MenuArrow"});function ue(e){return e?"open":"closed"}function ae(e){return e?"checked":"unchecked"}exports.MenuArrow=oe;const ce=H;exports.Root=ce;const se=te;exports.Group=se;const ie=ne;exports.Label=ie;const le=j;exports.Item=le;const de=z;exports.CheckboxItem=de;const pe=Q;exports.RadioGroup=pe;const me=X;exports.RadioItem=me;const fe=ee;exports.ItemIndicator=fe;const ve=re;exports.Separator=ve;const he=oe;exports.Arrow=he,e(G,"Arrow",(function(){return he})),e(G,"Separator",(function(){return ve})),e(G,"ItemIndicator",(function(){return fe})),e(G,"RadioItem",(function(){return me})),e(G,"RadioGroup",(function(){return pe})),e(G,"CheckboxItem",(function(){return de})),e(G,"Item",(function(){return le})),e(G,"Label",(function(){return ie})),e(G,"Group",(function(){return se})),e(G,"Root",(function(){return ce})),e(G,"MenuArrow",(function(){return oe})),e(G,"MenuSeparator",(function(){return re})),e(G,"MenuItemIndicator",(function(){return ee})),e(G,"MenuRadioItem",(function(){return X})),e(G,"MenuRadioGroup",(function(){return Q})),e(G,"MenuCheckboxItem",(function(){return z})),e(G,"MenuItem",(function(){return j})),e(G,"MenuLabel",(function(){return ne})),e(G,"MenuGroup",(function(){return te})),e(G,"Menu",(function(){return H})); | ||
var e,t=require("aria-hidden").hideOthers,r=require("react-remove-scroll").RemoveScroll,o=require("@radix-ui/react-focus-guards").useFocusGuards,n=require("@radix-ui/react-portal").Portal,a=require("@radix-ui/react-focus-scope").FocusScope,u=require("@radix-ui/react-dismissable-layer").DismissableLayer,c=D({},require("@radix-ui/react-popper")),s=require("@radix-ui/react-roving-focus"),i=s.RovingFocusGroup,l=s.useRovingFocus,d=require("@radix-ui/react-primitive"),p=d.Primitive,m=d.extendPrimitive,f=require("@radix-ui/react-presence").Presence,v=require("@radix-ui/react-use-callback-ref").useCallbackRef,x=require("@radix-ui/react-context").createContext,h=require("@radix-ui/react-compose-refs"),y=h.composeRefs,M=h.useComposedRefs,C=require("@radix-ui/primitive").composeEventHandlers,w=D({},require("react")),b=(e=require("@babel/runtime/helpers/extends"))&&e.__esModule?e.default:e;function D(e,t){return Object.keys(t).forEach((function(r){"default"!==r&&"__esModule"!==r&&Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),e}function E(){const e=w.useRef(0),t=w.useRef(""),r=w.useCallback((o=>{t.current=o,window.clearTimeout(e.current),e.current=window.setTimeout((()=>r("")),1e3)}),[]);return{onKeyDownCapture:e=>{if(1===e.key.length&&!(e.ctrlKey||e.altKey||e.metaKey)){const o=e.currentTarget;r(t.current+e.key)," "!==e.key||t.current.startsWith(" ")||e.stopPropagation();const n=document.activeElement,a=n?R(n):void 0,u=function(e,t,r){const o=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,n=r?e.indexOf(r):-1;let a=(u=e,c=Math.max(n,0),u.map(((e,t)=>u[(c+t)%u.length])));var u,c;1===o.length&&(a=a.filter((e=>e!==r)));const s=a.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return s!==r?s:void 0}(Array.from(o.querySelectorAll(`[${g}]`)).map(R),t.current,a),c=o.querySelector(`[${g}="${u}"]`);c&&setTimeout((()=>c.focus()))}}}}const R=e=>{var t;return null!==(t=e.getAttribute(g))&&void 0!==t?t:""},g="data-radix-menu-typeahead-item";const k=["ArrowDown","PageUp","Home"],F=[...k,"ArrowUp","PageDown","End"],[P,S]=x("Menu"),I=w.forwardRef(((e,t)=>{const{forceMount:r,open:o=!1,...n}=e;return w.createElement(f,{present:r||o},w.createElement(q,b({"data-state":H(o)},n,{ref:t,open:o})))}));exports.Menu=I;const q=w.forwardRef(((e,s)=>{const{open:l,onOpenChange:d,anchorRef:p,loop:m,trapFocus:f,onOpenAutoFocus:x,onCloseAutoFocus:h,disableOutsidePointerEvents:M,onEscapeKeyDown:D,onPointerDownOutside:R,onFocusOutside:g,onInteractOutside:S,onDismiss:I,disableOutsideScroll:q,portalled:A,...K}=e,L=v(d),N=w.useRef(null),[G,T]=w.useState(0),[V,B]=w.useState(!1),U=E();w.useEffect((()=>{T(V?-1:0)}),[V]);const[_,$]=w.useState(!1),j=A?n:w.Fragment,H=q?r:w.Fragment;return o(),w.useEffect((()=>{const e=N.current;if(e)return t(e)}),[]),w.createElement(j,null,w.createElement(H,null,w.createElement(P,{menuRef:N,onItemsReachableChange:B,onOpenChange:L},w.createElement(i,{reachable:V,onReachableChange:B,orientation:"vertical",loop:m},w.createElement(a,{trapped:!_&&(f&&l),onMountAutoFocus:x,onUnmountAutoFocus:e=>{_?e.preventDefault():null==h||h(e)}},(e=>w.createElement(u,{disableOutsidePointerEvents:M,onEscapeKeyDown:D,onPointerDownOutside:C(R,(e=>{const t=0===e.button&&!1===e.ctrlKey;$(!M&&t),e.defaultPrevented&&$(!1)}),{checkForDefaultPrevented:!1}),onFocusOutside:C(g,(e=>{f&&e.preventDefault()}),{checkForDefaultPrevented:!1}),onInteractOutside:S,onDismiss:I},(t=>w.createElement(c.Root,b({role:"menu"},K,{ref:y(s,N,e.ref,t.ref),anchorRef:p,tabIndex:G,style:{...t.style,outline:"none",...K.style},onBlurCapture:C(K.onBlurCapture,t.onBlurCapture,{checkForDefaultPrevented:!1}),onFocusCapture:C(K.onFocusCapture,t.onFocusCapture,{checkForDefaultPrevented:!1}),onMouseDownCapture:C(K.onMouseDownCapture,t.onMouseDownCapture,{checkForDefaultPrevented:!1}),onTouchStartCapture:C(K.onTouchStartCapture,t.onTouchStartCapture,{checkForDefaultPrevented:!1}),onKeyDownCapture:C(K.onKeyDownCapture,U.onKeyDownCapture),onKeyDown:C(K.onKeyDown,(e=>{const t=N.current;if(e.target===t&&F.includes(e.key)){e.preventDefault();const r=Array.from(t.querySelectorAll(O)),o=k.includes(e.key)?r[0]:r.reverse()[0];null==o||o.focus()}}))}))))))))))}));I.displayName="Menu";const O="[data-radix-menu-item]:not([data-disabled])",A=w.forwardRef(((e,t)=>{const{disabled:r,textValue:o,onSelect:n,...a}=e,u=w.useRef(null),c=M(t,u),s=S("MenuItem"),i=l({disabled:r}),[d,m]=w.useState("");w.useEffect((()=>{const e=u.current;var t;e&&m((null!==(t=e.textContent)&&void 0!==t?t:"").trim())}),[a.children]);const f=function({textValue:e,disabled:t}){return{[g]:t?void 0:e}}({textValue:null!=o?o:d,disabled:r}),v=()=>{const e=u.current;if(!r&&e){var t;const r=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});if(e.dispatchEvent(r),r.defaultPrevented)return;null===(t=s.onOpenChange)||void 0===t||t.call(s,!1)}};return w.useEffect((()=>{const e=u.current;if(e){const t=e=>null==n?void 0:n(e);return e.addEventListener("menu.itemSelect",t),()=>e.removeEventListener("menu.itemSelect",t)}}),[n]),w.createElement(p,b({role:"menuitem","aria-disabled":r||void 0},a,i,f,{"data-radix-menu-item":"",ref:c,"data-disabled":r?"":void 0,onFocus:C(a.onFocus,i.onFocus),onKeyDown:C(a.onKeyDown,C(i.onKeyDown,(e=>{r||"Enter"!==e.key&&" "!==e.key||v()}))),onMouseDown:C(a.onMouseDown,i.onMouseDown),onMouseUp:C(a.onMouseUp,v),onMouseMove:C(a.onMouseMove,(e=>{if(!r){e.currentTarget.focus()}})),onBlur:C(a.onBlur,(e=>{s.onItemsReachableChange(!1)})),onMouseLeave:C(a.onMouseLeave,(e=>{var t;null===(t=s.menuRef.current)||void 0===t||t.focus()}))}))}));exports.MenuItem=A,A.displayName="MenuItem";const K=w.forwardRef(((e,t)=>{const{checked:r=!1,onCheckedChange:o,...n}=e;return w.createElement(V.Provider,{value:r},w.createElement(A,b({role:"menuitemcheckbox","aria-checked":r},n,{ref:t,"data-state":W(r),onSelect:C(n.onSelect,(()=>null==o?void 0:o(!r)),{checkForDefaultPrevented:!1})})))}));exports.MenuCheckboxItem=K,K.displayName="MenuCheckboxItem";const L=w.createContext({}),N=w.forwardRef(((e,t)=>{const{value:r,onValueChange:o,...n}=e,a=v(o),u=w.useMemo((()=>({value:r,onValueChange:a})),[r,a]);return w.createElement(L.Provider,{value:u},w.createElement(U,b({},n,{ref:t})))}));exports.MenuRadioGroup=N,N.displayName="MenuRadioGroup";const G=w.forwardRef(((e,t)=>{const{value:r,...o}=e,n=w.useContext(L),a=r===n.value;return w.createElement(V.Provider,{value:a},w.createElement(A,b({role:"menuitemradio","aria-checked":a},o,{ref:t,"data-state":W(a),onSelect:C(o.onSelect,(()=>{var e;return null===(e=n.onValueChange)||void 0===e?void 0:e.call(n,r)}),{checkForDefaultPrevented:!1})})))}));exports.MenuRadioItem=G,G.displayName="MenuRadioItem";const T="span",V=w.createContext(!1),B=w.forwardRef(((e,t)=>{const{as:r=T,forceMount:o,...n}=e,a=w.useContext(V);return w.createElement(f,{present:o||a},w.createElement(p,b({},n,{as:r,ref:t,"data-state":W(a)})))}));exports.MenuItemIndicator=B,B.displayName="MenuItemIndicator";const U=m(p,{defaultProps:{role:"group"},displayName:"MenuGroup"});exports.MenuGroup=U;const _=m(p,{displayName:"MenuLabel"});exports.MenuLabel=_;const $=m(p,{defaultProps:{role:"separator","aria-orientation":"horizontal"},displayName:"MenuSeparator "});exports.MenuSeparator=$;const j=m(c.Arrow,{displayName:"MenuArrow"});function H(e){return e?"open":"closed"}function W(e){return e?"checked":"unchecked"}exports.MenuArrow=j;const z=I;exports.Root=z;const J=U;exports.Group=J;const Q=_;exports.Label=Q;const X=A;exports.Item=X;const Y=K;exports.CheckboxItem=Y;const Z=N;exports.RadioGroup=Z;const ee=G;exports.RadioItem=ee;const te=B;exports.ItemIndicator=te;const re=$;exports.Separator=re;const oe=j;exports.Arrow=oe; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
function e(e,t,o){Object.defineProperty(e,t,{get:o,enumerable:!0})}import{hideOthers as t}from"aria-hidden";import{RemoveScroll as o}from"react-remove-scroll";import{useFocusGuards as n}from"@radix-ui/react-focus-guards";import{Portal as r}from"@radix-ui/react-portal";import{FocusScope as u}from"@radix-ui/react-focus-scope";import{DismissableLayer as a}from"@radix-ui/react-dismissable-layer";import{Root as c,Arrow as i}from"@radix-ui/react-popper";import{RovingFocusGroup as s,useRovingFocus as l}from"@radix-ui/react-roving-focus";import{Primitive as d,extendPrimitive as p}from"@radix-ui/react-primitive";import{Presence as m}from"@radix-ui/react-presence";import{useCallbackRef as f}from"@radix-ui/react-use-callback-ref";import{createContext as M}from"@radix-ui/react-context";import{composeRefs as v,useComposedRefs as h}from"@radix-ui/react-compose-refs";import{composeEventHandlers as x}from"@radix-ui/primitive";import{forwardRef as I,createElement as b,useRef as y,useState as C,useEffect as w,Fragment as D,createContext as k,useMemo as R,useContext as g,useCallback as P}from"react";import S from"@babel/runtime/helpers/esm/extends";var A={};function F(){const e=y(0),t=y(""),o=P((n=>{t.current=n,window.clearTimeout(e.current),e.current=window.setTimeout((()=>o("")),1e3)}),[]);return{onKeyDownCapture:e=>{if(1===e.key.length&&!(e.ctrlKey||e.altKey||e.metaKey)){const n=e.currentTarget;o(t.current+e.key)," "!==e.key||t.current.startsWith(" ")||e.stopPropagation();const r=document.activeElement,u=r?G(r):void 0,a=function(e,t,o){const n=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,r=o?e.indexOf(o):-1;let u=(a=e,c=Math.max(r,0),a.map(((e,t)=>a[(c+t)%a.length])));var a,c;1===n.length&&(u=u.filter((e=>e!==o)));const i=u.find((e=>e.toLowerCase().startsWith(n.toLowerCase())));return i!==o?i:void 0}(Array.from(n.querySelectorAll(`[${K}]`)).map(G),t.current,u),c=n.querySelector(`[${K}="${a}"]`);c&&setTimeout((()=>c.focus()))}}}}const G=e=>{var t;return null!==(t=e.getAttribute(K))&&void 0!==t?t:""},K="data-radix-menu-typeahead-item";const O=["ArrowDown","PageUp","Home"],L=[...O,"ArrowUp","PageDown","End"],[E,N]=M("Menu");export const Menu=I(((e,t)=>{const{forceMount:o,open:n=!1,...r}=e;return b(m,{present:o||n},b(T,S({"data-state":$(n)},r,{ref:t,open:n})))}));const T=I(((e,i)=>{const{open:l,onOpenChange:d,anchorRef:p,loop:m,trapFocus:M,onOpenAutoFocus:h,onCloseAutoFocus:I,disableOutsidePointerEvents:k,onEscapeKeyDown:R,onPointerDownOutside:g,onFocusOutside:P,onInteractOutside:A,onDismiss:G,disableOutsideScroll:K,portalled:N,...T}=e,B=f(d),U=y(null),[q,$]=C(0),[W,j]=C(!1),z=F();w((()=>{$(W?-1:0)}),[W]);const[H,J]=C(!1),Q=N?r:D,X=K?o:D;return n(),w((()=>{const e=U.current;if(e)return t(e)}),[]),b(Q,null,b(X,null,b(E,{menuRef:U,onItemsReachableChange:j,onOpenChange:B},b(s,{reachable:W,onReachableChange:j,orientation:"vertical",loop:m},b(u,{trapped:!H&&(M&&l),onMountAutoFocus:h,onUnmountAutoFocus:e=>{H?e.preventDefault():null==I||I(e)}},(e=>b(a,{disableOutsidePointerEvents:k,onEscapeKeyDown:R,onPointerDownOutside:x(g,(e=>{const t=0===e.button&&!1===e.ctrlKey;J(!k&&t),e.defaultPrevented&&J(!1)}),{checkForDefaultPrevented:!1}),onFocusOutside:x(P,(e=>{M&&e.preventDefault()}),{checkForDefaultPrevented:!1}),onInteractOutside:A,onDismiss:G},(t=>b(c,S({role:"menu"},T,{ref:v(i,U,e.ref,t.ref),anchorRef:p,tabIndex:q,style:{...t.style,outline:"none",...T.style},onBlurCapture:x(T.onBlurCapture,t.onBlurCapture,{checkForDefaultPrevented:!1}),onFocusCapture:x(T.onFocusCapture,t.onFocusCapture,{checkForDefaultPrevented:!1}),onMouseDownCapture:x(T.onMouseDownCapture,t.onMouseDownCapture,{checkForDefaultPrevented:!1}),onTouchStartCapture:x(T.onTouchStartCapture,t.onTouchStartCapture,{checkForDefaultPrevented:!1}),onKeyDownCapture:x(T.onKeyDownCapture,z.onKeyDownCapture),onKeyDown:x(T.onKeyDown,(e=>{const t=U.current;if(e.target===t&&L.includes(e.key)){e.preventDefault();const o=Array.from(t.querySelectorAll(V)),n=O.includes(e.key)?o[0]:o.reverse()[0];null==n||n.focus()}}))}))))))))))}));Menu.displayName="Menu";const V="[data-radix-menu-item]:not([data-disabled])";export const MenuItem=I(((e,t)=>{const{disabled:o,textValue:n,onSelect:r,...u}=e,a=y(null),c=h(t,a),i=N("MenuItem"),s=l({disabled:o}),[p,m]=C("");w((()=>{const e=a.current;var t;e&&m((null!==(t=e.textContent)&&void 0!==t?t:"").trim())}),[u.children]);const f=function({textValue:e,disabled:t}){return{[K]:t?void 0:e}}({textValue:null!=n?n:p,disabled:o}),M=()=>{const e=a.current;if(!o&&e){var t;const o=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});if(e.dispatchEvent(o),o.defaultPrevented)return;null===(t=i.onOpenChange)||void 0===t||t.call(i,!1)}};return w((()=>{const e=a.current;if(e){const t=e=>null==r?void 0:r(e);return e.addEventListener("menu.itemSelect",t),()=>e.removeEventListener("menu.itemSelect",t)}}),[r]),b(d,S({role:"menuitem","aria-disabled":o||void 0},u,s,f,{"data-radix-menu-item":"",ref:c,"data-disabled":o?"":void 0,onFocus:x(u.onFocus,s.onFocus),onKeyDown:x(u.onKeyDown,x(s.onKeyDown,(e=>{o||"Enter"!==e.key&&" "!==e.key||M()}))),onMouseDown:x(u.onMouseDown,s.onMouseDown),onMouseUp:x(u.onMouseUp,M),onMouseMove:x(u.onMouseMove,(e=>{if(!o){e.currentTarget.focus()}})),onBlur:x(u.onBlur,(e=>{i.onItemsReachableChange(!1)})),onMouseLeave:x(u.onMouseLeave,(e=>{var t;null===(t=i.menuRef.current)||void 0===t||t.focus()}))}))}));MenuItem.displayName="MenuItem";export const MenuCheckboxItem=I(((e,t)=>{const{checked:o=!1,onCheckedChange:n,...r}=e;return b(q.Provider,{value:o},b(MenuItem,S({role:"menuitemcheckbox","aria-checked":o},r,{ref:t,"data-state":W(o),onSelect:x(r.onSelect,(()=>null==n?void 0:n(!o)),{checkForDefaultPrevented:!1})})))}));MenuCheckboxItem.displayName="MenuCheckboxItem";const B=k({});export const MenuRadioGroup=I(((e,t)=>{const{value:o,onValueChange:n,...r}=e,u=f(n),a=R((()=>({value:o,onValueChange:u})),[o,u]);return b(B.Provider,{value:a},b(MenuGroup,S({},r,{ref:t})))}));MenuRadioGroup.displayName="MenuRadioGroup";export const MenuRadioItem=I(((e,t)=>{const{value:o,...n}=e,r=g(B),u=o===r.value;return b(q.Provider,{value:u},b(MenuItem,S({role:"menuitemradio","aria-checked":u},n,{ref:t,"data-state":W(u),onSelect:x(n.onSelect,(()=>{var e;return null===(e=r.onValueChange)||void 0===e?void 0:e.call(r,o)}),{checkForDefaultPrevented:!1})})))}));MenuRadioItem.displayName="MenuRadioItem";const U="span",q=k(!1);export const MenuItemIndicator=I(((e,t)=>{const{as:o=U,forceMount:n,...r}=e,u=g(q);return b(m,{present:n||u},b(d,S({},r,{as:o,ref:t,"data-state":W(u)})))}));MenuItemIndicator.displayName="MenuItemIndicator";export const MenuGroup=p(d,{defaultProps:{role:"group"},displayName:"MenuGroup"});export const MenuLabel=p(d,{displayName:"MenuLabel"});export const MenuSeparator=p(d,{defaultProps:{role:"separator","aria-orientation":"horizontal"},displayName:"MenuSeparator "});export const MenuArrow=p(i,{displayName:"MenuArrow"});function $(e){return e?"open":"closed"}function W(e){return e?"checked":"unchecked"}export const Root=Menu;export const Group=MenuGroup;export const Label=MenuLabel;export const Item=MenuItem;export const CheckboxItem=MenuCheckboxItem;export const RadioGroup=MenuRadioGroup;export const RadioItem=MenuRadioItem;export const ItemIndicator=MenuItemIndicator;export const Separator=MenuSeparator;export const Arrow=MenuArrow;e(A,"Arrow",(function(){return Arrow})),e(A,"Separator",(function(){return Separator})),e(A,"ItemIndicator",(function(){return ItemIndicator})),e(A,"RadioItem",(function(){return RadioItem})),e(A,"RadioGroup",(function(){return RadioGroup})),e(A,"CheckboxItem",(function(){return CheckboxItem})),e(A,"Item",(function(){return Item})),e(A,"Label",(function(){return Label})),e(A,"Group",(function(){return Group})),e(A,"Root",(function(){return Root})),e(A,"MenuArrow",(function(){return MenuArrow})),e(A,"MenuSeparator",(function(){return MenuSeparator})),e(A,"MenuItemIndicator",(function(){return MenuItemIndicator})),e(A,"MenuRadioItem",(function(){return MenuRadioItem})),e(A,"MenuRadioGroup",(function(){return MenuRadioGroup})),e(A,"MenuCheckboxItem",(function(){return MenuCheckboxItem})),e(A,"MenuItem",(function(){return MenuItem})),e(A,"MenuLabel",(function(){return MenuLabel})),e(A,"MenuGroup",(function(){return MenuGroup})),e(A,"Menu",(function(){return Menu})); | ||
import{hideOthers as e}from"aria-hidden";import{RemoveScroll as t}from"react-remove-scroll";import{useFocusGuards as o}from"@radix-ui/react-focus-guards";import{Portal as r}from"@radix-ui/react-portal";import{FocusScope as n}from"@radix-ui/react-focus-scope";import{DismissableLayer as a}from"@radix-ui/react-dismissable-layer";import*as u from"@radix-ui/react-popper";import{RovingFocusGroup as c,useRovingFocus as s}from"@radix-ui/react-roving-focus";import{Primitive as i,extendPrimitive as l}from"@radix-ui/react-primitive";import{Presence as d}from"@radix-ui/react-presence";import{useCallbackRef as m}from"@radix-ui/react-use-callback-ref";import{createContext as p}from"@radix-ui/react-context";import{composeRefs as f,useComposedRefs as v}from"@radix-ui/react-compose-refs";import{composeEventHandlers as M}from"@radix-ui/primitive";import*as x from"react";import h from"@babel/runtime/helpers/esm/extends";function y(){const e=x.useRef(0),t=x.useRef(""),o=x.useCallback((r=>{t.current=r,window.clearTimeout(e.current),e.current=window.setTimeout((()=>o("")),1e3)}),[]);return{onKeyDownCapture:e=>{if(1===e.key.length&&!(e.ctrlKey||e.altKey||e.metaKey)){const r=e.currentTarget;o(t.current+e.key)," "!==e.key||t.current.startsWith(" ")||e.stopPropagation();const n=document.activeElement,a=n?w(n):void 0,u=function(e,t,o){const r=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,n=o?e.indexOf(o):-1;let a=(u=e,c=Math.max(n,0),u.map(((e,t)=>u[(c+t)%u.length])));var u,c;1===r.length&&(a=a.filter((e=>e!==o)));const s=a.find((e=>e.toLowerCase().startsWith(r.toLowerCase())));return s!==o?s:void 0}(Array.from(r.querySelectorAll(`[${C}]`)).map(w),t.current,a),c=r.querySelector(`[${C}="${u}"]`);c&&setTimeout((()=>c.focus()))}}}}const w=e=>{var t;return null!==(t=e.getAttribute(C))&&void 0!==t?t:""},C="data-radix-menu-typeahead-item";const b=["ArrowDown","PageUp","Home"],D=[...b,"ArrowUp","PageDown","End"],[E,I]=p("Menu");export const Menu=x.forwardRef(((e,t)=>{const{forceMount:o,open:r=!1,...n}=e;return x.createElement(d,{present:o||r},x.createElement(R,h({"data-state":P(r)},n,{ref:t,open:r})))}));const R=x.forwardRef(((s,i)=>{const{open:l,onOpenChange:d,anchorRef:p,loop:v,trapFocus:w,onOpenAutoFocus:C,onCloseAutoFocus:I,disableOutsidePointerEvents:R,onEscapeKeyDown:g,onPointerDownOutside:F,onFocusOutside:S,onInteractOutside:P,onDismiss:A,disableOutsideScroll:K,portalled:O,...G}=s,L=m(d),N=x.useRef(null),[T,V]=x.useState(0),[B,U]=x.useState(!1),q=y();x.useEffect((()=>{V(B?-1:0)}),[B]);const[$,W]=x.useState(!1),z=O?r:x.Fragment,H=K?t:x.Fragment;return o(),x.useEffect((()=>{const t=N.current;if(t)return e(t)}),[]),x.createElement(z,null,x.createElement(H,null,x.createElement(E,{menuRef:N,onItemsReachableChange:U,onOpenChange:L},x.createElement(c,{reachable:B,onReachableChange:U,orientation:"vertical",loop:v},x.createElement(n,{trapped:!$&&(w&&l),onMountAutoFocus:C,onUnmountAutoFocus:e=>{$?e.preventDefault():null==I||I(e)}},(e=>x.createElement(a,{disableOutsidePointerEvents:R,onEscapeKeyDown:g,onPointerDownOutside:M(F,(e=>{const t=0===e.button&&!1===e.ctrlKey;W(!R&&t),e.defaultPrevented&&W(!1)}),{checkForDefaultPrevented:!1}),onFocusOutside:M(S,(e=>{w&&e.preventDefault()}),{checkForDefaultPrevented:!1}),onInteractOutside:P,onDismiss:A},(t=>x.createElement(u.Root,h({role:"menu"},G,{ref:f(i,N,e.ref,t.ref),anchorRef:p,tabIndex:T,style:{...t.style,outline:"none",...G.style},onBlurCapture:M(G.onBlurCapture,t.onBlurCapture,{checkForDefaultPrevented:!1}),onFocusCapture:M(G.onFocusCapture,t.onFocusCapture,{checkForDefaultPrevented:!1}),onMouseDownCapture:M(G.onMouseDownCapture,t.onMouseDownCapture,{checkForDefaultPrevented:!1}),onTouchStartCapture:M(G.onTouchStartCapture,t.onTouchStartCapture,{checkForDefaultPrevented:!1}),onKeyDownCapture:M(G.onKeyDownCapture,q.onKeyDownCapture),onKeyDown:M(G.onKeyDown,(e=>{const t=N.current;if(e.target===t&&D.includes(e.key)){e.preventDefault();const o=Array.from(t.querySelectorAll(k)),r=b.includes(e.key)?o[0]:o.reverse()[0];null==r||r.focus()}}))}))))))))))}));Menu.displayName="Menu";const k="[data-radix-menu-item]:not([data-disabled])";export const MenuItem=x.forwardRef(((e,t)=>{const{disabled:o,textValue:r,onSelect:n,...a}=e,u=x.useRef(null),c=v(t,u),l=I("MenuItem"),d=s({disabled:o}),[m,p]=x.useState("");x.useEffect((()=>{const e=u.current;var t;e&&p((null!==(t=e.textContent)&&void 0!==t?t:"").trim())}),[a.children]);const f=function({textValue:e,disabled:t}){return{[C]:t?void 0:e}}({textValue:null!=r?r:m,disabled:o}),y=()=>{const e=u.current;if(!o&&e){var t;const o=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});if(e.dispatchEvent(o),o.defaultPrevented)return;null===(t=l.onOpenChange)||void 0===t||t.call(l,!1)}};return x.useEffect((()=>{const e=u.current;if(e){const t=e=>null==n?void 0:n(e);return e.addEventListener("menu.itemSelect",t),()=>e.removeEventListener("menu.itemSelect",t)}}),[n]),x.createElement(i,h({role:"menuitem","aria-disabled":o||void 0},a,d,f,{"data-radix-menu-item":"",ref:c,"data-disabled":o?"":void 0,onFocus:M(a.onFocus,d.onFocus),onKeyDown:M(a.onKeyDown,M(d.onKeyDown,(e=>{o||"Enter"!==e.key&&" "!==e.key||y()}))),onMouseDown:M(a.onMouseDown,d.onMouseDown),onMouseUp:M(a.onMouseUp,y),onMouseMove:M(a.onMouseMove,(e=>{if(!o){e.currentTarget.focus()}})),onBlur:M(a.onBlur,(e=>{l.onItemsReachableChange(!1)})),onMouseLeave:M(a.onMouseLeave,(e=>{var t;null===(t=l.menuRef.current)||void 0===t||t.focus()}))}))}));MenuItem.displayName="MenuItem";export const MenuCheckboxItem=x.forwardRef(((e,t)=>{const{checked:o=!1,onCheckedChange:r,...n}=e;return x.createElement(S.Provider,{value:o},x.createElement(MenuItem,h({role:"menuitemcheckbox","aria-checked":o},n,{ref:t,"data-state":A(o),onSelect:M(n.onSelect,(()=>null==r?void 0:r(!o)),{checkForDefaultPrevented:!1})})))}));MenuCheckboxItem.displayName="MenuCheckboxItem";const g=x.createContext({});export const MenuRadioGroup=x.forwardRef(((e,t)=>{const{value:o,onValueChange:r,...n}=e,a=m(r),u=x.useMemo((()=>({value:o,onValueChange:a})),[o,a]);return x.createElement(g.Provider,{value:u},x.createElement(MenuGroup,h({},n,{ref:t})))}));MenuRadioGroup.displayName="MenuRadioGroup";export const MenuRadioItem=x.forwardRef(((e,t)=>{const{value:o,...r}=e,n=x.useContext(g),a=o===n.value;return x.createElement(S.Provider,{value:a},x.createElement(MenuItem,h({role:"menuitemradio","aria-checked":a},r,{ref:t,"data-state":A(a),onSelect:M(r.onSelect,(()=>{var e;return null===(e=n.onValueChange)||void 0===e?void 0:e.call(n,o)}),{checkForDefaultPrevented:!1})})))}));MenuRadioItem.displayName="MenuRadioItem";const F="span",S=x.createContext(!1);export const MenuItemIndicator=x.forwardRef(((e,t)=>{const{as:o=F,forceMount:r,...n}=e,a=x.useContext(S);return x.createElement(d,{present:r||a},x.createElement(i,h({},n,{as:o,ref:t,"data-state":A(a)})))}));MenuItemIndicator.displayName="MenuItemIndicator";export const MenuGroup=l(i,{defaultProps:{role:"group"},displayName:"MenuGroup"});export const MenuLabel=l(i,{displayName:"MenuLabel"});export const MenuSeparator=l(i,{defaultProps:{role:"separator","aria-orientation":"horizontal"},displayName:"MenuSeparator "});export const MenuArrow=l(u.Arrow,{displayName:"MenuArrow"});function P(e){return e?"open":"closed"}function A(e){return e?"checked":"unchecked"}export const Root=Menu;export const Group=MenuGroup;export const Label=MenuLabel;export const Item=MenuItem;export const CheckboxItem=MenuCheckboxItem;export const RadioGroup=MenuRadioGroup;export const RadioItem=MenuRadioItem;export const ItemIndicator=MenuItemIndicator;export const Separator=MenuSeparator;export const Arrow=MenuArrow; | ||
//# sourceMappingURL=index.module.js.map |
{ | ||
"name": "@radix-ui/react-menu", | ||
"version": "0.0.13", | ||
"version": "0.0.14", | ||
"license": "MIT", | ||
@@ -21,15 +21,15 @@ "source": "src/index.ts", | ||
"@babel/runtime": "^7.13.10", | ||
"@radix-ui/primitive": "0.0.3", | ||
"@radix-ui/react-compose-refs": "0.0.3", | ||
"@radix-ui/react-context": "0.0.3", | ||
"@radix-ui/react-dismissable-layer": "0.0.10", | ||
"@radix-ui/react-focus-guards": "0.0.5", | ||
"@radix-ui/react-focus-scope": "0.0.9", | ||
"@radix-ui/react-polymorphic": "0.0.8", | ||
"@radix-ui/react-popper": "0.0.12", | ||
"@radix-ui/react-portal": "0.0.9", | ||
"@radix-ui/react-presence": "0.0.11", | ||
"@radix-ui/react-primitive": "0.0.9", | ||
"@radix-ui/react-roving-focus": "0.0.9", | ||
"@radix-ui/react-use-callback-ref": "0.0.3", | ||
"@radix-ui/primitive": "0.0.4", | ||
"@radix-ui/react-compose-refs": "0.0.4", | ||
"@radix-ui/react-context": "0.0.4", | ||
"@radix-ui/react-dismissable-layer": "0.0.11", | ||
"@radix-ui/react-focus-guards": "0.0.6", | ||
"@radix-ui/react-focus-scope": "0.0.10", | ||
"@radix-ui/react-polymorphic": "0.0.9", | ||
"@radix-ui/react-popper": "0.0.13", | ||
"@radix-ui/react-portal": "0.0.10", | ||
"@radix-ui/react-presence": "0.0.12", | ||
"@radix-ui/react-primitive": "0.0.10", | ||
"@radix-ui/react-roving-focus": "0.0.10", | ||
"@radix-ui/react-use-callback-ref": "0.0.4", | ||
"aria-hidden": "^1.1.1", | ||
@@ -36,0 +36,0 @@ "react-remove-scroll": "^2.4.0" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
105035
194
1
+ Added@radix-ui/number@0.0.4(transitive)
+ Added@radix-ui/popper@0.0.9(transitive)
+ Added@radix-ui/primitive@0.0.4(transitive)
+ Added@radix-ui/react-arrow@0.0.10(transitive)
+ Added@radix-ui/react-compose-refs@0.0.4(transitive)
+ Added@radix-ui/react-context@0.0.4(transitive)
+ Added@radix-ui/react-dismissable-layer@0.0.11(transitive)
+ Added@radix-ui/react-focus-guards@0.0.6(transitive)
+ Added@radix-ui/react-focus-scope@0.0.10(transitive)
+ Added@radix-ui/react-id@0.0.4(transitive)
+ Added@radix-ui/react-polymorphic@0.0.9(transitive)
+ Added@radix-ui/react-popper@0.0.13(transitive)
+ Added@radix-ui/react-portal@0.0.10(transitive)
+ Added@radix-ui/react-presence@0.0.12(transitive)
+ Added@radix-ui/react-primitive@0.0.10(transitive)
+ Added@radix-ui/react-roving-focus@0.0.10(transitive)
+ Added@radix-ui/react-use-body-pointer-events@0.0.5(transitive)
+ Added@radix-ui/react-use-callback-ref@0.0.4(transitive)
+ Added@radix-ui/react-use-controllable-state@0.0.5(transitive)
+ Added@radix-ui/react-use-escape-keydown@0.0.5(transitive)
+ Added@radix-ui/react-use-layout-effect@0.0.4(transitive)
+ Added@radix-ui/react-use-rect@0.0.5(transitive)
+ Added@radix-ui/react-use-size@0.0.4(transitive)
+ Added@radix-ui/rect@0.0.4(transitive)
- Removed@radix-ui/number@0.0.3(transitive)
- Removed@radix-ui/popper@0.0.8(transitive)
- Removed@radix-ui/primitive@0.0.3(transitive)
- Removed@radix-ui/react-arrow@0.0.9(transitive)
- Removed@radix-ui/react-compose-refs@0.0.3(transitive)
- Removed@radix-ui/react-context@0.0.3(transitive)
- Removed@radix-ui/react-dismissable-layer@0.0.10(transitive)
- Removed@radix-ui/react-focus-guards@0.0.5(transitive)
- Removed@radix-ui/react-focus-scope@0.0.9(transitive)
- Removed@radix-ui/react-id@0.0.3(transitive)
- Removed@radix-ui/react-polymorphic@0.0.8(transitive)
- Removed@radix-ui/react-popper@0.0.12(transitive)
- Removed@radix-ui/react-portal@0.0.9(transitive)
- Removed@radix-ui/react-presence@0.0.11(transitive)
- Removed@radix-ui/react-primitive@0.0.9(transitive)
- Removed@radix-ui/react-roving-focus@0.0.9(transitive)
- Removed@radix-ui/react-use-body-pointer-events@0.0.4(transitive)
- Removed@radix-ui/react-use-callback-ref@0.0.3(transitive)
- Removed@radix-ui/react-use-controllable-state@0.0.4(transitive)
- Removed@radix-ui/react-use-escape-keydown@0.0.4(transitive)
- Removed@radix-ui/react-use-layout-effect@0.0.3(transitive)
- Removed@radix-ui/react-use-rect@0.0.4(transitive)
- Removed@radix-ui/react-use-size@0.0.3(transitive)
- Removed@radix-ui/rect@0.0.3(transitive)
Updated@radix-ui/primitive@0.0.4