@jamsrui/context-menu 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-4MJ6HKJE.mjs +1 -0
- package/dist/chunk-AVPDGGAU.mjs +1 -0
- package/dist/chunk-HMFJTFDZ.mjs +1 -0
- package/dist/chunk-KQMEILBD.mjs +1 -0
- package/dist/chunk-NNRMSSU4.mjs +1 -0
- package/dist/chunk-NTPS6OFI.mjs +1 -0
- package/dist/chunk-SERPJZ7J.mjs +1 -0
- package/dist/chunk-SKEYDN5E.mjs +1 -0
- package/dist/chunk-YGL2MTMD.mjs +1 -0
- package/dist/context-menu-config.mjs +1 -1
- package/dist/context-menu-content.mjs +1 -1
- package/dist/context-menu-context.mjs +1 -1
- package/dist/context-menu-floating-context.mjs +1 -1
- package/dist/context-menu-item-inner.mjs +1 -1
- package/dist/context-menu-item.mjs +1 -1
- package/dist/context-menu-trigger.mjs +1 -1
- package/dist/context-menu.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/styles.mjs +1 -1
- package/dist/use-context-menu.mjs +1 -1
- package/package.json +5 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as e,use as n}from"react";var o=e(null),u=()=>{let t=n(o);if(!t)throw new Error("useContextMenuContext must be used within a ContextMenuContext");return t};export{o as a,u as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as I}from"./chunk-NNRMSSU4.mjs";import{b as B}from"./chunk-HMFJTFDZ.mjs";import{useCallback as a,useEffect as $,useMemo as q,useRef as g,useState as z}from"react";import{autoUpdate as de,flip as fe,offset as ge,safePolygon as Pe,shift as xe,useDismiss as Ie,useFloating as Ce,useFloatingNodeId as Me,useFloatingParentNodeId as ve,useFloatingTree as ye,useHover as Fe,useInteractions as be,useListItem as Ne,useListNavigation as he,useMergeRefs as Oe,useRole as Re,useTypeahead as ke}from"@floating-ui/react";import{useControlledState as Ee}from"@jamsrui/hooks";import{cn as C,dataAttrDev as u,mapPropsVariants as Se}from"@jamsrui/utils";var He=J=>{let m=ve(),t=m!==null,[Q,W]=Se(J,I.variantKeys),{isOpen:Z,defaultOpen:_,onOpenChange:ee,classNames:n,closeDelay:te=0,closeOnEscapeKey:ne=!0,closeOnOutsidePress:oe=!0,lockScroll:M=!0,offset:se=4,openDelay:ae=75,placement:re="right-start"}=Q,r=ye(),l=Me(),P=Ne(),[o=!1,c]=Ee({defaultProp:_,onChange:ee,prop:Z}),[le,v]=z(!1),[d,y]=z(null),F=g([]),b=g([]),{refs:p,floatingStyles:N,context:i}=Ce({nodeId:l,open:o,onOpenChange:c,middleware:[ge({mainAxis:se,alignmentAxis:t?-4:0}),fe({fallbackPlacements:["left-start"]}),xe({padding:5})],placement:re,whileElementsMounted:de}),ie=Fe(i,{enabled:t,delay:{open:ae,close:te},handleClose:Pe({blockPointerEvents:!0})}),ce=Re(i,{role:"menu"}),ue=Ie(i,{escapeKey:ne,outsidePress:oe}),me=he(i,{listRef:F,onNavigate:y,activeIndex:d}),pe=ke(i,{enabled:o,listRef:b,onMatch:y,activeIndex:d}),{getFloatingProps:h,getItemProps:O,getReferenceProps:R}=be([ce,ie,ue,me,pe]);$(()=>{if(!r)return;function e(){c(!1)}function Y(j){j.nodeId!==l&&j.parentId===m&&c(!1)}return r.events.on("click",e),r.events.on("menuopen",Y),()=>{r.events.off("click",e),r.events.off("menuopen",Y)}},[r,l,m,c,o]),$(()=>{o&&r&&r.events.emit("menuopen",{parentId:m,nodeId:l})},[r,o,l,m]);let s=I(W),k=o&&le&&t,f=B(),E=g(!1),x=g(null),S=a(e=>{e.preventDefault(),p.setPositionReference({getBoundingClientRect(){return{width:0,height:0,x:e.clientX,y:e.clientY,top:e.clientY,right:e.clientX,bottom:e.clientY,left:e.clientX}}}),c(!0),x.current&&clearTimeout(x.current),E.current=!1,x.current=window.setTimeout(()=>{E.current=!0},300)},[p,c]),T=Oe([p.setReference,P.ref]),D=a(()=>({ref:T,tabIndex:t?f.activeIndex===P.index?0:-1:void 0,"data-slot":u("trigger"),role:t?"menuitem":void 0,"data-active":k,"data-nested":t,"data-open":o,onContextMenu:t?void 0:S,...R({...f.getItemProps({onMouseEnter(){v(!1),f.setHasFocusInside(!0)}})})}),[R,S,k,t,o,P.index,T,f]),w=a(()=>({lockScroll:M,"data-slot":u("overlay"),className:s.backdrop({className:n?.backdrop})}),[n?.backdrop,M,s]),L=a(()=>({context:i,modal:!0,initialFocus:1,returnFocus:!t,disabled:!1}),[i,t]),A=a(()=>({"data-component":u("menu"),"data-slot":u("root"),className:s.root({className:n?.root}),ref:p.setFloating,style:N,...h()}),[n?.root,N,h,p.setFloating,s]),U=a(()=>({className:s.content({className:C(n?.content)})}),[n?.content,s]),G=a(()=>({id:l}),[l]),H=a(()=>({elementsRef:F,labelsRef:b}),[]),K=q(()=>({activeIndex:d,getItemProps:O,setHasFocusInside:v}),[d,O]),V=a(e=>({...e,"data-slot":u("menu-item"),className:s.menuItem({className:C(n?.menuItem,e.className),color:e.color}),role:"menuitem"}),[n?.menuItem,s]),X=a(e=>({...e,"data-slot":u("menu-item-inner"),className:s.menuItemInner({className:C(n?.menuItemInner,e.className)})}),[n?.menuItemInner,s]);return q(()=>({getOverlayProps:w,getFocusManagerProps:L,getContentProps:U,getNodeProps:G,isOpen:o,getTriggerProps:D,getFloatingListProps:H,floatingCtx:K,getRootProps:A,getMenuItemProps:V,isNested:t,getMenuItemInnerProps:X}),[K,U,H,L,X,V,G,w,A,D,t,o])};export{He as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as t,use as e}from"react";var o=t({setHasFocusInside:()=>{},activeIndex:null,getItemProps:()=>({})}),s=()=>e(o);export{o as a,s as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e}from"./chunk-4MJ6HKJE.mjs";import{useRenderElement as r}from"@jamsrui/hooks";var m=n=>{let{getMenuItemInnerProps:t}=e();return r("span",{props:[t(n)]})};export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{radiusVariant as e,tv as r}from"@jamsrui/utils";var t=r({slots:{arrow:"fill-background-secondary",backdrop:"z-backdrop",root:"min-w-[150px] z-popover",content:"relative z-popover box-border inline-flex w-full flex-col justify-center bg-surface p-1 text-sm shadow-md outline-none",menuItem:["relative box-border flex size-full cursor-pointer select-none items-center gap-2 px-2 py-1.5 text-left outline-none ui-disabled:cursor-not-allowed ui-disabled:opacity-60","ui-active:bg-surface-secondary"],menuItemInner:"grow"},variants:{radius:e(["content","menuItem"]),backdrop:{transparent:{backdrop:""},opaque:{backdrop:"bg-black/50"},blur:{backdrop:"bg-black/30 backdrop-blur-md backdrop-saturate-150"}},color:{default:{menuItem:"ui-hover:bg-surface-secondary ui-hover:text-foreground"},primary:{menuItem:"ui-hover:bg-primary ui-hover:text-primary-foreground"},secondary:{menuItem:"ui-hover:bg-secondary ui-hover:text-secondary-foreground"},success:{menuItem:"ui-hover:bg-success ui-hover:text-success-foreground"},warning:{menuItem:"ui-hover:bg-warning ui-hover:text-warning-foreground"},danger:{menuItem:"ui-hover:bg-danger ui-hover:text-danger-foreground"}}},defaultVariants:{backdrop:"transparent",radius:"md",color:"default"}});export{t as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-KQMEILBD.mjs";import{b as i}from"./chunk-HMFJTFDZ.mjs";import{b as s}from"./chunk-4MJ6HKJE.mjs";import{useFloatingTree as M,useListItem as b}from"@floating-ui/react";import{useMergeRefs as P,useRenderElement as g}from"@jamsrui/hooks";import{Fragment as R,jsx as v,jsxs as k}from"react/jsx-runtime";var O=c=>{let{getMenuItemProps:m}=s(),l=M(),{textValue:d,children:e,isDisabled:t,startContent:u,endContent:p,preventCloseOnClick:C,...x}=c,n=i(),o=b({label:d??(typeof e=="string"?e:void 0)}),r=o.index===n.activeIndex,f=P([o.ref]),I=k(R,{children:[u,v(a,{children:e}),p]});return g("button",{props:[m(x),{children:I,disabled:t,"data-disabled":t,"data-active":r,"aria-disabled":t,ref:f,tabIndex:r?0:-1,onClick(){C||l?.events.emit("click")},onMouseEnter(){n.setHasFocusInside(!0)}}]})};export{O as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as r}from"./chunk-4MJ6HKJE.mjs";import{cloneElement as o,isValidElement as i}from"react";var s=n=>{let{children:e}=n,{getTriggerProps:t}=r();return i(e)?o(e,t()):(console.warn("Invalid children passed to MenuTrigger"),null)};export{s as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u}from"./chunk-AVPDGGAU.mjs";import{a as r}from"./chunk-4MJ6HKJE.mjs";import{FloatingNode as s,FloatingTree as C,useFloatingParentNodeId as a}from"@floating-ui/react";import{jsx as n}from"react/jsx-runtime";var x=e=>{let t=u(e),{children:o}=e,{getNodeProps:c}=t;return n(r,{value:t,children:n(s,{...c(),children:o})})},M=e=>{let t=a(),{children:o}=e;return t===null?n(C,{children:n(x,{...e,children:o})}):n(x,{...e,children:o})};export{M as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n}from"./chunk-HMFJTFDZ.mjs";import{b as e}from"./chunk-4MJ6HKJE.mjs";import{FloatingFocusManager as x,FloatingList as F,FloatingOverlay as c,FloatingPortal as d}from"@floating-ui/react";import{useRenderElement as P}from"@jamsrui/hooks";import{Fragment as M,jsx as t,jsxs as f}from"react/jsx-runtime";var O=o=>{let{getFloatingListProps:r,getOverlayProps:i,getFocusManagerProps:s,getRootProps:a,getContentProps:l,isOpen:p,floatingCtx:g}=e(),{children:u}=o,C=t(M,{children:t("div",{...l(o),children:u})}),m=P("div",{props:[a(),{children:C}]});return t(n,{value:g,children:t(F,{...r(),children:p?f(d,{children:[t(c,{...i()}),t(x,{...s(),children:m})]}):null})})};export{O as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createConfigContext as o}from"@jamsrui/utils";
|
|
1
|
+
import{createConfigContext as o}from"@jamsrui/utils";var[n,t]=o({displayName:"ContextMenuConfig"});export{n as ContextMenuConfig,t as useContextMenuConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-YGL2MTMD.mjs";import"./chunk-HMFJTFDZ.mjs";import"./chunk-4MJ6HKJE.mjs";export{a as ContextMenuContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a,b}from"./chunk-4MJ6HKJE.mjs";export{a as ContextMenuContext,b as useContextMenuContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a,b}from"./chunk-HMFJTFDZ.mjs";export{a as ContextMenuFloatingContext,b as useContextMenuFloatingContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-KQMEILBD.mjs";import"./chunk-4MJ6HKJE.mjs";export{a as ContextMenuItemInner};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-NTPS6OFI.mjs";import"./chunk-KQMEILBD.mjs";import"./chunk-HMFJTFDZ.mjs";import"./chunk-4MJ6HKJE.mjs";export{a as ContextMenuItem};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-SERPJZ7J.mjs";import"./chunk-4MJ6HKJE.mjs";export{a as ContextMenuTrigger};
|
package/dist/context-menu.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-SKEYDN5E.mjs";import"./chunk-AVPDGGAU.mjs";import"./chunk-NNRMSSU4.mjs";import"./chunk-HMFJTFDZ.mjs";import"./chunk-4MJ6HKJE.mjs";export{a as ContextMenu};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{a as e}from"./chunk-YGL2MTMD.mjs";import{a as t}from"./chunk-NTPS6OFI.mjs";import"./chunk-KQMEILBD.mjs";import{a as o}from"./chunk-SERPJZ7J.mjs";import{a as n}from"./chunk-SKEYDN5E.mjs";import"./chunk-AVPDGGAU.mjs";import"./chunk-NNRMSSU4.mjs";import"./chunk-HMFJTFDZ.mjs";import"./chunk-4MJ6HKJE.mjs";export{n as ContextMenu,e as ContextMenuContent,t as ContextMenuItem,o as ContextMenuTrigger};
|
package/dist/styles.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-NNRMSSU4.mjs";export{a as contextMenuVariants};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"./chunk-AVPDGGAU.mjs";import"./chunk-NNRMSSU4.mjs";import"./chunk-HMFJTFDZ.mjs";export{a as useContextMenu};
|
package/package.json
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jamsrui/context-menu",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"react": ">=19"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@floating-ui/react": ">=0.27",
|
|
9
|
-
"@jamsrui/hooks": "^0.0.
|
|
10
|
-
"@jamsrui/
|
|
11
|
-
"@jamsrui/
|
|
9
|
+
"@jamsrui/hooks": "^0.0.10",
|
|
10
|
+
"@jamsrui/core": "^0.0.9",
|
|
11
|
+
"@jamsrui/utils": "^0.0.10"
|
|
12
12
|
},
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
|
-
"import": "./dist/index.mjs"
|
|
17
|
-
"require": "./dist/index.js"
|
|
16
|
+
"import": "./dist/index.mjs"
|
|
18
17
|
}
|
|
19
18
|
},
|
|
20
19
|
"description": "A modern and beautiful Next.js UI components library.",
|