@skdx/react 0.26.0 → 0.27.0
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/context-menu/ContextMenu.cjs +1 -1
- package/dist/context-menu/ContextMenu.js +1 -1
- package/dist/dropdown-menu/DropdownMenu.cjs +1 -1
- package/dist/dropdown-menu/DropdownMenu.js +1 -1
- package/dist/menubar/Menubar.cjs +1 -1
- package/dist/menubar/Menubar.js +1 -1
- package/dist/navigation-menu/NavigationMenu.cjs +1 -1
- package/dist/navigation-menu/NavigationMenu.js +1 -1
- package/dist/navigation-menu/NavigationMenuList.d.cts +7 -4
- package/dist/navigation-menu/NavigationMenuList.d.ts +7 -4
- package/dist/navigation-menu/types.d.cts +10 -0
- package/dist/navigation-menu/types.d.ts +10 -0
- package/dist/select/Select.cjs +1 -1
- package/dist/select/Select.js +1 -1
- package/dist/speed-dial/SpeedDial.cjs +1 -1
- package/dist/speed-dial/SpeedDial.js +1 -1
- package/dist/tree-select/TreeSelect.cjs +1 -1
- package/dist/tree-select/TreeSelect.js +1 -1
- package/dist/utils/menuSub.cjs +1 -1
- package/dist/utils/menuSub.js +1 -1
- package/dist/utils/slot.cjs +1 -1
- package/dist/utils/slot.d.cts +4 -2
- package/dist/utils/slot.d.ts +4 -2
- package/dist/utils/slot.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var We=Object.create;var g=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Je=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var o in t)g(e,o,{get:t[o],enumerable:!0})},Y=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Je(t))!Ze.call(e,a)&&a!==o&&g(e,a,{get:()=>t[a],enumerable:!(n=$e(t,a))||n.enumerable});return e};var p=(e,t,o)=>(o=e!=null?We(Qe(e)):{},Y(t||!e||!e.__esModule?g(o,"default",{value:e,enumerable:!0}):o,e)),et=e=>Y(g({},"__esModule",{value:!0}),e);var ot={};je(ot,{ContextMenu:()=>Q,ContextMenuCheckboxItem:()=>w,ContextMenuContent:()=>E,ContextMenuGroup:()=>K,ContextMenuItem:()=>N,ContextMenuItemIndicator:()=>F,ContextMenuLabel:()=>V,ContextMenuPortal:()=>k,ContextMenuProvider:()=>J,ContextMenuRadioGroup:()=>G,ContextMenuRadioItem:()=>O,ContextMenuSeparator:()=>A,ContextMenuSub:()=>B,ContextMenuSubContent:()=>_e,ContextMenuSubTrigger:()=>Be,ContextMenuTrigger:()=>T,ITEM_SELECTOR:()=>h,useContextMenuContext:()=>x});module.exports=et(ot);var C=p(require("react"),1),z=require("../utils/createContext.cjs"),W=require("../utils/useControllableState.cjs"),$=require("../utils/useOpenChangeComplete.cjs"),Z=require("react/jsx-runtime"),h='[role^="menuitem"]:not([data-disabled])',[J,x]=(0,z.createSafeContext)("ContextMenu");function Q({children:e,open:t,defaultOpen:o=!1,onOpenChange:n,onOpenChangeComplete:a}){let u=C.useRef(null),m=C.useRef(null),[c,f]=C.useState({x:0,y:0}),[y=!1,r]=(0,W.useControllableState)({prop:t,defaultProp:o,onChange:n});return(0,$.useOpenChangeComplete)(y,m,a),(0,Z.jsx)(J,{triggerRef:u,contentRef:m,contentId:C.useId(),open:y,onOpenChange:r,point:c,setPoint:f,children:e})}Q.displayName="ContextMenu";var j=p(require("react"),1),ee=require("../utils/composeRefs.cjs"),te=require("../utils/part.cjs"),R=require("../utils/primitive.cjs");var oe=require("react/jsx-runtime"),T=j.forwardRef(({disabled:e,...t},o)=>{let n=x("ContextMenuTrigger"),a=(0,ee.useComposedRefs)(o,n.triggerRef);return(0,oe.jsx)(R.Primitive.div,{tabIndex:0,role:"group","aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":n.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,...t,...(0,te.skdxPart)("context-menu","trigger",t.className),ref:a,onContextMenu:(0,R.composeEventHandlers)(t.onContextMenu,u=>{e||(u.preventDefault(),n.setPoint({x:u.clientX,y:u.clientY}),n.onOpenChange(!0))}),onKeyDown:(0,R.composeEventHandlers)(t.onKeyDown,u=>{if(e||u.key!=="ContextMenu"&&!(u.key==="F10"&&u.shiftKey))return;u.preventDefault();let m=u.currentTarget.getBoundingClientRect();n.setPoint({x:m.left,y:m.bottom}),n.onOpenChange(!0)})})});T.displayName="ContextMenuTrigger";var ne=require("../utils/portal.cjs");var re=require("react/jsx-runtime"),k=({forceMount:e,children:t,...o})=>{let n=x("ContextMenuPortal");return e||n.open?(0,re.jsx)(ne.Portal,{...o,children:t}):null};k.displayName="ContextMenuPortal";var s=p(require("react"),1),ae=require("../utils/composeRefs.cjs"),ie=require("../utils/menuSub.cjs"),ue=require("../utils/part.cjs"),v=require("../utils/primitive.cjs"),me=require("../utils/useDismiss.cjs"),pe=require("../utils/useRovingFocus.cjs");var se=require("react/jsx-runtime"),E=s.forwardRef(({forceMount:e,loop:t=!0,collisionPadding:o=8,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:u,onInteractOutside:m,style:c,...f},y)=>{let r=x("ContextMenuContent"),Ue=(0,ae.useComposedRefs)(y,r.contentRef),[_,q]=s.useState(r.point),Xe=(0,pe.useRovingFocus)({orientation:"vertical",loop:t,itemSelector:h,typeahead:!0}),I=s.useRef(!1),U=()=>{r.onOpenChange(!1),I.current=!0,r.triggerRef.current?.focus(),I.current=!1};return(0,me.useDismiss)({enabled:r.open,insideSelector:`[${ie.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:i=>{n?.(i),i.defaultPrevented||U()},onInteractOutside:i=>{I.current||m?.(i)},onPointerDownOutside:i=>{a?.(i),i.defaultPrevented||r.onOpenChange(!1)},onFocusOutside:i=>{I.current||(u?.(i),i.defaultPrevented||r.onOpenChange(!1))}},[r.contentRef]),s.useLayoutEffect(()=>{if(!r.open)return;let i=r.contentRef.current;if(!i){q(r.point);return}let{width:d,height:X}=i.getBoundingClientRect(),Ye=window.innerWidth-d-o,ze=window.innerHeight-X-o;q({x:Math.max(o,Math.min(r.point.x,Math.max(Ye,o))),y:Math.max(o,Math.min(r.point.y,Math.max(ze,o)))})},[r.open,r.point,r.contentRef,o]),s.useEffect(()=>{if(!r.open)return;let i=requestAnimationFrame(()=>{let d=r.contentRef.current;if(!d||d.contains(document.activeElement))return;(d.querySelector(h)??d).focus()});return()=>cancelAnimationFrame(i)},[r.open,r.contentRef]),e||r.open?(0,se.jsx)(v.Primitive.div,{role:"menu","aria-orientation":"vertical",id:r.contentId,"data-state":r.open?"open":"closed",tabIndex:-1,...f,...(0,ue.skdxPart)("context-menu","content",f.className),ref:Ue,style:{position:"fixed",top:_.y,left:_.x,...c},onKeyDown:(0,v.composeEventHandlers)(f.onKeyDown,i=>{Xe(i),i.key==="Tab"&&(i.preventDefault(),U())})}):null});E.displayName="ContextMenuContent";var b=p(require("react"),1),xe=require("../utils/part.cjs"),ce=require("../utils/primitive.cjs"),fe=require("../utils/useMenuItem.cjs");var Ce=require("react/jsx-runtime"),M=b.createContext(!1);function P({disabled:e,onSelect:t,props:o}){let n=x("ContextMenuItem");return(0,fe.useMenuItem)({disabled:e,onSelect:t,onSelected:()=>n.onOpenChange(!1),contentRef:n.contentRef,props:o})}var N=b.forwardRef(({disabled:e,onSelect:t,...o},n)=>{let a=P({disabled:e,onSelect:t,props:o});return(0,Ce.jsx)(ce.Primitive.div,{role:"menuitem",...o,...a,...(0,xe.skdxPart)("context-menu","item",o.className),ref:n})});N.displayName="ContextMenuItem";var de=p(require("react"),1),Me=require("../utils/part.cjs"),le=require("../utils/primitive.cjs");var D=require("react/jsx-runtime"),w=de.forwardRef(({checked:e=!1,onCheckedChange:t,disabled:o,onSelect:n,...a},u)=>{let m=P({disabled:o,onSelect:c=>{t?.(!e),n?.(c),c.preventDefault()},props:a});return(0,D.jsx)(M.Provider,{value:e,children:(0,D.jsx)(le.Primitive.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...a,...m,...(0,Me.skdxPart)("context-menu","checkbox-item",a.className),ref:u})})});w.displayName="ContextMenuCheckboxItem";var Re=p(require("react"),1),Pe=require("../utils/createContext.cjs"),ye=require("../utils/part.cjs"),Ie=require("../utils/primitive.cjs"),L=require("react/jsx-runtime"),[tt,ge]=(0,Pe.createSafeContext)("ContextMenuRadioGroup"),G=Re.forwardRef(({value:e,onValueChange:t,...o},n)=>(0,L.jsx)(tt,{value:e,onValueChange:t,children:(0,L.jsx)(Ie.Primitive.div,{role:"group",...o,...(0,ye.skdxPart)("context-menu","radio-group",o.className),ref:n})}));G.displayName="ContextMenuRadioGroup";var he=p(require("react"),1),ve=require("../utils/part.cjs"),be=require("../utils/primitive.cjs");var H=require("react/jsx-runtime"),O=he.forwardRef(({value:e,disabled:t,onSelect:o,...n},a)=>{let u=ge("ContextMenuRadioItem"),m=u.value===e,c=P({disabled:t,onSelect:f=>{u.onValueChange?.(e),o?.(f)},props:n});return(0,H.jsx)(M.Provider,{value:m,children:(0,H.jsx)(be.Primitive.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...n,...c,...(0,ve.skdxPart)("context-menu","radio-item",n.className),ref:a})})});O.displayName="ContextMenuRadioItem";var S=p(require("react"),1),Se=require("../utils/part.cjs"),Te=require("../utils/primitive.cjs");var ke=require("react/jsx-runtime"),F=S.forwardRef(({forceMount:e,...t},o)=>{let n=S.useContext(M);return e||n?(0,ke.jsx)(Te.Primitive.span,{"data-state":n?"checked":"unchecked",...t,...(0,Se.skdxPart)("context-menu","item-indicator",t.className),ref:o}):null});F.displayName="ContextMenuItemIndicator";var Ee=p(require("react"),1),Ne=require("../utils/part.cjs"),De=require("../utils/primitive.cjs"),we=require("react/jsx-runtime"),K=Ee.forwardRef((e,t)=>(0,we.jsx)(De.Primitive.div,{role:"group",...e,...(0,Ne.skdxPart)("context-menu","group",e.className),ref:t}));K.displayName="ContextMenuGroup";var Le=p(require("react"),1),Ge=require("../utils/part.cjs"),He=require("../utils/primitive.cjs"),Oe=require("react/jsx-runtime"),V=Le.forwardRef((e,t)=>(0,Oe.jsx)(He.Primitive.div,{...e,...(0,Ge.skdxPart)("context-menu","label",e.className),ref:t}));V.displayName="ContextMenuLabel";var Fe=p(require("react"),1),Ke=require("../utils/part.cjs"),Ve=require("../utils/primitive.cjs"),Ae=require("react/jsx-runtime"),A=Fe.forwardRef((e,t)=>(0,Ae.jsx)(Ve.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,...(0,Ke.skdxPart)("context-menu","separator",e.className),ref:t}));A.displayName="ContextMenuSeparator";var l=require("../utils/menuSub.cjs"),qe=require("react/jsx-runtime");function B(e){return(0,qe.jsx)(l.MenuSub,{family:"context-menu",...e})}B.displayName="ContextMenuSub";var Be=l.MenuSubTrigger,_e=l.MenuSubContent;0&&(module.exports={ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuItemIndicator,ContextMenuLabel,ContextMenuPortal,ContextMenuProvider,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger,ITEM_SELECTOR,useContextMenuContext});
|
|
1
|
+
"use strict";var We=Object.create;var g=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Je=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var o in t)g(e,o,{get:t[o],enumerable:!0})},Y=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Je(t))!Ze.call(e,a)&&a!==o&&g(e,a,{get:()=>t[a],enumerable:!(n=$e(t,a))||n.enumerable});return e};var p=(e,t,o)=>(o=e!=null?We(Qe(e)):{},Y(t||!e||!e.__esModule?g(o,"default",{value:e,enumerable:!0}):o,e)),et=e=>Y(g({},"__esModule",{value:!0}),e);var ot={};je(ot,{ContextMenu:()=>Q,ContextMenuCheckboxItem:()=>w,ContextMenuContent:()=>E,ContextMenuGroup:()=>K,ContextMenuItem:()=>N,ContextMenuItemIndicator:()=>F,ContextMenuLabel:()=>V,ContextMenuPortal:()=>k,ContextMenuProvider:()=>J,ContextMenuRadioGroup:()=>G,ContextMenuRadioItem:()=>O,ContextMenuSeparator:()=>A,ContextMenuSub:()=>B,ContextMenuSubContent:()=>_e,ContextMenuSubTrigger:()=>Be,ContextMenuTrigger:()=>T,ITEM_SELECTOR:()=>h,useContextMenuContext:()=>x});module.exports=et(ot);var C=p(require("react"),1),z=require("../utils/createContext.cjs"),W=require("../utils/useControllableState.cjs"),$=require("../utils/useOpenChangeComplete.cjs"),Z=require("react/jsx-runtime"),h='[role^="menuitem"]:not([data-disabled])',[J,x]=(0,z.createSafeContext)("ContextMenu");function Q({children:e,open:t,defaultOpen:o=!1,onOpenChange:n,onOpenChangeComplete:a}){let u=C.useRef(null),m=C.useRef(null),[c,f]=C.useState({x:0,y:0}),[y=!1,r]=(0,W.useControllableState)({prop:t,defaultProp:o,onChange:n});return(0,$.useOpenChangeComplete)(y,m,a),(0,Z.jsx)(J,{triggerRef:u,contentRef:m,contentId:C.useId(),open:y,onOpenChange:r,point:c,setPoint:f,children:e})}Q.displayName="ContextMenu";var j=p(require("react"),1),ee=require("../utils/composeRefs.cjs"),te=require("../utils/part.cjs"),R=require("../utils/primitive.cjs");var oe=require("react/jsx-runtime"),T=j.forwardRef(({disabled:e,...t},o)=>{let n=x("ContextMenuTrigger"),a=(0,ee.useComposedRefs)(o,n.triggerRef);return(0,oe.jsx)(R.Primitive.div,{tabIndex:0,role:"group","aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":n.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,...t,...(0,te.skdxPart)("context-menu","trigger",t.className),ref:a,onContextMenu:(0,R.composeEventHandlers)(t.onContextMenu,u=>{e||(u.preventDefault(),n.setPoint({x:u.clientX,y:u.clientY}),n.onOpenChange(!0))}),onKeyDown:(0,R.composeEventHandlers)(t.onKeyDown,u=>{if(e||u.key!=="ContextMenu"&&!(u.key==="F10"&&u.shiftKey))return;u.preventDefault();let m=u.currentTarget.getBoundingClientRect();n.setPoint({x:m.left,y:m.bottom}),n.onOpenChange(!0)})})});T.displayName="ContextMenuTrigger";var ne=require("../utils/portal.cjs");var re=require("react/jsx-runtime"),k=({forceMount:e,children:t,...o})=>{let n=x("ContextMenuPortal");return e||n.open?(0,re.jsx)(ne.Portal,{...o,children:t}):null};k.displayName="ContextMenuPortal";var s=p(require("react"),1),ae=require("../utils/composeRefs.cjs"),ie=require("../utils/menuSub.cjs"),ue=require("../utils/part.cjs"),v=require("../utils/primitive.cjs"),me=require("../utils/useDismiss.cjs"),pe=require("../utils/useRovingFocus.cjs");var se=require("react/jsx-runtime"),E=s.forwardRef(({forceMount:e,loop:t=!0,collisionPadding:o=8,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:u,onInteractOutside:m,style:c,...f},y)=>{let r=x("ContextMenuContent"),Ue=(0,ae.useComposedRefs)(y,r.contentRef),[_,q]=s.useState(r.point),Xe=(0,pe.useRovingFocus)({orientation:"vertical",loop:t,itemSelector:h,typeahead:!0}),I=s.useRef(!1),U=()=>{r.onOpenChange(!1),I.current=!0,r.triggerRef.current?.focus(),I.current=!1};return(0,me.useDismiss)({enabled:r.open,insideSelector:`[${ie.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:i=>{n?.(i),i.defaultPrevented||U()},onInteractOutside:i=>{I.current||m?.(i)},onPointerDownOutside:i=>{a?.(i),i.defaultPrevented||r.onOpenChange(!1)},onFocusOutside:i=>{I.current||(u?.(i),i.defaultPrevented||r.onOpenChange(!1))}},[r.contentRef]),s.useLayoutEffect(()=>{if(!r.open)return;let i=r.contentRef.current;if(!i){q(r.point);return}let{width:d,height:X}=i.getBoundingClientRect(),Ye=window.innerWidth-d-o,ze=window.innerHeight-X-o;q({x:Math.max(o,Math.min(r.point.x,Math.max(Ye,o))),y:Math.max(o,Math.min(r.point.y,Math.max(ze,o)))})},[r.open,r.point,r.contentRef,o]),s.useEffect(()=>{if(!r.open)return;let i=requestAnimationFrame(()=>{let d=r.contentRef.current;if(!d||d.contains(document.activeElement))return;(d.querySelector(h)??d).focus({preventScroll:!0})});return()=>cancelAnimationFrame(i)},[r.open,r.contentRef]),e||r.open?(0,se.jsx)(v.Primitive.div,{role:"menu","aria-orientation":"vertical",id:r.contentId,"data-state":r.open?"open":"closed",tabIndex:-1,...f,...(0,ue.skdxPart)("context-menu","content",f.className),ref:Ue,style:{position:"fixed",top:_.y,left:_.x,...c},onKeyDown:(0,v.composeEventHandlers)(f.onKeyDown,i=>{Xe(i),i.key==="Tab"&&(i.preventDefault(),U())})}):null});E.displayName="ContextMenuContent";var b=p(require("react"),1),xe=require("../utils/part.cjs"),ce=require("../utils/primitive.cjs"),fe=require("../utils/useMenuItem.cjs");var Ce=require("react/jsx-runtime"),M=b.createContext(!1);function P({disabled:e,onSelect:t,props:o}){let n=x("ContextMenuItem");return(0,fe.useMenuItem)({disabled:e,onSelect:t,onSelected:()=>n.onOpenChange(!1),contentRef:n.contentRef,props:o})}var N=b.forwardRef(({disabled:e,onSelect:t,...o},n)=>{let a=P({disabled:e,onSelect:t,props:o});return(0,Ce.jsx)(ce.Primitive.div,{role:"menuitem",...o,...a,...(0,xe.skdxPart)("context-menu","item",o.className),ref:n})});N.displayName="ContextMenuItem";var de=p(require("react"),1),Me=require("../utils/part.cjs"),le=require("../utils/primitive.cjs");var D=require("react/jsx-runtime"),w=de.forwardRef(({checked:e=!1,onCheckedChange:t,disabled:o,onSelect:n,...a},u)=>{let m=P({disabled:o,onSelect:c=>{t?.(!e),n?.(c),c.preventDefault()},props:a});return(0,D.jsx)(M.Provider,{value:e,children:(0,D.jsx)(le.Primitive.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...a,...m,...(0,Me.skdxPart)("context-menu","checkbox-item",a.className),ref:u})})});w.displayName="ContextMenuCheckboxItem";var Re=p(require("react"),1),Pe=require("../utils/createContext.cjs"),ye=require("../utils/part.cjs"),Ie=require("../utils/primitive.cjs"),L=require("react/jsx-runtime"),[tt,ge]=(0,Pe.createSafeContext)("ContextMenuRadioGroup"),G=Re.forwardRef(({value:e,onValueChange:t,...o},n)=>(0,L.jsx)(tt,{value:e,onValueChange:t,children:(0,L.jsx)(Ie.Primitive.div,{role:"group",...o,...(0,ye.skdxPart)("context-menu","radio-group",o.className),ref:n})}));G.displayName="ContextMenuRadioGroup";var he=p(require("react"),1),ve=require("../utils/part.cjs"),be=require("../utils/primitive.cjs");var H=require("react/jsx-runtime"),O=he.forwardRef(({value:e,disabled:t,onSelect:o,...n},a)=>{let u=ge("ContextMenuRadioItem"),m=u.value===e,c=P({disabled:t,onSelect:f=>{u.onValueChange?.(e),o?.(f)},props:n});return(0,H.jsx)(M.Provider,{value:m,children:(0,H.jsx)(be.Primitive.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...n,...c,...(0,ve.skdxPart)("context-menu","radio-item",n.className),ref:a})})});O.displayName="ContextMenuRadioItem";var S=p(require("react"),1),Se=require("../utils/part.cjs"),Te=require("../utils/primitive.cjs");var ke=require("react/jsx-runtime"),F=S.forwardRef(({forceMount:e,...t},o)=>{let n=S.useContext(M);return e||n?(0,ke.jsx)(Te.Primitive.span,{"data-state":n?"checked":"unchecked",...t,...(0,Se.skdxPart)("context-menu","item-indicator",t.className),ref:o}):null});F.displayName="ContextMenuItemIndicator";var Ee=p(require("react"),1),Ne=require("../utils/part.cjs"),De=require("../utils/primitive.cjs"),we=require("react/jsx-runtime"),K=Ee.forwardRef((e,t)=>(0,we.jsx)(De.Primitive.div,{role:"group",...e,...(0,Ne.skdxPart)("context-menu","group",e.className),ref:t}));K.displayName="ContextMenuGroup";var Le=p(require("react"),1),Ge=require("../utils/part.cjs"),He=require("../utils/primitive.cjs"),Oe=require("react/jsx-runtime"),V=Le.forwardRef((e,t)=>(0,Oe.jsx)(He.Primitive.div,{...e,...(0,Ge.skdxPart)("context-menu","label",e.className),ref:t}));V.displayName="ContextMenuLabel";var Fe=p(require("react"),1),Ke=require("../utils/part.cjs"),Ve=require("../utils/primitive.cjs"),Ae=require("react/jsx-runtime"),A=Fe.forwardRef((e,t)=>(0,Ae.jsx)(Ve.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,...(0,Ke.skdxPart)("context-menu","separator",e.className),ref:t}));A.displayName="ContextMenuSeparator";var l=require("../utils/menuSub.cjs"),qe=require("react/jsx-runtime");function B(e){return(0,qe.jsx)(l.MenuSub,{family:"context-menu",...e})}B.displayName="ContextMenuSub";var Be=l.MenuSubTrigger,_e=l.MenuSubContent;0&&(module.exports={ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuItemIndicator,ContextMenuLabel,ContextMenuPortal,ContextMenuProvider,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger,ITEM_SELECTOR,useContextMenuContext});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as f from"react";import{createSafeContext as ee}from"../utils/createContext.js";import{useControllableState as te}from"../utils/useControllableState.js";import{useOpenChangeComplete as oe}from"../utils/useOpenChangeComplete.js";import{jsx as ae}from"react/jsx-runtime";var I='[role^="menuitem"]:not([data-disabled])',[ne,x]=ee("ContextMenu");function re({children:e,open:o,defaultOpen:n=!1,onOpenChange:t,onOpenChangeComplete:u}){let i=f.useRef(null),m=f.useRef(null),[s,c]=f.useState({x:0,y:0}),[l=!1,r]=te({prop:o,defaultProp:n,onChange:t});return oe(l,m,u),ae(ne,{triggerRef:i,contentRef:m,contentId:f.useId(),open:l,onOpenChange:r,point:s,setPoint:c,children:e})}re.displayName="ContextMenu";import*as T from"react";import{useComposedRefs as ie}from"../utils/composeRefs.js";import{skdxPart as ue}from"../utils/part.js";import{composeEventHandlers as S,Primitive as me}from"../utils/primitive.js";import{jsx as pe}from"react/jsx-runtime";var k=T.forwardRef(({disabled:e,...o},n)=>{let t=x("ContextMenuTrigger"),u=ie(n,t.triggerRef);return pe(me.div,{tabIndex:0,role:"group","aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,...o,...ue("context-menu","trigger",o.className),ref:u,onContextMenu:S(o.onContextMenu,i=>{e||(i.preventDefault(),t.setPoint({x:i.clientX,y:i.clientY}),t.onOpenChange(!0))}),onKeyDown:S(o.onKeyDown,i=>{if(e||i.key!=="ContextMenu"&&!(i.key==="F10"&&i.shiftKey))return;i.preventDefault();let m=i.currentTarget.getBoundingClientRect();t.setPoint({x:m.left,y:m.bottom}),t.onOpenChange(!0)})})});k.displayName="ContextMenuTrigger";import{Portal as se}from"../utils/portal.js";import{jsx as xe}from"react/jsx-runtime";var E=({forceMount:e,children:o,...n})=>{let t=x("ContextMenuPortal");return e||t.open?xe(se,{...n,children:o}):null};E.displayName="ContextMenuPortal";import*as p from"react";import{useComposedRefs as ce}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as fe}from"../utils/menuSub.js";import{skdxPart as Ce}from"../utils/part.js";import{composeEventHandlers as de,Primitive as Me}from"../utils/primitive.js";import{useDismiss as le}from"../utils/useDismiss.js";import{useRovingFocus as Re}from"../utils/useRovingFocus.js";import{jsx as Pe}from"react/jsx-runtime";var N=p.forwardRef(({forceMount:e,loop:o=!0,collisionPadding:n=8,onEscapeKeyDown:t,onPointerDownOutside:u,onFocusOutside:i,onInteractOutside:m,style:s,...c},l)=>{let r=x("ContextMenuContent"),J=ce(l,r.contentRef),[g,h]=p.useState(r.point),Q=Re({orientation:"vertical",loop:o,itemSelector:I,typeahead:!0}),R=p.useRef(!1),v=()=>{r.onOpenChange(!1),R.current=!0,r.triggerRef.current?.focus(),R.current=!1};return le({enabled:r.open,insideSelector:`[${fe}]`,onEscapeKeyDown:a=>{t?.(a),a.defaultPrevented||v()},onInteractOutside:a=>{R.current||m?.(a)},onPointerDownOutside:a=>{u?.(a),a.defaultPrevented||r.onOpenChange(!1)},onFocusOutside:a=>{R.current||(i?.(a),a.defaultPrevented||r.onOpenChange(!1))}},[r.contentRef]),p.useLayoutEffect(()=>{if(!r.open)return;let a=r.contentRef.current;if(!a){h(r.point);return}let{width:C,height:b}=a.getBoundingClientRect(),Z=window.innerWidth-C-n,j=window.innerHeight-b-n;h({x:Math.max(n,Math.min(r.point.x,Math.max(Z,n))),y:Math.max(n,Math.min(r.point.y,Math.max(j,n)))})},[r.open,r.point,r.contentRef,n]),p.useEffect(()=>{if(!r.open)return;let a=requestAnimationFrame(()=>{let C=r.contentRef.current;if(!C||C.contains(document.activeElement))return;(C.querySelector(I)??C).focus()});return()=>cancelAnimationFrame(a)},[r.open,r.contentRef]),e||r.open?Pe(Me.div,{role:"menu","aria-orientation":"vertical",id:r.contentId,"data-state":r.open?"open":"closed",tabIndex:-1,...c,...Ce("context-menu","content",c.className),ref:J,style:{position:"fixed",top:g.y,left:g.x,...s},onKeyDown:de(c.onKeyDown,a=>{Q(a),a.key==="Tab"&&(a.preventDefault(),v())})}):null});N.displayName="ContextMenuContent";import*as P from"react";import{skdxPart as ye}from"../utils/part.js";import{Primitive as Ie}from"../utils/primitive.js";import{useMenuItem as ge}from"../utils/useMenuItem.js";import{jsx as he}from"react/jsx-runtime";var d=P.createContext(!1);function M({disabled:e,onSelect:o,props:n}){let t=x("ContextMenuItem");return ge({disabled:e,onSelect:o,onSelected:()=>t.onOpenChange(!1),contentRef:t.contentRef,props:n})}var D=P.forwardRef(({disabled:e,onSelect:o,...n},t)=>{let u=M({disabled:e,onSelect:o,props:n});return he(Ie.div,{role:"menuitem",...n,...u,...ye("context-menu","item",n.className),ref:t})});D.displayName="ContextMenuItem";import*as L from"react";import{skdxPart as ve}from"../utils/part.js";import{Primitive as be}from"../utils/primitive.js";import{jsx as w}from"react/jsx-runtime";var G=L.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:n,onSelect:t,...u},i)=>{let m=M({disabled:n,onSelect:s=>{o?.(!e),t?.(s),s.preventDefault()},props:u});return w(d.Provider,{value:e,children:w(be.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...u,...m,...ve("context-menu","checkbox-item",u.className),ref:i})})});G.displayName="ContextMenuCheckboxItem";import*as O from"react";import{createSafeContext as Se}from"../utils/createContext.js";import{skdxPart as Te}from"../utils/part.js";import{Primitive as ke}from"../utils/primitive.js";import{jsx as H}from"react/jsx-runtime";var[Ee,F]=Se("ContextMenuRadioGroup"),K=O.forwardRef(({value:e,onValueChange:o,...n},t)=>H(Ee,{value:e,onValueChange:o,children:H(ke.div,{role:"group",...n,...Te("context-menu","radio-group",n.className),ref:t})}));K.displayName="ContextMenuRadioGroup";import*as A from"react";import{skdxPart as Ne}from"../utils/part.js";import{Primitive as De}from"../utils/primitive.js";import{jsx as V}from"react/jsx-runtime";var B=A.forwardRef(({value:e,disabled:o,onSelect:n,...t},u)=>{let i=F("ContextMenuRadioItem"),m=i.value===e,s=M({disabled:o,onSelect:c=>{i.onValueChange?.(e),n?.(c)},props:t});return V(d.Provider,{value:m,children:V(De.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...t,...s,...Ne("context-menu","radio-item",t.className),ref:u})})});B.displayName="ContextMenuRadioItem";import*as y from"react";import{skdxPart as we}from"../utils/part.js";import{Primitive as Le}from"../utils/primitive.js";import{jsx as Ge}from"react/jsx-runtime";var _=y.forwardRef(({forceMount:e,...o},n)=>{let t=y.useContext(d);return e||t?Ge(Le.span,{"data-state":t?"checked":"unchecked",...o,...we("context-menu","item-indicator",o.className),ref:n}):null});_.displayName="ContextMenuItemIndicator";import*as q from"react";import{skdxPart as He}from"../utils/part.js";import{Primitive as Oe}from"../utils/primitive.js";import{jsx as Fe}from"react/jsx-runtime";var U=q.forwardRef((e,o)=>Fe(Oe.div,{role:"group",...e,...He("context-menu","group",e.className),ref:o}));U.displayName="ContextMenuGroup";import*as X from"react";import{skdxPart as Ke}from"../utils/part.js";import{Primitive as Ve}from"../utils/primitive.js";import{jsx as Ae}from"react/jsx-runtime";var Y=X.forwardRef((e,o)=>Ae(Ve.div,{...e,...Ke("context-menu","label",e.className),ref:o}));Y.displayName="ContextMenuLabel";import*as z from"react";import{skdxPart as Be}from"../utils/part.js";import{Primitive as _e}from"../utils/primitive.js";import{jsx as qe}from"react/jsx-runtime";var W=z.forwardRef((e,o)=>qe(_e.div,{role:"separator","aria-orientation":"horizontal",...e,...Be("context-menu","separator",e.className),ref:o}));W.displayName="ContextMenuSeparator";import{MenuSub as Ue,MenuSubContent as Xe,MenuSubTrigger as Ye}from"../utils/menuSub.js";import{jsx as $e}from"react/jsx-runtime";function $(e){return $e(Ue,{family:"context-menu",...e})}$.displayName="ContextMenuSub";var ze=Ye,We=Xe;export{re as ContextMenu,G as ContextMenuCheckboxItem,N as ContextMenuContent,U as ContextMenuGroup,D as ContextMenuItem,_ as ContextMenuItemIndicator,Y as ContextMenuLabel,E as ContextMenuPortal,ne as ContextMenuProvider,K as ContextMenuRadioGroup,B as ContextMenuRadioItem,W as ContextMenuSeparator,$ as ContextMenuSub,We as ContextMenuSubContent,ze as ContextMenuSubTrigger,k as ContextMenuTrigger,I as ITEM_SELECTOR,x as useContextMenuContext};
|
|
1
|
+
import*as f from"react";import{createSafeContext as ee}from"../utils/createContext.js";import{useControllableState as te}from"../utils/useControllableState.js";import{useOpenChangeComplete as oe}from"../utils/useOpenChangeComplete.js";import{jsx as ae}from"react/jsx-runtime";var I='[role^="menuitem"]:not([data-disabled])',[ne,x]=ee("ContextMenu");function re({children:e,open:o,defaultOpen:n=!1,onOpenChange:t,onOpenChangeComplete:u}){let i=f.useRef(null),m=f.useRef(null),[s,c]=f.useState({x:0,y:0}),[l=!1,r]=te({prop:o,defaultProp:n,onChange:t});return oe(l,m,u),ae(ne,{triggerRef:i,contentRef:m,contentId:f.useId(),open:l,onOpenChange:r,point:s,setPoint:c,children:e})}re.displayName="ContextMenu";import*as T from"react";import{useComposedRefs as ie}from"../utils/composeRefs.js";import{skdxPart as ue}from"../utils/part.js";import{composeEventHandlers as S,Primitive as me}from"../utils/primitive.js";import{jsx as pe}from"react/jsx-runtime";var k=T.forwardRef(({disabled:e,...o},n)=>{let t=x("ContextMenuTrigger"),u=ie(n,t.triggerRef);return pe(me.div,{tabIndex:0,role:"group","aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,...o,...ue("context-menu","trigger",o.className),ref:u,onContextMenu:S(o.onContextMenu,i=>{e||(i.preventDefault(),t.setPoint({x:i.clientX,y:i.clientY}),t.onOpenChange(!0))}),onKeyDown:S(o.onKeyDown,i=>{if(e||i.key!=="ContextMenu"&&!(i.key==="F10"&&i.shiftKey))return;i.preventDefault();let m=i.currentTarget.getBoundingClientRect();t.setPoint({x:m.left,y:m.bottom}),t.onOpenChange(!0)})})});k.displayName="ContextMenuTrigger";import{Portal as se}from"../utils/portal.js";import{jsx as xe}from"react/jsx-runtime";var E=({forceMount:e,children:o,...n})=>{let t=x("ContextMenuPortal");return e||t.open?xe(se,{...n,children:o}):null};E.displayName="ContextMenuPortal";import*as p from"react";import{useComposedRefs as ce}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as fe}from"../utils/menuSub.js";import{skdxPart as Ce}from"../utils/part.js";import{composeEventHandlers as de,Primitive as Me}from"../utils/primitive.js";import{useDismiss as le}from"../utils/useDismiss.js";import{useRovingFocus as Re}from"../utils/useRovingFocus.js";import{jsx as Pe}from"react/jsx-runtime";var N=p.forwardRef(({forceMount:e,loop:o=!0,collisionPadding:n=8,onEscapeKeyDown:t,onPointerDownOutside:u,onFocusOutside:i,onInteractOutside:m,style:s,...c},l)=>{let r=x("ContextMenuContent"),J=ce(l,r.contentRef),[g,h]=p.useState(r.point),Q=Re({orientation:"vertical",loop:o,itemSelector:I,typeahead:!0}),R=p.useRef(!1),v=()=>{r.onOpenChange(!1),R.current=!0,r.triggerRef.current?.focus(),R.current=!1};return le({enabled:r.open,insideSelector:`[${fe}]`,onEscapeKeyDown:a=>{t?.(a),a.defaultPrevented||v()},onInteractOutside:a=>{R.current||m?.(a)},onPointerDownOutside:a=>{u?.(a),a.defaultPrevented||r.onOpenChange(!1)},onFocusOutside:a=>{R.current||(i?.(a),a.defaultPrevented||r.onOpenChange(!1))}},[r.contentRef]),p.useLayoutEffect(()=>{if(!r.open)return;let a=r.contentRef.current;if(!a){h(r.point);return}let{width:C,height:b}=a.getBoundingClientRect(),Z=window.innerWidth-C-n,j=window.innerHeight-b-n;h({x:Math.max(n,Math.min(r.point.x,Math.max(Z,n))),y:Math.max(n,Math.min(r.point.y,Math.max(j,n)))})},[r.open,r.point,r.contentRef,n]),p.useEffect(()=>{if(!r.open)return;let a=requestAnimationFrame(()=>{let C=r.contentRef.current;if(!C||C.contains(document.activeElement))return;(C.querySelector(I)??C).focus({preventScroll:!0})});return()=>cancelAnimationFrame(a)},[r.open,r.contentRef]),e||r.open?Pe(Me.div,{role:"menu","aria-orientation":"vertical",id:r.contentId,"data-state":r.open?"open":"closed",tabIndex:-1,...c,...Ce("context-menu","content",c.className),ref:J,style:{position:"fixed",top:g.y,left:g.x,...s},onKeyDown:de(c.onKeyDown,a=>{Q(a),a.key==="Tab"&&(a.preventDefault(),v())})}):null});N.displayName="ContextMenuContent";import*as P from"react";import{skdxPart as ye}from"../utils/part.js";import{Primitive as Ie}from"../utils/primitive.js";import{useMenuItem as ge}from"../utils/useMenuItem.js";import{jsx as he}from"react/jsx-runtime";var d=P.createContext(!1);function M({disabled:e,onSelect:o,props:n}){let t=x("ContextMenuItem");return ge({disabled:e,onSelect:o,onSelected:()=>t.onOpenChange(!1),contentRef:t.contentRef,props:n})}var D=P.forwardRef(({disabled:e,onSelect:o,...n},t)=>{let u=M({disabled:e,onSelect:o,props:n});return he(Ie.div,{role:"menuitem",...n,...u,...ye("context-menu","item",n.className),ref:t})});D.displayName="ContextMenuItem";import*as L from"react";import{skdxPart as ve}from"../utils/part.js";import{Primitive as be}from"../utils/primitive.js";import{jsx as w}from"react/jsx-runtime";var G=L.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:n,onSelect:t,...u},i)=>{let m=M({disabled:n,onSelect:s=>{o?.(!e),t?.(s),s.preventDefault()},props:u});return w(d.Provider,{value:e,children:w(be.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...u,...m,...ve("context-menu","checkbox-item",u.className),ref:i})})});G.displayName="ContextMenuCheckboxItem";import*as O from"react";import{createSafeContext as Se}from"../utils/createContext.js";import{skdxPart as Te}from"../utils/part.js";import{Primitive as ke}from"../utils/primitive.js";import{jsx as H}from"react/jsx-runtime";var[Ee,F]=Se("ContextMenuRadioGroup"),K=O.forwardRef(({value:e,onValueChange:o,...n},t)=>H(Ee,{value:e,onValueChange:o,children:H(ke.div,{role:"group",...n,...Te("context-menu","radio-group",n.className),ref:t})}));K.displayName="ContextMenuRadioGroup";import*as A from"react";import{skdxPart as Ne}from"../utils/part.js";import{Primitive as De}from"../utils/primitive.js";import{jsx as V}from"react/jsx-runtime";var B=A.forwardRef(({value:e,disabled:o,onSelect:n,...t},u)=>{let i=F("ContextMenuRadioItem"),m=i.value===e,s=M({disabled:o,onSelect:c=>{i.onValueChange?.(e),n?.(c)},props:t});return V(d.Provider,{value:m,children:V(De.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...t,...s,...Ne("context-menu","radio-item",t.className),ref:u})})});B.displayName="ContextMenuRadioItem";import*as y from"react";import{skdxPart as we}from"../utils/part.js";import{Primitive as Le}from"../utils/primitive.js";import{jsx as Ge}from"react/jsx-runtime";var _=y.forwardRef(({forceMount:e,...o},n)=>{let t=y.useContext(d);return e||t?Ge(Le.span,{"data-state":t?"checked":"unchecked",...o,...we("context-menu","item-indicator",o.className),ref:n}):null});_.displayName="ContextMenuItemIndicator";import*as q from"react";import{skdxPart as He}from"../utils/part.js";import{Primitive as Oe}from"../utils/primitive.js";import{jsx as Fe}from"react/jsx-runtime";var U=q.forwardRef((e,o)=>Fe(Oe.div,{role:"group",...e,...He("context-menu","group",e.className),ref:o}));U.displayName="ContextMenuGroup";import*as X from"react";import{skdxPart as Ke}from"../utils/part.js";import{Primitive as Ve}from"../utils/primitive.js";import{jsx as Ae}from"react/jsx-runtime";var Y=X.forwardRef((e,o)=>Ae(Ve.div,{...e,...Ke("context-menu","label",e.className),ref:o}));Y.displayName="ContextMenuLabel";import*as z from"react";import{skdxPart as Be}from"../utils/part.js";import{Primitive as _e}from"../utils/primitive.js";import{jsx as qe}from"react/jsx-runtime";var W=z.forwardRef((e,o)=>qe(_e.div,{role:"separator","aria-orientation":"horizontal",...e,...Be("context-menu","separator",e.className),ref:o}));W.displayName="ContextMenuSeparator";import{MenuSub as Ue,MenuSubContent as Xe,MenuSubTrigger as Ye}from"../utils/menuSub.js";import{jsx as $e}from"react/jsx-runtime";function $(e){return $e(Ue,{family:"context-menu",...e})}$.displayName="ContextMenuSub";var ze=Ye,We=Xe;export{re as ContextMenu,G as ContextMenuCheckboxItem,N as ContextMenuContent,U as ContextMenuGroup,D as ContextMenuItem,_ as ContextMenuItemIndicator,Y as ContextMenuLabel,E as ContextMenuPortal,ne as ContextMenuProvider,K as ContextMenuRadioGroup,B as ContextMenuRadioItem,W as ContextMenuSeparator,$ as ContextMenuSub,We as ContextMenuSubContent,ze as ContextMenuSubTrigger,k as ContextMenuTrigger,I as ITEM_SELECTOR,x as useContextMenuContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var $o=Object.create;var P=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Qo=Object.getOwnPropertyNames;var Xo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(o,e)=>{for(var r in e)P(o,r,{get:e[r],enumerable:!0})},_=(o,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Qo(e))!Yo.call(o,t)&&t!==r&&P(o,t,{get:()=>e[t],enumerable:!(n=Jo(e,t))||n.enumerable});return o};var d=(o,e,r)=>(r=o!=null?$o(Xo(o)):{},_(e||!o||!o.__esModule?P(r,"default",{value:o,enumerable:!0}):r,o)),jo=o=>_(P({},"__esModule",{value:!0}),o);var ee={};Zo(ee,{DropdownMenu:()=>J,DropdownMenuArrow:()=>Q,DropdownMenuCheckboxItem:()=>N,DropdownMenuContent:()=>T,DropdownMenuGroup:()=>K,DropdownMenuItem:()=>k,DropdownMenuItemIndicator:()=>A,DropdownMenuLabel:()=>V,DropdownMenuPortal:()=>S,DropdownMenuProvider:()=>$,DropdownMenuRadioGroup:()=>G,DropdownMenuRadioItem:()=>O,DropdownMenuSeparator:()=>B,DropdownMenuSub:()=>F,DropdownMenuSubContent:()=>_o,DropdownMenuSubTrigger:()=>Fo,DropdownMenuTrigger:()=>h,ITEM_SELECTOR:()=>C,useDropdownMenuContext:()=>u});module.exports=jo(ee);var f=d(require("react"),1),U=require("../utils/createContext.cjs"),q=require("../utils/part.cjs"),x=require("../utils/popper.cjs"),W=require("../utils/useControllableState.cjs"),z=require("../utils/useOpenChangeComplete.cjs"),R=require("react/jsx-runtime"),C='[role^="menuitem"]:not([data-disabled])',[$,u]=(0,U.createSafeContext)("DropdownMenu");function J({children:o,open:e,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:t}){let s=f.useRef(null),m=f.useRef(null),[i=!1,w]=(0,W.useControllableState)({prop:e,defaultProp:r,onChange:n});return(0,z.useOpenChangeComplete)(i,m,t),(0,R.jsx)(x.PopperRoot,{children:(0,R.jsx)($,{triggerRef:s,contentRef:m,contentId:f.useId(),open:i,onOpenChange:w,children:o})})}J.displayName="DropdownMenu";var Q=f.forwardRef((o,e)=>(0,R.jsx)(x.PopperArrow,{...o,...(0,q.skdxPart)("dropdown-menu","arrow",o.className),ref:e}));Q.displayName="DropdownMenuArrow";var X=d(require("react"),1),Y=require("../utils/composeRefs.cjs"),Z=require("../utils/part.cjs"),j=require("../utils/popper.cjs"),M=require("../utils/primitive.cjs");var b=require("react/jsx-runtime"),h=X.forwardRef((o,e)=>{let r=u("DropdownMenuTrigger"),n=(0,Y.useComposedRefs)(e,r.triggerRef);return(0,b.jsx)(j.PopperAnchor,{asChild:!0,children:(0,b.jsx)(M.Primitive.button,{type:"button","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":r.open?"open":"closed","data-disabled":o.disabled?"":void 0,...o,...(0,Z.skdxPart)("dropdown-menu","trigger",o.className),ref:n,onClick:(0,M.composeEventHandlers)(o.onClick,()=>{o.disabled||r.onOpenChange(!r.open)}),onKeyDown:(0,M.composeEventHandlers)(o.onKeyDown,t=>{o.disabled||["ArrowDown","ArrowUp"].includes(t.key)&&(t.preventDefault(),r.onOpenChange(!0))})})})});h.displayName="DropdownMenuTrigger";var oo=require("../utils/portal.cjs");var eo=require("react/jsx-runtime"),S=({forceMount:o,children:e,...r})=>{let n=u("DropdownMenuPortal");return o||n.open?(0,eo.jsx)(oo.Portal,{...r,children:e}):null};S.displayName="DropdownMenuPortal";var I=d(require("react"),1),ro=require("../utils/composeRefs.cjs"),no=require("../utils/menuSub.cjs"),to=require("../utils/part.cjs"),po=require("../utils/popper.cjs"),ao=require("../utils/primitive.cjs"),mo=require("../utils/useDismiss.cjs"),io=require("../utils/useRovingFocus.cjs");var uo=require("react/jsx-runtime"),T=I.forwardRef(({forceMount:o,loop:e=!0,onEscapeKeyDown:r,onPointerDownOutside:n,onFocusOutside:t,onInteractOutside:s,side:m="bottom",align:i="start",sideOffset:w=4,...v},qo)=>{let p=u("DropdownMenuContent"),Wo=(0,ro.useComposedRefs)(qo,p.contentRef),zo=(0,io.useRovingFocus)({orientation:"vertical",loop:e,itemSelector:C,typeahead:!0});return(0,mo.useDismiss)({enabled:p.open,insideSelector:`[${no.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:a=>{r?.(a),a.defaultPrevented||(p.onOpenChange(!1),p.triggerRef.current?.focus())},onInteractOutside:s,onPointerDownOutside:a=>{n?.(a),a.defaultPrevented||p.onOpenChange(!1)},onFocusOutside:a=>{t?.(a),a.defaultPrevented||p.onOpenChange(!1)}},[p.contentRef,p.triggerRef]),I.useEffect(()=>{if(!p.open)return;let a=requestAnimationFrame(()=>{(p.contentRef.current?.querySelector(C)??p.contentRef.current)?.focus()});return()=>cancelAnimationFrame(a)},[p.open,p.contentRef]),o||p.open?(0,uo.jsx)(po.PopperContent,{component:"dropdown-menu",role:"menu","aria-orientation":"vertical",id:p.contentId,"data-state":p.open?"open":"closed",tabIndex:-1,side:m,align:i,sideOffset:w,...v,...(0,to.skdxPart)("dropdown-menu","content",v.className),ref:Wo,onKeyDown:(0,ao.composeEventHandlers)(v.onKeyDown,a=>{zo(a),a.key==="Tab"&&(a.preventDefault(),p.onOpenChange(!1),p.triggerRef.current?.focus())})}):null});T.displayName="DropdownMenuContent";var g=d(require("react"),1),so=require("../utils/part.cjs"),fo=require("../utils/primitive.cjs"),co=require("../utils/useMenuItem.cjs");var lo=require("react/jsx-runtime"),c=g.createContext(!1);function D({disabled:o,onSelect:e,props:r}){let n=u("DropdownMenuItem");return(0,co.useMenuItem)({disabled:o,onSelect:e,onSelected:()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()},contentRef:n.contentRef,props:r})}var k=g.forwardRef(({disabled:o,onSelect:e,...r},n)=>{let t=D({disabled:o,onSelect:e,props:r});return(0,lo.jsx)(fo.Primitive.div,{role:"menuitem",...r,...t,...(0,so.skdxPart)("dropdown-menu","item",r.className),ref:n})});k.displayName="DropdownMenuItem";var wo=d(require("react"),1),Mo=require("../utils/part.cjs"),Do=require("../utils/primitive.cjs");var E=require("react/jsx-runtime"),N=wo.forwardRef(({checked:o=!1,onCheckedChange:e,disabled:r,onSelect:n,...t},s)=>{let m=D({disabled:r,onSelect:i=>{e?.(!o),n?.(i),i.preventDefault()},props:t});return(0,E.jsx)(c.Provider,{value:o,children:(0,E.jsx)(Do.Primitive.div,{role:"menuitemcheckbox","aria-checked":o,"data-state":o?"checked":"unchecked",...t,...m,...(0,Mo.skdxPart)("dropdown-menu","checkbox-item",t.className),ref:s})})});N.displayName="DropdownMenuCheckboxItem";var Po=d(require("react"),1),Ro=require("../utils/createContext.cjs"),xo=require("../utils/part.cjs"),Co=require("../utils/primitive.cjs"),L=require("react/jsx-runtime"),[oe,Io]=(0,Ro.createSafeContext)("DropdownMenuRadioGroup"),G=Po.forwardRef(({value:o,onValueChange:e,...r},n)=>(0,L.jsx)(oe,{value:o,onValueChange:e,children:(0,L.jsx)(Co.Primitive.div,{role:"group",...r,...(0,xo.skdxPart)("dropdown-menu","radio-group",r.className),ref:n})}));G.displayName="DropdownMenuRadioGroup";var go=d(require("react"),1),yo=require("../utils/part.cjs"),vo=require("../utils/primitive.cjs");var H=require("react/jsx-runtime"),O=go.forwardRef(({value:o,disabled:e,onSelect:r,...n},t)=>{let s=Io("DropdownMenuRadioItem"),m=s.value===o,i=D({disabled:e,onSelect:w=>{s.onValueChange?.(o),r?.(w)},props:n});return(0,H.jsx)(c.Provider,{value:m,children:(0,H.jsx)(vo.Primitive.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...n,...i,...(0,yo.skdxPart)("dropdown-menu","radio-item",n.className),ref:t})})});O.displayName="DropdownMenuRadioItem";var y=d(require("react"),1),bo=require("../utils/part.cjs"),ho=require("../utils/primitive.cjs");var So=require("react/jsx-runtime"),A=y.forwardRef(({forceMount:o,...e},r)=>{let n=y.useContext(c);return o||n?(0,So.jsx)(ho.Primitive.span,{"data-state":n?"checked":"unchecked",...e,...(0,bo.skdxPart)("dropdown-menu","item-indicator",e.className),ref:r}):null});A.displayName="DropdownMenuItemIndicator";var To=d(require("react"),1),ko=require("../utils/part.cjs"),Eo=require("../utils/primitive.cjs"),No=require("react/jsx-runtime"),K=To.forwardRef((o,e)=>(0,No.jsx)(Eo.Primitive.div,{role:"group",...o,...(0,ko.skdxPart)("dropdown-menu","group",o.className),ref:e}));K.displayName="DropdownMenuGroup";var Lo=d(require("react"),1),Go=require("../utils/part.cjs"),Ho=require("../utils/primitive.cjs"),Oo=require("react/jsx-runtime"),V=Lo.forwardRef((o,e)=>(0,Oo.jsx)(Ho.Primitive.div,{...o,...(0,Go.skdxPart)("dropdown-menu","label",o.className),ref:e}));V.displayName="DropdownMenuLabel";var Ao=d(require("react"),1),Ko=require("../utils/part.cjs"),Vo=require("../utils/primitive.cjs"),Bo=require("react/jsx-runtime"),B=Ao.forwardRef((o,e)=>(0,Bo.jsx)(Vo.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,...(0,Ko.skdxPart)("dropdown-menu","separator",o.className),ref:e}));B.displayName="DropdownMenuSeparator";var l=require("../utils/menuSub.cjs"),Uo=require("react/jsx-runtime");function F(o){return(0,Uo.jsx)(l.MenuSub,{family:"dropdown-menu",...o})}F.displayName="DropdownMenuSub";var Fo=l.MenuSubTrigger,_o=l.MenuSubContent;0&&(module.exports={DropdownMenu,DropdownMenuArrow,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuItemIndicator,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuProvider,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger,ITEM_SELECTOR,useDropdownMenuContext});
|
|
1
|
+
"use strict";var $o=Object.create;var P=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Qo=Object.getOwnPropertyNames;var Xo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(o,e)=>{for(var r in e)P(o,r,{get:e[r],enumerable:!0})},_=(o,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Qo(e))!Yo.call(o,t)&&t!==r&&P(o,t,{get:()=>e[t],enumerable:!(n=Jo(e,t))||n.enumerable});return o};var d=(o,e,r)=>(r=o!=null?$o(Xo(o)):{},_(e||!o||!o.__esModule?P(r,"default",{value:o,enumerable:!0}):r,o)),jo=o=>_(P({},"__esModule",{value:!0}),o);var ee={};Zo(ee,{DropdownMenu:()=>J,DropdownMenuArrow:()=>Q,DropdownMenuCheckboxItem:()=>N,DropdownMenuContent:()=>T,DropdownMenuGroup:()=>K,DropdownMenuItem:()=>k,DropdownMenuItemIndicator:()=>A,DropdownMenuLabel:()=>V,DropdownMenuPortal:()=>S,DropdownMenuProvider:()=>$,DropdownMenuRadioGroup:()=>G,DropdownMenuRadioItem:()=>O,DropdownMenuSeparator:()=>B,DropdownMenuSub:()=>F,DropdownMenuSubContent:()=>_o,DropdownMenuSubTrigger:()=>Fo,DropdownMenuTrigger:()=>h,ITEM_SELECTOR:()=>C,useDropdownMenuContext:()=>u});module.exports=jo(ee);var f=d(require("react"),1),U=require("../utils/createContext.cjs"),q=require("../utils/part.cjs"),x=require("../utils/popper.cjs"),W=require("../utils/useControllableState.cjs"),z=require("../utils/useOpenChangeComplete.cjs"),R=require("react/jsx-runtime"),C='[role^="menuitem"]:not([data-disabled])',[$,u]=(0,U.createSafeContext)("DropdownMenu");function J({children:o,open:e,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:t}){let s=f.useRef(null),m=f.useRef(null),[i=!1,w]=(0,W.useControllableState)({prop:e,defaultProp:r,onChange:n});return(0,z.useOpenChangeComplete)(i,m,t),(0,R.jsx)(x.PopperRoot,{children:(0,R.jsx)($,{triggerRef:s,contentRef:m,contentId:f.useId(),open:i,onOpenChange:w,children:o})})}J.displayName="DropdownMenu";var Q=f.forwardRef((o,e)=>(0,R.jsx)(x.PopperArrow,{...o,...(0,q.skdxPart)("dropdown-menu","arrow",o.className),ref:e}));Q.displayName="DropdownMenuArrow";var X=d(require("react"),1),Y=require("../utils/composeRefs.cjs"),Z=require("../utils/part.cjs"),j=require("../utils/popper.cjs"),M=require("../utils/primitive.cjs");var b=require("react/jsx-runtime"),h=X.forwardRef((o,e)=>{let r=u("DropdownMenuTrigger"),n=(0,Y.useComposedRefs)(e,r.triggerRef);return(0,b.jsx)(j.PopperAnchor,{asChild:!0,children:(0,b.jsx)(M.Primitive.button,{type:"button","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":r.open?"open":"closed","data-disabled":o.disabled?"":void 0,...o,...(0,Z.skdxPart)("dropdown-menu","trigger",o.className),ref:n,onClick:(0,M.composeEventHandlers)(o.onClick,()=>{o.disabled||r.onOpenChange(!r.open)}),onKeyDown:(0,M.composeEventHandlers)(o.onKeyDown,t=>{o.disabled||["ArrowDown","ArrowUp"].includes(t.key)&&(t.preventDefault(),r.onOpenChange(!0))})})})});h.displayName="DropdownMenuTrigger";var oo=require("../utils/portal.cjs");var eo=require("react/jsx-runtime"),S=({forceMount:o,children:e,...r})=>{let n=u("DropdownMenuPortal");return o||n.open?(0,eo.jsx)(oo.Portal,{...r,children:e}):null};S.displayName="DropdownMenuPortal";var I=d(require("react"),1),ro=require("../utils/composeRefs.cjs"),no=require("../utils/menuSub.cjs"),to=require("../utils/part.cjs"),po=require("../utils/popper.cjs"),ao=require("../utils/primitive.cjs"),mo=require("../utils/useDismiss.cjs"),io=require("../utils/useRovingFocus.cjs");var uo=require("react/jsx-runtime"),T=I.forwardRef(({forceMount:o,loop:e=!0,onEscapeKeyDown:r,onPointerDownOutside:n,onFocusOutside:t,onInteractOutside:s,side:m="bottom",align:i="start",sideOffset:w=4,...v},qo)=>{let p=u("DropdownMenuContent"),Wo=(0,ro.useComposedRefs)(qo,p.contentRef),zo=(0,io.useRovingFocus)({orientation:"vertical",loop:e,itemSelector:C,typeahead:!0});return(0,mo.useDismiss)({enabled:p.open,insideSelector:`[${no.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:a=>{r?.(a),a.defaultPrevented||(p.onOpenChange(!1),p.triggerRef.current?.focus())},onInteractOutside:s,onPointerDownOutside:a=>{n?.(a),a.defaultPrevented||p.onOpenChange(!1)},onFocusOutside:a=>{t?.(a),a.defaultPrevented||p.onOpenChange(!1)}},[p.contentRef,p.triggerRef]),I.useEffect(()=>{if(!p.open)return;let a=requestAnimationFrame(()=>{(p.contentRef.current?.querySelector(C)??p.contentRef.current)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(a)},[p.open,p.contentRef]),o||p.open?(0,uo.jsx)(po.PopperContent,{component:"dropdown-menu",role:"menu","aria-orientation":"vertical",id:p.contentId,"data-state":p.open?"open":"closed",tabIndex:-1,side:m,align:i,sideOffset:w,...v,...(0,to.skdxPart)("dropdown-menu","content",v.className),ref:Wo,onKeyDown:(0,ao.composeEventHandlers)(v.onKeyDown,a=>{zo(a),a.key==="Tab"&&(a.preventDefault(),p.onOpenChange(!1),p.triggerRef.current?.focus())})}):null});T.displayName="DropdownMenuContent";var g=d(require("react"),1),so=require("../utils/part.cjs"),fo=require("../utils/primitive.cjs"),co=require("../utils/useMenuItem.cjs");var lo=require("react/jsx-runtime"),c=g.createContext(!1);function D({disabled:o,onSelect:e,props:r}){let n=u("DropdownMenuItem");return(0,co.useMenuItem)({disabled:o,onSelect:e,onSelected:()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()},contentRef:n.contentRef,props:r})}var k=g.forwardRef(({disabled:o,onSelect:e,...r},n)=>{let t=D({disabled:o,onSelect:e,props:r});return(0,lo.jsx)(fo.Primitive.div,{role:"menuitem",...r,...t,...(0,so.skdxPart)("dropdown-menu","item",r.className),ref:n})});k.displayName="DropdownMenuItem";var wo=d(require("react"),1),Mo=require("../utils/part.cjs"),Do=require("../utils/primitive.cjs");var E=require("react/jsx-runtime"),N=wo.forwardRef(({checked:o=!1,onCheckedChange:e,disabled:r,onSelect:n,...t},s)=>{let m=D({disabled:r,onSelect:i=>{e?.(!o),n?.(i),i.preventDefault()},props:t});return(0,E.jsx)(c.Provider,{value:o,children:(0,E.jsx)(Do.Primitive.div,{role:"menuitemcheckbox","aria-checked":o,"data-state":o?"checked":"unchecked",...t,...m,...(0,Mo.skdxPart)("dropdown-menu","checkbox-item",t.className),ref:s})})});N.displayName="DropdownMenuCheckboxItem";var Po=d(require("react"),1),Ro=require("../utils/createContext.cjs"),xo=require("../utils/part.cjs"),Co=require("../utils/primitive.cjs"),L=require("react/jsx-runtime"),[oe,Io]=(0,Ro.createSafeContext)("DropdownMenuRadioGroup"),G=Po.forwardRef(({value:o,onValueChange:e,...r},n)=>(0,L.jsx)(oe,{value:o,onValueChange:e,children:(0,L.jsx)(Co.Primitive.div,{role:"group",...r,...(0,xo.skdxPart)("dropdown-menu","radio-group",r.className),ref:n})}));G.displayName="DropdownMenuRadioGroup";var go=d(require("react"),1),yo=require("../utils/part.cjs"),vo=require("../utils/primitive.cjs");var H=require("react/jsx-runtime"),O=go.forwardRef(({value:o,disabled:e,onSelect:r,...n},t)=>{let s=Io("DropdownMenuRadioItem"),m=s.value===o,i=D({disabled:e,onSelect:w=>{s.onValueChange?.(o),r?.(w)},props:n});return(0,H.jsx)(c.Provider,{value:m,children:(0,H.jsx)(vo.Primitive.div,{role:"menuitemradio","aria-checked":m,"data-state":m?"checked":"unchecked",...n,...i,...(0,yo.skdxPart)("dropdown-menu","radio-item",n.className),ref:t})})});O.displayName="DropdownMenuRadioItem";var y=d(require("react"),1),bo=require("../utils/part.cjs"),ho=require("../utils/primitive.cjs");var So=require("react/jsx-runtime"),A=y.forwardRef(({forceMount:o,...e},r)=>{let n=y.useContext(c);return o||n?(0,So.jsx)(ho.Primitive.span,{"data-state":n?"checked":"unchecked",...e,...(0,bo.skdxPart)("dropdown-menu","item-indicator",e.className),ref:r}):null});A.displayName="DropdownMenuItemIndicator";var To=d(require("react"),1),ko=require("../utils/part.cjs"),Eo=require("../utils/primitive.cjs"),No=require("react/jsx-runtime"),K=To.forwardRef((o,e)=>(0,No.jsx)(Eo.Primitive.div,{role:"group",...o,...(0,ko.skdxPart)("dropdown-menu","group",o.className),ref:e}));K.displayName="DropdownMenuGroup";var Lo=d(require("react"),1),Go=require("../utils/part.cjs"),Ho=require("../utils/primitive.cjs"),Oo=require("react/jsx-runtime"),V=Lo.forwardRef((o,e)=>(0,Oo.jsx)(Ho.Primitive.div,{...o,...(0,Go.skdxPart)("dropdown-menu","label",o.className),ref:e}));V.displayName="DropdownMenuLabel";var Ao=d(require("react"),1),Ko=require("../utils/part.cjs"),Vo=require("../utils/primitive.cjs"),Bo=require("react/jsx-runtime"),B=Ao.forwardRef((o,e)=>(0,Bo.jsx)(Vo.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,...(0,Ko.skdxPart)("dropdown-menu","separator",o.className),ref:e}));B.displayName="DropdownMenuSeparator";var l=require("../utils/menuSub.cjs"),Uo=require("react/jsx-runtime");function F(o){return(0,Uo.jsx)(l.MenuSub,{family:"dropdown-menu",...o})}F.displayName="DropdownMenuSub";var Fo=l.MenuSubTrigger,_o=l.MenuSubContent;0&&(module.exports={DropdownMenu,DropdownMenuArrow,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuItemIndicator,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuProvider,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger,ITEM_SELECTOR,useDropdownMenuContext});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as s from"react";import{createSafeContext as Q}from"../utils/createContext.js";import{skdxPart as X}from"../utils/part.js";import{PopperArrow as Y,PopperRoot as Z}from"../utils/popper.js";import{useControllableState as j}from"../utils/useControllableState.js";import{useOpenChangeComplete as oo}from"../utils/useOpenChangeComplete.js";import{jsx as R}from"react/jsx-runtime";var x='[role^="menuitem"]:not([data-disabled])',[eo,u]=Q("DropdownMenu");function ro({children:o,open:e,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:p}){let i=s.useRef(null),d=s.useRef(null),[m=!1,c]=j({prop:e,defaultProp:r,onChange:n});return oo(m,d,p),R(Z,{children:R(eo,{triggerRef:i,contentRef:d,contentId:s.useId(),open:m,onOpenChange:c,children:o})})}ro.displayName="DropdownMenu";var no=s.forwardRef((o,e)=>R(Y,{...o,...X("dropdown-menu","arrow",o.className),ref:e}));no.displayName="DropdownMenuArrow";import*as g from"react";import{useComposedRefs as to}from"../utils/composeRefs.js";import{skdxPart as po}from"../utils/part.js";import{PopperAnchor as ao}from"../utils/popper.js";import{composeEventHandlers as C,Primitive as mo}from"../utils/primitive.js";import{jsx as I}from"react/jsx-runtime";var y=g.forwardRef((o,e)=>{let r=u("DropdownMenuTrigger"),n=to(e,r.triggerRef);return I(ao,{asChild:!0,children:I(mo.button,{type:"button","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":r.open?"open":"closed","data-disabled":o.disabled?"":void 0,...o,...po("dropdown-menu","trigger",o.className),ref:n,onClick:C(o.onClick,()=>{o.disabled||r.onOpenChange(!r.open)}),onKeyDown:C(o.onKeyDown,p=>{o.disabled||["ArrowDown","ArrowUp"].includes(p.key)&&(p.preventDefault(),r.onOpenChange(!0))})})})});y.displayName="DropdownMenuTrigger";import{Portal as io}from"../utils/portal.js";import{jsx as uo}from"react/jsx-runtime";var v=({forceMount:o,children:e,...r})=>{let n=u("DropdownMenuPortal");return o||n.open?uo(io,{...r,children:e}):null};v.displayName="DropdownMenuPortal";import*as w from"react";import{useComposedRefs as so}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as fo}from"../utils/menuSub.js";import{skdxPart as co}from"../utils/part.js";import{PopperContent as lo}from"../utils/popper.js";import{composeEventHandlers as wo}from"../utils/primitive.js";import{useDismiss as Mo}from"../utils/useDismiss.js";import{useRovingFocus as Do}from"../utils/useRovingFocus.js";import{jsx as Po}from"react/jsx-runtime";var b=w.forwardRef(({forceMount:o,loop:e=!0,onEscapeKeyDown:r,onPointerDownOutside:n,onFocusOutside:p,onInteractOutside:i,side:d="bottom",align:m="start",sideOffset:c=4,...P},z)=>{let t=u("DropdownMenuContent"),$=so(z,t.contentRef),J=Do({orientation:"vertical",loop:e,itemSelector:x,typeahead:!0});return Mo({enabled:t.open,insideSelector:`[${fo}]`,onEscapeKeyDown:a=>{r?.(a),a.defaultPrevented||(t.onOpenChange(!1),t.triggerRef.current?.focus())},onInteractOutside:i,onPointerDownOutside:a=>{n?.(a),a.defaultPrevented||t.onOpenChange(!1)},onFocusOutside:a=>{p?.(a),a.defaultPrevented||t.onOpenChange(!1)}},[t.contentRef,t.triggerRef]),w.useEffect(()=>{if(!t.open)return;let a=requestAnimationFrame(()=>{(t.contentRef.current?.querySelector(x)??t.contentRef.current)?.focus()});return()=>cancelAnimationFrame(a)},[t.open,t.contentRef]),o||t.open?Po(lo,{component:"dropdown-menu",role:"menu","aria-orientation":"vertical",id:t.contentId,"data-state":t.open?"open":"closed",tabIndex:-1,side:d,align:m,sideOffset:c,...P,...co("dropdown-menu","content",P.className),ref:$,onKeyDown:wo(P.onKeyDown,a=>{J(a),a.key==="Tab"&&(a.preventDefault(),t.onOpenChange(!1),t.triggerRef.current?.focus())})}):null});b.displayName="DropdownMenuContent";import*as M from"react";import{skdxPart as Ro}from"../utils/part.js";import{Primitive as xo}from"../utils/primitive.js";import{useMenuItem as Co}from"../utils/useMenuItem.js";import{jsx as Io}from"react/jsx-runtime";var f=M.createContext(!1);function l({disabled:o,onSelect:e,props:r}){let n=u("DropdownMenuItem");return Co({disabled:o,onSelect:e,onSelected:()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()},contentRef:n.contentRef,props:r})}var h=M.forwardRef(({disabled:o,onSelect:e,...r},n)=>{let p=l({disabled:o,onSelect:e,props:r});return Io(xo.div,{role:"menuitem",...r,...p,...Ro("dropdown-menu","item",r.className),ref:n})});h.displayName="DropdownMenuItem";import*as T from"react";import{skdxPart as go}from"../utils/part.js";import{Primitive as yo}from"../utils/primitive.js";import{jsx as S}from"react/jsx-runtime";var k=T.forwardRef(({checked:o=!1,onCheckedChange:e,disabled:r,onSelect:n,...p},i)=>{let d=l({disabled:r,onSelect:m=>{e?.(!o),n?.(m),m.preventDefault()},props:p});return S(f.Provider,{value:o,children:S(yo.div,{role:"menuitemcheckbox","aria-checked":o,"data-state":o?"checked":"unchecked",...p,...d,...go("dropdown-menu","checkbox-item",p.className),ref:i})})});k.displayName="DropdownMenuCheckboxItem";import*as N from"react";import{createSafeContext as vo}from"../utils/createContext.js";import{skdxPart as bo}from"../utils/part.js";import{Primitive as ho}from"../utils/primitive.js";import{jsx as E}from"react/jsx-runtime";var[So,L]=vo("DropdownMenuRadioGroup"),G=N.forwardRef(({value:o,onValueChange:e,...r},n)=>E(So,{value:o,onValueChange:e,children:E(ho.div,{role:"group",...r,...bo("dropdown-menu","radio-group",r.className),ref:n})}));G.displayName="DropdownMenuRadioGroup";import*as O from"react";import{skdxPart as To}from"../utils/part.js";import{Primitive as ko}from"../utils/primitive.js";import{jsx as H}from"react/jsx-runtime";var A=O.forwardRef(({value:o,disabled:e,onSelect:r,...n},p)=>{let i=L("DropdownMenuRadioItem"),d=i.value===o,m=l({disabled:e,onSelect:c=>{i.onValueChange?.(o),r?.(c)},props:n});return H(f.Provider,{value:d,children:H(ko.div,{role:"menuitemradio","aria-checked":d,"data-state":d?"checked":"unchecked",...n,...m,...To("dropdown-menu","radio-item",n.className),ref:p})})});A.displayName="DropdownMenuRadioItem";import*as D from"react";import{skdxPart as Eo}from"../utils/part.js";import{Primitive as No}from"../utils/primitive.js";import{jsx as Lo}from"react/jsx-runtime";var K=D.forwardRef(({forceMount:o,...e},r)=>{let n=D.useContext(f);return o||n?Lo(No.span,{"data-state":n?"checked":"unchecked",...e,...Eo("dropdown-menu","item-indicator",e.className),ref:r}):null});K.displayName="DropdownMenuItemIndicator";import*as V from"react";import{skdxPart as Go}from"../utils/part.js";import{Primitive as Ho}from"../utils/primitive.js";import{jsx as Oo}from"react/jsx-runtime";var B=V.forwardRef((o,e)=>Oo(Ho.div,{role:"group",...o,...Go("dropdown-menu","group",o.className),ref:e}));B.displayName="DropdownMenuGroup";import*as F from"react";import{skdxPart as Ao}from"../utils/part.js";import{Primitive as Ko}from"../utils/primitive.js";import{jsx as Vo}from"react/jsx-runtime";var _=F.forwardRef((o,e)=>Vo(Ko.div,{...o,...Ao("dropdown-menu","label",o.className),ref:e}));_.displayName="DropdownMenuLabel";import*as U from"react";import{skdxPart as Bo}from"../utils/part.js";import{Primitive as Fo}from"../utils/primitive.js";import{jsx as _o}from"react/jsx-runtime";var q=U.forwardRef((o,e)=>_o(Fo.div,{role:"separator","aria-orientation":"horizontal",...o,...Bo("dropdown-menu","separator",o.className),ref:e}));q.displayName="DropdownMenuSeparator";import{MenuSub as Uo,MenuSubContent as qo,MenuSubTrigger as Wo}from"../utils/menuSub.js";import{jsx as Jo}from"react/jsx-runtime";function W(o){return Jo(Uo,{family:"dropdown-menu",...o})}W.displayName="DropdownMenuSub";var zo=Wo,$o=qo;export{ro as DropdownMenu,no as DropdownMenuArrow,k as DropdownMenuCheckboxItem,b as DropdownMenuContent,B as DropdownMenuGroup,h as DropdownMenuItem,K as DropdownMenuItemIndicator,_ as DropdownMenuLabel,v as DropdownMenuPortal,eo as DropdownMenuProvider,G as DropdownMenuRadioGroup,A as DropdownMenuRadioItem,q as DropdownMenuSeparator,W as DropdownMenuSub,$o as DropdownMenuSubContent,zo as DropdownMenuSubTrigger,y as DropdownMenuTrigger,x as ITEM_SELECTOR,u as useDropdownMenuContext};
|
|
1
|
+
import*as s from"react";import{createSafeContext as Q}from"../utils/createContext.js";import{skdxPart as X}from"../utils/part.js";import{PopperArrow as Y,PopperRoot as Z}from"../utils/popper.js";import{useControllableState as j}from"../utils/useControllableState.js";import{useOpenChangeComplete as oo}from"../utils/useOpenChangeComplete.js";import{jsx as R}from"react/jsx-runtime";var x='[role^="menuitem"]:not([data-disabled])',[eo,u]=Q("DropdownMenu");function ro({children:o,open:e,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:p}){let i=s.useRef(null),d=s.useRef(null),[m=!1,c]=j({prop:e,defaultProp:r,onChange:n});return oo(m,d,p),R(Z,{children:R(eo,{triggerRef:i,contentRef:d,contentId:s.useId(),open:m,onOpenChange:c,children:o})})}ro.displayName="DropdownMenu";var no=s.forwardRef((o,e)=>R(Y,{...o,...X("dropdown-menu","arrow",o.className),ref:e}));no.displayName="DropdownMenuArrow";import*as g from"react";import{useComposedRefs as to}from"../utils/composeRefs.js";import{skdxPart as po}from"../utils/part.js";import{PopperAnchor as ao}from"../utils/popper.js";import{composeEventHandlers as C,Primitive as mo}from"../utils/primitive.js";import{jsx as I}from"react/jsx-runtime";var y=g.forwardRef((o,e)=>{let r=u("DropdownMenuTrigger"),n=to(e,r.triggerRef);return I(ao,{asChild:!0,children:I(mo.button,{type:"button","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":r.open?"open":"closed","data-disabled":o.disabled?"":void 0,...o,...po("dropdown-menu","trigger",o.className),ref:n,onClick:C(o.onClick,()=>{o.disabled||r.onOpenChange(!r.open)}),onKeyDown:C(o.onKeyDown,p=>{o.disabled||["ArrowDown","ArrowUp"].includes(p.key)&&(p.preventDefault(),r.onOpenChange(!0))})})})});y.displayName="DropdownMenuTrigger";import{Portal as io}from"../utils/portal.js";import{jsx as uo}from"react/jsx-runtime";var v=({forceMount:o,children:e,...r})=>{let n=u("DropdownMenuPortal");return o||n.open?uo(io,{...r,children:e}):null};v.displayName="DropdownMenuPortal";import*as w from"react";import{useComposedRefs as so}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as fo}from"../utils/menuSub.js";import{skdxPart as co}from"../utils/part.js";import{PopperContent as lo}from"../utils/popper.js";import{composeEventHandlers as wo}from"../utils/primitive.js";import{useDismiss as Mo}from"../utils/useDismiss.js";import{useRovingFocus as Do}from"../utils/useRovingFocus.js";import{jsx as Po}from"react/jsx-runtime";var b=w.forwardRef(({forceMount:o,loop:e=!0,onEscapeKeyDown:r,onPointerDownOutside:n,onFocusOutside:p,onInteractOutside:i,side:d="bottom",align:m="start",sideOffset:c=4,...P},z)=>{let t=u("DropdownMenuContent"),$=so(z,t.contentRef),J=Do({orientation:"vertical",loop:e,itemSelector:x,typeahead:!0});return Mo({enabled:t.open,insideSelector:`[${fo}]`,onEscapeKeyDown:a=>{r?.(a),a.defaultPrevented||(t.onOpenChange(!1),t.triggerRef.current?.focus())},onInteractOutside:i,onPointerDownOutside:a=>{n?.(a),a.defaultPrevented||t.onOpenChange(!1)},onFocusOutside:a=>{p?.(a),a.defaultPrevented||t.onOpenChange(!1)}},[t.contentRef,t.triggerRef]),w.useEffect(()=>{if(!t.open)return;let a=requestAnimationFrame(()=>{(t.contentRef.current?.querySelector(x)??t.contentRef.current)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(a)},[t.open,t.contentRef]),o||t.open?Po(lo,{component:"dropdown-menu",role:"menu","aria-orientation":"vertical",id:t.contentId,"data-state":t.open?"open":"closed",tabIndex:-1,side:d,align:m,sideOffset:c,...P,...co("dropdown-menu","content",P.className),ref:$,onKeyDown:wo(P.onKeyDown,a=>{J(a),a.key==="Tab"&&(a.preventDefault(),t.onOpenChange(!1),t.triggerRef.current?.focus())})}):null});b.displayName="DropdownMenuContent";import*as M from"react";import{skdxPart as Ro}from"../utils/part.js";import{Primitive as xo}from"../utils/primitive.js";import{useMenuItem as Co}from"../utils/useMenuItem.js";import{jsx as Io}from"react/jsx-runtime";var f=M.createContext(!1);function l({disabled:o,onSelect:e,props:r}){let n=u("DropdownMenuItem");return Co({disabled:o,onSelect:e,onSelected:()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()},contentRef:n.contentRef,props:r})}var h=M.forwardRef(({disabled:o,onSelect:e,...r},n)=>{let p=l({disabled:o,onSelect:e,props:r});return Io(xo.div,{role:"menuitem",...r,...p,...Ro("dropdown-menu","item",r.className),ref:n})});h.displayName="DropdownMenuItem";import*as T from"react";import{skdxPart as go}from"../utils/part.js";import{Primitive as yo}from"../utils/primitive.js";import{jsx as S}from"react/jsx-runtime";var k=T.forwardRef(({checked:o=!1,onCheckedChange:e,disabled:r,onSelect:n,...p},i)=>{let d=l({disabled:r,onSelect:m=>{e?.(!o),n?.(m),m.preventDefault()},props:p});return S(f.Provider,{value:o,children:S(yo.div,{role:"menuitemcheckbox","aria-checked":o,"data-state":o?"checked":"unchecked",...p,...d,...go("dropdown-menu","checkbox-item",p.className),ref:i})})});k.displayName="DropdownMenuCheckboxItem";import*as N from"react";import{createSafeContext as vo}from"../utils/createContext.js";import{skdxPart as bo}from"../utils/part.js";import{Primitive as ho}from"../utils/primitive.js";import{jsx as E}from"react/jsx-runtime";var[So,L]=vo("DropdownMenuRadioGroup"),G=N.forwardRef(({value:o,onValueChange:e,...r},n)=>E(So,{value:o,onValueChange:e,children:E(ho.div,{role:"group",...r,...bo("dropdown-menu","radio-group",r.className),ref:n})}));G.displayName="DropdownMenuRadioGroup";import*as O from"react";import{skdxPart as To}from"../utils/part.js";import{Primitive as ko}from"../utils/primitive.js";import{jsx as H}from"react/jsx-runtime";var A=O.forwardRef(({value:o,disabled:e,onSelect:r,...n},p)=>{let i=L("DropdownMenuRadioItem"),d=i.value===o,m=l({disabled:e,onSelect:c=>{i.onValueChange?.(o),r?.(c)},props:n});return H(f.Provider,{value:d,children:H(ko.div,{role:"menuitemradio","aria-checked":d,"data-state":d?"checked":"unchecked",...n,...m,...To("dropdown-menu","radio-item",n.className),ref:p})})});A.displayName="DropdownMenuRadioItem";import*as D from"react";import{skdxPart as Eo}from"../utils/part.js";import{Primitive as No}from"../utils/primitive.js";import{jsx as Lo}from"react/jsx-runtime";var K=D.forwardRef(({forceMount:o,...e},r)=>{let n=D.useContext(f);return o||n?Lo(No.span,{"data-state":n?"checked":"unchecked",...e,...Eo("dropdown-menu","item-indicator",e.className),ref:r}):null});K.displayName="DropdownMenuItemIndicator";import*as V from"react";import{skdxPart as Go}from"../utils/part.js";import{Primitive as Ho}from"../utils/primitive.js";import{jsx as Oo}from"react/jsx-runtime";var B=V.forwardRef((o,e)=>Oo(Ho.div,{role:"group",...o,...Go("dropdown-menu","group",o.className),ref:e}));B.displayName="DropdownMenuGroup";import*as F from"react";import{skdxPart as Ao}from"../utils/part.js";import{Primitive as Ko}from"../utils/primitive.js";import{jsx as Vo}from"react/jsx-runtime";var _=F.forwardRef((o,e)=>Vo(Ko.div,{...o,...Ao("dropdown-menu","label",o.className),ref:e}));_.displayName="DropdownMenuLabel";import*as U from"react";import{skdxPart as Bo}from"../utils/part.js";import{Primitive as Fo}from"../utils/primitive.js";import{jsx as _o}from"react/jsx-runtime";var q=U.forwardRef((o,e)=>_o(Fo.div,{role:"separator","aria-orientation":"horizontal",...o,...Bo("dropdown-menu","separator",o.className),ref:e}));q.displayName="DropdownMenuSeparator";import{MenuSub as Uo,MenuSubContent as qo,MenuSubTrigger as Wo}from"../utils/menuSub.js";import{jsx as Jo}from"react/jsx-runtime";function W(o){return Jo(Uo,{family:"dropdown-menu",...o})}W.displayName="DropdownMenuSub";var zo=Wo,$o=qo;export{ro as DropdownMenu,no as DropdownMenuArrow,k as DropdownMenuCheckboxItem,b as DropdownMenuContent,B as DropdownMenuGroup,h as DropdownMenuItem,K as DropdownMenuItemIndicator,_ as DropdownMenuLabel,v as DropdownMenuPortal,eo as DropdownMenuProvider,G as DropdownMenuRadioGroup,A as DropdownMenuRadioItem,q as DropdownMenuSeparator,W as DropdownMenuSub,$o as DropdownMenuSubContent,zo as DropdownMenuSubTrigger,y as DropdownMenuTrigger,x as ITEM_SELECTOR,u as useDropdownMenuContext};
|
package/dist/menubar/Menubar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ar=Object.create;var S=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var ir=Object.getOwnPropertyNames;var mr=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var sr=(e,o)=>{for(var t in o)S(e,t,{get:o[t],enumerable:!0})},Q=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ir(o))!pr.call(e,n)&&n!==t&&S(e,n,{get:()=>o[n],enumerable:!(r=ur(o,n))||r.enumerable});return e};var s=(e,o,t)=>(t=e!=null?ar(mr(e)):{},Q(o||!e||!e.__esModule?S(t,"default",{value:e,enumerable:!0}):t,e)),cr=e=>Q(S({},"__esModule",{value:!0}),e);var br={};sr(br,{Menubar:()=>oe,MenubarArrow:()=>te,MenubarCheckboxItem:()=>F,MenubarContent:()=>O,MenubarGroup:()=>z,MenubarItem:()=>V,MenubarItemIndicator:()=>A,MenubarLabel:()=>W,MenubarMenu:()=>D,MenubarPortal:()=>H,MenubarRadioGroup:()=>_,MenubarRadioItem:()=>q,MenubarRootProvider:()=>re,MenubarSeparator:()=>$,MenubarSub:()=>J,MenubarSubContent:()=>er,MenubarSubTrigger:()=>je,MenubarTrigger:()=>G,useMenubarContext:()=>C});module.exports=cr(br);var d=s(require("react"),1),Y=require("../utils/composeRefs.cjs"),Z=require("../utils/createContext.cjs"),w=require("../utils/part.cjs"),j=require("../utils/popper.cjs"),E=require("../utils/primitive.cjs"),ee=require("../utils/useControllableState.cjs"),h=require("../utils/useRovingFocus.cjs"),T=require("react/jsx-runtime"),X="[data-skdx-menubar-trigger]:not([data-disabled])",[re,C]=(0,Z.createSafeContext)("Menubar"),oe=d.forwardRef(({value:e,defaultValue:o="",onValueChange:t,...r},n)=>{let[m="",u]=(0,ee.useControllableState)({prop:e,defaultProp:o,onChange:t}),i=(0,h.useRovingFocus)({orientation:"horizontal",loop:!0,itemSelector:X,typeahead:!0}),[f,l]=d.useState(null),I=d.useRef(null),a=(0,Y.useComposedRefs)(n,I);return(0,h.useRovingTabStop)(I,X,"data-skdx-menubar-trigger",f,l),(0,T.jsx)(re,{value:m,onValueChange:u,currentTabStopId:f,setCurrentTabStopId:l,children:(0,T.jsx)(E.Primitive.div,{role:"menubar",...r,...(0,w.skdxPart)("menubar","root",r.className),ref:a,onKeyDown:(0,E.composeEventHandlers)(r.onKeyDown,i)})})});oe.displayName="Menubar";var te=d.forwardRef((e,o)=>(0,T.jsx)(j.PopperArrow,{...e,...(0,w.skdxPart)("menubar","arrow",e.className),ref:o}));te.displayName="MenubarArrow";var c=s(require("react"),1),ne=require("../utils/createContext.cjs"),ae=require("../utils/popper.cjs"),ue=require("../utils/useOpenChangeComplete.cjs");var N=require("react/jsx-runtime"),[fr,b]=(0,ne.createSafeContext)("MenubarMenu");function D({value:e,children:o,onOpenChangeComplete:t}){let r=C("MenubarMenu"),n=c.useRef(null),m=c.useRef(null),u=c.useRef(!1),i=r.value===e;(0,ue.useOpenChangeComplete)(i,m,t);let f=c.useCallback(()=>r.onValueChange(e),[r,e]),l=c.useCallback(()=>{u.current=!1,r.onValueChange("")},[r]);return(0,N.jsx)(ae.PopperRoot,{children:(0,N.jsx)(fr,{menuValue:e,triggerRef:n,contentRef:m,contentId:c.useId(),open:i,openedExplicitlyRef:u,onOpen:f,onClose:l,children:o})})}D.displayName="MenubarMenu";var k=s(require("react"),1),ie=require("../utils/composeRefs.cjs"),me=require("../utils/part.cjs"),pe=require("../utils/popper.cjs"),M=require("../utils/primitive.cjs"),se=require("../utils/useRovingFocus.cjs");var L=require("react/jsx-runtime"),G=k.forwardRef((e,o)=>{let t=C("MenubarTrigger"),r=b("MenubarTrigger"),n=(0,ie.useComposedRefs)(o,r.triggerRef),m=t.value!=="",u=k.useId();return(0,L.jsx)(pe.PopperAnchor,{asChild:!0,children:(0,L.jsx)(M.Primitive.button,{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-skdx-menubar-trigger":u,"data-state":r.open?"open":"closed","data-disabled":e.disabled?"":void 0,tabIndex:(0,se.rovingTabIndex)(t.currentTabStopId!==null,t.currentTabStopId===u,e.disabled),...e,...(0,me.skdxPart)("menubar","trigger",e.className),ref:n,onClick:(0,M.composeEventHandlers)(e.onClick,()=>{e.disabled||(r.open&&r.openedExplicitlyRef.current?(r.onClose(),r.openedExplicitlyRef.current=!1):(r.onOpen(),r.openedExplicitlyRef.current=!0))}),onPointerEnter:(0,M.composeEventHandlers)(e.onPointerEnter,i=>{e.disabled||i.pointerType==="touch"||m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onFocus:(0,M.composeEventHandlers)(e.onFocus,()=>{t.setCurrentTabStopId(u),!e.disabled&&m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onKeyDown:(0,M.composeEventHandlers)(e.onKeyDown,i=>{e.disabled||["ArrowDown","ArrowUp"," ","Enter"].includes(i.key)&&(i.preventDefault(),r.onOpen(),r.openedExplicitlyRef.current=!0)})})})});G.displayName="MenubarTrigger";var ce=require("../utils/portal.cjs");var fe=require("react/jsx-runtime"),H=({forceMount:e,children:o,...t})=>{let r=b("MenubarPortal");return e||r.open?(0,fe.jsx)(ce.Portal,{...t,children:o}):null};H.displayName="MenubarPortal";var R=s(require("react"),1),be=require("../utils/composeRefs.cjs"),de=require("../utils/menuSub.cjs"),Me=require("../utils/part.cjs"),Re=require("../utils/popper.cjs"),Pe=require("../utils/primitive.cjs"),xe=require("../utils/useDismiss.cjs"),Ce=require("../utils/useRovingFocus.cjs");var ge=require("react/jsx-runtime"),le='[role^="menuitem"]:not([data-disabled])',O=R.forwardRef(({forceMount:e,loop:o=!0,onEscapeKeyDown:t,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:m,side:u="bottom",align:i="start",sideOffset:f=4,...l},I)=>{let a=b("MenubarContent"),or=(0,be.useComposedRefs)(I,a.contentRef),tr=(0,Ce.useRovingFocus)({orientation:"vertical",loop:o,itemSelector:le,typeahead:!0}),nr=R.useMemo(()=>({get current(){return a.triggerRef.current?.closest('[role="menubar"]')??null}}),[a.triggerRef]);return(0,xe.useDismiss)({enabled:a.open,insideSelector:`[${de.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:p=>{t?.(p),p.defaultPrevented||(a.onClose(),a.triggerRef.current?.focus())},onInteractOutside:m,onPointerDownOutside:p=>{r?.(p),p.defaultPrevented||a.onClose()},onFocusOutside:p=>{n?.(p),p.defaultPrevented||a.onClose()}},[a.triggerRef,a.contentRef,nr]),R.useEffect(()=>{if(!a.open)return;let p=requestAnimationFrame(()=>{let v=a.contentRef.current;if(!v||v.contains(document.activeElement))return;(v.querySelector(le)??v).focus()});return()=>cancelAnimationFrame(p)},[a.open,a.contentRef]),e||a.open?(0,ge.jsx)(Re.PopperContent,{component:"menubar",role:"menu","aria-orientation":"vertical",id:a.contentId,"data-state":a.open?"open":"closed",tabIndex:-1,side:u,align:i,sideOffset:f,...l,...(0,Me.skdxPart)("menubar","content",l.className),ref:or,onKeyDown:(0,Pe.composeEventHandlers)(l.onKeyDown,p=>{tr(p),p.key==="Tab"&&(p.preventDefault(),a.onClose(),a.triggerRef.current?.focus())})}):null});O.displayName="MenubarContent";var ye=s(require("react"),1),Ie=require("../utils/part.cjs"),ve=require("../utils/primitive.cjs"),Se=require("../utils/useMenuItem.cjs");var Te=require("react/jsx-runtime");function g({disabled:e,onSelect:o,props:t}){let r=b("MenubarItem");return(0,Se.useMenuItem)({disabled:e,onSelect:o,onSelected:()=>{r.onClose(),r.triggerRef.current?.focus()},contentRef:r.contentRef,props:t})}var V=ye.forwardRef(({disabled:e,onSelect:o,...t},r)=>{let n=g({disabled:e,onSelect:o,props:t});return(0,Te.jsx)(ve.Primitive.div,{role:"menuitem",...t,...n,...(0,Ie.skdxPart)("menubar","item",t.className),ref:r})});V.displayName="MenubarItem";var we=s(require("react"),1),Ne=require("../utils/part.cjs"),De=require("../utils/primitive.cjs");var P=s(require("react"),1),Ee=require("../utils/part.cjs"),he=require("../utils/primitive.cjs"),ke=require("react/jsx-runtime"),y=P.createContext(!1),A=P.forwardRef(({forceMount:e,...o},t)=>{let r=P.useContext(y);return e||r?(0,ke.jsx)(he.Primitive.span,{"data-state":r?"checked":"unchecked",...o,...(0,Ee.skdxPart)("menubar","item-indicator",o.className),ref:t}):null});A.displayName="MenubarItemIndicator";var K=require("react/jsx-runtime"),F=we.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:t,onSelect:r,...n},m)=>{let u=g({disabled:t,onSelect:i=>{o?.(!e),r?.(i),i.preventDefault()},props:n});return(0,K.jsx)(y.Provider,{value:e,children:(0,K.jsx)(De.Primitive.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...n,...u,...(0,Ne.skdxPart)("menubar","checkbox-item",n.className),ref:m})})});F.displayName="MenubarCheckboxItem";var Le=s(require("react"),1),Ge=require("../utils/createContext.cjs"),He=require("../utils/part.cjs"),Oe=require("../utils/primitive.cjs"),B=require("react/jsx-runtime"),[lr,Ve]=(0,Ge.createSafeContext)("MenubarRadioGroup"),_=Le.forwardRef(({value:e,onValueChange:o,...t},r)=>(0,B.jsx)(lr,{value:e,onValueChange:o,children:(0,B.jsx)(Oe.Primitive.div,{role:"group",...t,...(0,He.skdxPart)("menubar","radio-group",t.className),ref:r})}));_.displayName="MenubarRadioGroup";var Ae=s(require("react"),1),Ke=require("../utils/part.cjs"),Fe=require("../utils/primitive.cjs");var U=require("react/jsx-runtime"),q=Ae.forwardRef(({value:e,disabled:o,onSelect:t,...r},n)=>{let m=Ve("MenubarRadioItem"),u=m.value===e,i=g({disabled:o,onSelect:f=>{m.onValueChange?.(e),t?.(f)},props:r});return(0,U.jsx)(y.Provider,{value:u,children:(0,U.jsx)(Fe.Primitive.div,{role:"menuitemradio","aria-checked":u,"data-state":u?"checked":"unchecked",...r,...i,...(0,Ke.skdxPart)("menubar","radio-item",r.className),ref:n})})});q.displayName="MenubarRadioItem";var Be=s(require("react"),1),_e=require("../utils/part.cjs"),Ue=require("../utils/primitive.cjs"),qe=require("react/jsx-runtime"),z=Be.forwardRef((e,o)=>(0,qe.jsx)(Ue.Primitive.div,{role:"group",...e,...(0,_e.skdxPart)("menubar","group",e.className),ref:o}));z.displayName="MenubarGroup";var ze=s(require("react"),1),We=require("../utils/part.cjs"),$e=require("../utils/primitive.cjs"),Je=require("react/jsx-runtime"),W=ze.forwardRef((e,o)=>(0,Je.jsx)($e.Primitive.div,{...e,...(0,We.skdxPart)("menubar","label",e.className),ref:o}));W.displayName="MenubarLabel";var Qe=s(require("react"),1),Xe=require("../utils/part.cjs"),Ye=require("../utils/primitive.cjs"),Ze=require("react/jsx-runtime"),$=Qe.forwardRef((e,o)=>(0,Ze.jsx)(Ye.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,...(0,Xe.skdxPart)("menubar","separator",e.className),ref:o}));$.displayName="MenubarSeparator";var x=require("../utils/menuSub.cjs"),rr=require("react/jsx-runtime");function J(e){return(0,rr.jsx)(x.MenuSub,{family:"menubar",...e})}J.displayName="MenubarSub";var je=x.MenuSubTrigger,er=x.MenuSubContent;0&&(module.exports={Menubar,MenubarArrow,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarItemIndicator,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarRootProvider,MenubarSeparator,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger,useMenubarContext});
|
|
1
|
+
"use strict";var ar=Object.create;var S=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var ir=Object.getOwnPropertyNames;var mr=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var sr=(e,o)=>{for(var t in o)S(e,t,{get:o[t],enumerable:!0})},Q=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ir(o))!pr.call(e,n)&&n!==t&&S(e,n,{get:()=>o[n],enumerable:!(r=ur(o,n))||r.enumerable});return e};var s=(e,o,t)=>(t=e!=null?ar(mr(e)):{},Q(o||!e||!e.__esModule?S(t,"default",{value:e,enumerable:!0}):t,e)),cr=e=>Q(S({},"__esModule",{value:!0}),e);var br={};sr(br,{Menubar:()=>oe,MenubarArrow:()=>te,MenubarCheckboxItem:()=>F,MenubarContent:()=>O,MenubarGroup:()=>z,MenubarItem:()=>V,MenubarItemIndicator:()=>A,MenubarLabel:()=>W,MenubarMenu:()=>D,MenubarPortal:()=>H,MenubarRadioGroup:()=>_,MenubarRadioItem:()=>q,MenubarRootProvider:()=>re,MenubarSeparator:()=>$,MenubarSub:()=>J,MenubarSubContent:()=>er,MenubarSubTrigger:()=>je,MenubarTrigger:()=>G,useMenubarContext:()=>C});module.exports=cr(br);var d=s(require("react"),1),Y=require("../utils/composeRefs.cjs"),Z=require("../utils/createContext.cjs"),w=require("../utils/part.cjs"),j=require("../utils/popper.cjs"),E=require("../utils/primitive.cjs"),ee=require("../utils/useControllableState.cjs"),h=require("../utils/useRovingFocus.cjs"),T=require("react/jsx-runtime"),X="[data-skdx-menubar-trigger]:not([data-disabled])",[re,C]=(0,Z.createSafeContext)("Menubar"),oe=d.forwardRef(({value:e,defaultValue:o="",onValueChange:t,...r},n)=>{let[m="",u]=(0,ee.useControllableState)({prop:e,defaultProp:o,onChange:t}),i=(0,h.useRovingFocus)({orientation:"horizontal",loop:!0,itemSelector:X,typeahead:!0}),[f,l]=d.useState(null),I=d.useRef(null),a=(0,Y.useComposedRefs)(n,I);return(0,h.useRovingTabStop)(I,X,"data-skdx-menubar-trigger",f,l),(0,T.jsx)(re,{value:m,onValueChange:u,currentTabStopId:f,setCurrentTabStopId:l,children:(0,T.jsx)(E.Primitive.div,{role:"menubar",...r,...(0,w.skdxPart)("menubar","root",r.className),ref:a,onKeyDown:(0,E.composeEventHandlers)(r.onKeyDown,i)})})});oe.displayName="Menubar";var te=d.forwardRef((e,o)=>(0,T.jsx)(j.PopperArrow,{...e,...(0,w.skdxPart)("menubar","arrow",e.className),ref:o}));te.displayName="MenubarArrow";var c=s(require("react"),1),ne=require("../utils/createContext.cjs"),ae=require("../utils/popper.cjs"),ue=require("../utils/useOpenChangeComplete.cjs");var N=require("react/jsx-runtime"),[fr,b]=(0,ne.createSafeContext)("MenubarMenu");function D({value:e,children:o,onOpenChangeComplete:t}){let r=C("MenubarMenu"),n=c.useRef(null),m=c.useRef(null),u=c.useRef(!1),i=r.value===e;(0,ue.useOpenChangeComplete)(i,m,t);let f=c.useCallback(()=>r.onValueChange(e),[r,e]),l=c.useCallback(()=>{u.current=!1,r.onValueChange("")},[r]);return(0,N.jsx)(ae.PopperRoot,{children:(0,N.jsx)(fr,{menuValue:e,triggerRef:n,contentRef:m,contentId:c.useId(),open:i,openedExplicitlyRef:u,onOpen:f,onClose:l,children:o})})}D.displayName="MenubarMenu";var k=s(require("react"),1),ie=require("../utils/composeRefs.cjs"),me=require("../utils/part.cjs"),pe=require("../utils/popper.cjs"),M=require("../utils/primitive.cjs"),se=require("../utils/useRovingFocus.cjs");var L=require("react/jsx-runtime"),G=k.forwardRef((e,o)=>{let t=C("MenubarTrigger"),r=b("MenubarTrigger"),n=(0,ie.useComposedRefs)(o,r.triggerRef),m=t.value!=="",u=k.useId();return(0,L.jsx)(pe.PopperAnchor,{asChild:!0,children:(0,L.jsx)(M.Primitive.button,{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-skdx-menubar-trigger":u,"data-state":r.open?"open":"closed","data-disabled":e.disabled?"":void 0,tabIndex:(0,se.rovingTabIndex)(t.currentTabStopId!==null,t.currentTabStopId===u,e.disabled),...e,...(0,me.skdxPart)("menubar","trigger",e.className),ref:n,onClick:(0,M.composeEventHandlers)(e.onClick,()=>{e.disabled||(r.open&&r.openedExplicitlyRef.current?(r.onClose(),r.openedExplicitlyRef.current=!1):(r.onOpen(),r.openedExplicitlyRef.current=!0))}),onPointerEnter:(0,M.composeEventHandlers)(e.onPointerEnter,i=>{e.disabled||i.pointerType==="touch"||m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onFocus:(0,M.composeEventHandlers)(e.onFocus,()=>{t.setCurrentTabStopId(u),!e.disabled&&m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onKeyDown:(0,M.composeEventHandlers)(e.onKeyDown,i=>{e.disabled||["ArrowDown","ArrowUp"," ","Enter"].includes(i.key)&&(i.preventDefault(),r.onOpen(),r.openedExplicitlyRef.current=!0)})})})});G.displayName="MenubarTrigger";var ce=require("../utils/portal.cjs");var fe=require("react/jsx-runtime"),H=({forceMount:e,children:o,...t})=>{let r=b("MenubarPortal");return e||r.open?(0,fe.jsx)(ce.Portal,{...t,children:o}):null};H.displayName="MenubarPortal";var R=s(require("react"),1),be=require("../utils/composeRefs.cjs"),de=require("../utils/menuSub.cjs"),Me=require("../utils/part.cjs"),Re=require("../utils/popper.cjs"),Pe=require("../utils/primitive.cjs"),xe=require("../utils/useDismiss.cjs"),Ce=require("../utils/useRovingFocus.cjs");var ge=require("react/jsx-runtime"),le='[role^="menuitem"]:not([data-disabled])',O=R.forwardRef(({forceMount:e,loop:o=!0,onEscapeKeyDown:t,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:m,side:u="bottom",align:i="start",sideOffset:f=4,...l},I)=>{let a=b("MenubarContent"),or=(0,be.useComposedRefs)(I,a.contentRef),tr=(0,Ce.useRovingFocus)({orientation:"vertical",loop:o,itemSelector:le,typeahead:!0}),nr=R.useMemo(()=>({get current(){return a.triggerRef.current?.closest('[role="menubar"]')??null}}),[a.triggerRef]);return(0,xe.useDismiss)({enabled:a.open,insideSelector:`[${de.MENU_BRANCH_ATTRIBUTE}]`,onEscapeKeyDown:p=>{t?.(p),p.defaultPrevented||(a.onClose(),a.triggerRef.current?.focus())},onInteractOutside:m,onPointerDownOutside:p=>{r?.(p),p.defaultPrevented||a.onClose()},onFocusOutside:p=>{n?.(p),p.defaultPrevented||a.onClose()}},[a.triggerRef,a.contentRef,nr]),R.useEffect(()=>{if(!a.open)return;let p=requestAnimationFrame(()=>{let v=a.contentRef.current;if(!v||v.contains(document.activeElement))return;(v.querySelector(le)??v).focus({preventScroll:!0})});return()=>cancelAnimationFrame(p)},[a.open,a.contentRef]),e||a.open?(0,ge.jsx)(Re.PopperContent,{component:"menubar",role:"menu","aria-orientation":"vertical",id:a.contentId,"data-state":a.open?"open":"closed",tabIndex:-1,side:u,align:i,sideOffset:f,...l,...(0,Me.skdxPart)("menubar","content",l.className),ref:or,onKeyDown:(0,Pe.composeEventHandlers)(l.onKeyDown,p=>{tr(p),p.key==="Tab"&&(p.preventDefault(),a.onClose(),a.triggerRef.current?.focus())})}):null});O.displayName="MenubarContent";var ye=s(require("react"),1),Ie=require("../utils/part.cjs"),ve=require("../utils/primitive.cjs"),Se=require("../utils/useMenuItem.cjs");var Te=require("react/jsx-runtime");function g({disabled:e,onSelect:o,props:t}){let r=b("MenubarItem");return(0,Se.useMenuItem)({disabled:e,onSelect:o,onSelected:()=>{r.onClose(),r.triggerRef.current?.focus()},contentRef:r.contentRef,props:t})}var V=ye.forwardRef(({disabled:e,onSelect:o,...t},r)=>{let n=g({disabled:e,onSelect:o,props:t});return(0,Te.jsx)(ve.Primitive.div,{role:"menuitem",...t,...n,...(0,Ie.skdxPart)("menubar","item",t.className),ref:r})});V.displayName="MenubarItem";var we=s(require("react"),1),Ne=require("../utils/part.cjs"),De=require("../utils/primitive.cjs");var P=s(require("react"),1),Ee=require("../utils/part.cjs"),he=require("../utils/primitive.cjs"),ke=require("react/jsx-runtime"),y=P.createContext(!1),A=P.forwardRef(({forceMount:e,...o},t)=>{let r=P.useContext(y);return e||r?(0,ke.jsx)(he.Primitive.span,{"data-state":r?"checked":"unchecked",...o,...(0,Ee.skdxPart)("menubar","item-indicator",o.className),ref:t}):null});A.displayName="MenubarItemIndicator";var K=require("react/jsx-runtime"),F=we.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:t,onSelect:r,...n},m)=>{let u=g({disabled:t,onSelect:i=>{o?.(!e),r?.(i),i.preventDefault()},props:n});return(0,K.jsx)(y.Provider,{value:e,children:(0,K.jsx)(De.Primitive.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...n,...u,...(0,Ne.skdxPart)("menubar","checkbox-item",n.className),ref:m})})});F.displayName="MenubarCheckboxItem";var Le=s(require("react"),1),Ge=require("../utils/createContext.cjs"),He=require("../utils/part.cjs"),Oe=require("../utils/primitive.cjs"),B=require("react/jsx-runtime"),[lr,Ve]=(0,Ge.createSafeContext)("MenubarRadioGroup"),_=Le.forwardRef(({value:e,onValueChange:o,...t},r)=>(0,B.jsx)(lr,{value:e,onValueChange:o,children:(0,B.jsx)(Oe.Primitive.div,{role:"group",...t,...(0,He.skdxPart)("menubar","radio-group",t.className),ref:r})}));_.displayName="MenubarRadioGroup";var Ae=s(require("react"),1),Ke=require("../utils/part.cjs"),Fe=require("../utils/primitive.cjs");var U=require("react/jsx-runtime"),q=Ae.forwardRef(({value:e,disabled:o,onSelect:t,...r},n)=>{let m=Ve("MenubarRadioItem"),u=m.value===e,i=g({disabled:o,onSelect:f=>{m.onValueChange?.(e),t?.(f)},props:r});return(0,U.jsx)(y.Provider,{value:u,children:(0,U.jsx)(Fe.Primitive.div,{role:"menuitemradio","aria-checked":u,"data-state":u?"checked":"unchecked",...r,...i,...(0,Ke.skdxPart)("menubar","radio-item",r.className),ref:n})})});q.displayName="MenubarRadioItem";var Be=s(require("react"),1),_e=require("../utils/part.cjs"),Ue=require("../utils/primitive.cjs"),qe=require("react/jsx-runtime"),z=Be.forwardRef((e,o)=>(0,qe.jsx)(Ue.Primitive.div,{role:"group",...e,...(0,_e.skdxPart)("menubar","group",e.className),ref:o}));z.displayName="MenubarGroup";var ze=s(require("react"),1),We=require("../utils/part.cjs"),$e=require("../utils/primitive.cjs"),Je=require("react/jsx-runtime"),W=ze.forwardRef((e,o)=>(0,Je.jsx)($e.Primitive.div,{...e,...(0,We.skdxPart)("menubar","label",e.className),ref:o}));W.displayName="MenubarLabel";var Qe=s(require("react"),1),Xe=require("../utils/part.cjs"),Ye=require("../utils/primitive.cjs"),Ze=require("react/jsx-runtime"),$=Qe.forwardRef((e,o)=>(0,Ze.jsx)(Ye.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,...(0,Xe.skdxPart)("menubar","separator",e.className),ref:o}));$.displayName="MenubarSeparator";var x=require("../utils/menuSub.cjs"),rr=require("react/jsx-runtime");function J(e){return(0,rr.jsx)(x.MenuSub,{family:"menubar",...e})}J.displayName="MenubarSub";var je=x.MenuSubTrigger,er=x.MenuSubContent;0&&(module.exports={Menubar,MenubarArrow,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarItemIndicator,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarRootProvider,MenubarSeparator,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger,useMenubarContext});
|
package/dist/menubar/Menubar.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as b from"react";import{useComposedRefs as te}from"../utils/composeRefs.js";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as T}from"../utils/part.js";import{PopperArrow as ae}from"../utils/popper.js";import{composeEventHandlers as ue,Primitive as ie}from"../utils/primitive.js";import{useControllableState as me}from"../utils/useControllableState.js";import{useRovingFocus as pe,useRovingTabStop as se}from"../utils/useRovingFocus.js";import{jsx as v}from"react/jsx-runtime";var S="[data-skdx-menubar-trigger]:not([data-disabled])",[ce,g]=ne("Menubar"),fe=b.forwardRef(({value:e,defaultValue:o="",onValueChange:t,...r},i)=>{let[m="",a]=me({prop:e,defaultProp:o,onChange:t}),u=pe({orientation:"horizontal",loop:!0,itemSelector:S,typeahead:!0}),[c,f]=b.useState(null),x=b.useRef(null),n=te(i,x);return se(x,S,"data-skdx-menubar-trigger",c,f),v(ce,{value:m,onValueChange:a,currentTabStopId:c,setCurrentTabStopId:f,children:v(ie.div,{role:"menubar",...r,...T("menubar","root",r.className),ref:n,onKeyDown:ue(r.onKeyDown,u)})})});fe.displayName="Menubar";var le=b.forwardRef((e,o)=>v(ae,{...e,...T("menubar","arrow",e.className),ref:o}));le.displayName="MenubarArrow";import*as s from"react";import{createSafeContext as be}from"../utils/createContext.js";import{PopperRoot as de}from"../utils/popper.js";import{useOpenChangeComplete as Me}from"../utils/useOpenChangeComplete.js";import{jsx as E}from"react/jsx-runtime";var[Re,l]=be("MenubarMenu");function h({value:e,children:o,onOpenChangeComplete:t}){let r=g("MenubarMenu"),i=s.useRef(null),m=s.useRef(null),a=s.useRef(!1),u=r.value===e;Me(u,m,t);let c=s.useCallback(()=>r.onValueChange(e),[r,e]),f=s.useCallback(()=>{a.current=!1,r.onValueChange("")},[r]);return E(de,{children:E(Re,{menuValue:e,triggerRef:i,contentRef:m,contentId:s.useId(),open:u,openedExplicitlyRef:a,onOpen:c,onClose:f,children:o})})}h.displayName="MenubarMenu";import*as I from"react";import{useComposedRefs as Pe}from"../utils/composeRefs.js";import{skdxPart as xe}from"../utils/part.js";import{PopperAnchor as Ce}from"../utils/popper.js";import{composeEventHandlers as y,Primitive as ge}from"../utils/primitive.js";import{rovingTabIndex as ye}from"../utils/useRovingFocus.js";import{jsx as k}from"react/jsx-runtime";var w=I.forwardRef((e,o)=>{let t=g("MenubarTrigger"),r=l("MenubarTrigger"),i=Pe(o,r.triggerRef),m=t.value!=="",a=I.useId();return k(Ce,{asChild:!0,children:k(ge.button,{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-skdx-menubar-trigger":a,"data-state":r.open?"open":"closed","data-disabled":e.disabled?"":void 0,tabIndex:ye(t.currentTabStopId!==null,t.currentTabStopId===a,e.disabled),...e,...xe("menubar","trigger",e.className),ref:i,onClick:y(e.onClick,()=>{e.disabled||(r.open&&r.openedExplicitlyRef.current?(r.onClose(),r.openedExplicitlyRef.current=!1):(r.onOpen(),r.openedExplicitlyRef.current=!0))}),onPointerEnter:y(e.onPointerEnter,u=>{e.disabled||u.pointerType==="touch"||m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onFocus:y(e.onFocus,()=>{t.setCurrentTabStopId(a),!e.disabled&&m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onKeyDown:y(e.onKeyDown,u=>{e.disabled||["ArrowDown","ArrowUp"," ","Enter"].includes(u.key)&&(u.preventDefault(),r.onOpen(),r.openedExplicitlyRef.current=!0)})})})});w.displayName="MenubarTrigger";import{Portal as Ie}from"../utils/portal.js";import{jsx as ve}from"react/jsx-runtime";var N=({forceMount:e,children:o,...t})=>{let r=l("MenubarPortal");return e||r.open?ve(Ie,{...t,children:o}):null};N.displayName="MenubarPortal";import*as d from"react";import{useComposedRefs as Se}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as Te}from"../utils/menuSub.js";import{skdxPart as Ee}from"../utils/part.js";import{PopperContent as he}from"../utils/popper.js";import{composeEventHandlers as ke}from"../utils/primitive.js";import{useDismiss as we}from"../utils/useDismiss.js";import{useRovingFocus as Ne}from"../utils/useRovingFocus.js";import{jsx as De}from"react/jsx-runtime";var D='[role^="menuitem"]:not([data-disabled])',L=d.forwardRef(({forceMount:e,loop:o=!0,onEscapeKeyDown:t,onPointerDownOutside:r,onFocusOutside:i,onInteractOutside:m,side:a="bottom",align:u="start",sideOffset:c=4,...f},x)=>{let n=l("MenubarContent"),ee=Se(x,n.contentRef),re=Ne({orientation:"vertical",loop:o,itemSelector:D,typeahead:!0}),oe=d.useMemo(()=>({get current(){return n.triggerRef.current?.closest('[role="menubar"]')??null}}),[n.triggerRef]);return we({enabled:n.open,insideSelector:`[${Te}]`,onEscapeKeyDown:p=>{t?.(p),p.defaultPrevented||(n.onClose(),n.triggerRef.current?.focus())},onInteractOutside:m,onPointerDownOutside:p=>{r?.(p),p.defaultPrevented||n.onClose()},onFocusOutside:p=>{i?.(p),p.defaultPrevented||n.onClose()}},[n.triggerRef,n.contentRef,oe]),d.useEffect(()=>{if(!n.open)return;let p=requestAnimationFrame(()=>{let C=n.contentRef.current;if(!C||C.contains(document.activeElement))return;(C.querySelector(D)??C).focus()});return()=>cancelAnimationFrame(p)},[n.open,n.contentRef]),e||n.open?De(he,{component:"menubar",role:"menu","aria-orientation":"vertical",id:n.contentId,"data-state":n.open?"open":"closed",tabIndex:-1,side:a,align:u,sideOffset:c,...f,...Ee("menubar","content",f.className),ref:ee,onKeyDown:ke(f.onKeyDown,p=>{re(p),p.key==="Tab"&&(p.preventDefault(),n.onClose(),n.triggerRef.current?.focus())})}):null});L.displayName="MenubarContent";import*as G from"react";import{skdxPart as Le}from"../utils/part.js";import{Primitive as Ge}from"../utils/primitive.js";import{useMenuItem as He}from"../utils/useMenuItem.js";import{jsx as Oe}from"react/jsx-runtime";function R({disabled:e,onSelect:o,props:t}){let r=l("MenubarItem");return He({disabled:e,onSelect:o,onSelected:()=>{r.onClose(),r.triggerRef.current?.focus()},contentRef:r.contentRef,props:t})}var H=G.forwardRef(({disabled:e,onSelect:o,...t},r)=>{let i=R({disabled:e,onSelect:o,props:t});return Oe(Ge.div,{role:"menuitem",...t,...i,...Le("menubar","item",t.className),ref:r})});H.displayName="MenubarItem";import*as A from"react";import{skdxPart as Fe}from"../utils/part.js";import{Primitive as Be}from"../utils/primitive.js";import*as M from"react";import{skdxPart as Ve}from"../utils/part.js";import{Primitive as Ae}from"../utils/primitive.js";import{jsx as Ke}from"react/jsx-runtime";var P=M.createContext(!1),O=M.forwardRef(({forceMount:e,...o},t)=>{let r=M.useContext(P);return e||r?Ke(Ae.span,{"data-state":r?"checked":"unchecked",...o,...Ve("menubar","item-indicator",o.className),ref:t}):null});O.displayName="MenubarItemIndicator";import{jsx as V}from"react/jsx-runtime";var K=A.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:t,onSelect:r,...i},m)=>{let a=R({disabled:t,onSelect:u=>{o?.(!e),r?.(u),u.preventDefault()},props:i});return V(P.Provider,{value:e,children:V(Be.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...i,...a,...Fe("menubar","checkbox-item",i.className),ref:m})})});K.displayName="MenubarCheckboxItem";import*as B from"react";import{createSafeContext as _e}from"../utils/createContext.js";import{skdxPart as Ue}from"../utils/part.js";import{Primitive as qe}from"../utils/primitive.js";import{jsx as F}from"react/jsx-runtime";var[ze,_]=_e("MenubarRadioGroup"),U=B.forwardRef(({value:e,onValueChange:o,...t},r)=>F(ze,{value:e,onValueChange:o,children:F(qe.div,{role:"group",...t,...Ue("menubar","radio-group",t.className),ref:r})}));U.displayName="MenubarRadioGroup";import*as z from"react";import{skdxPart as We}from"../utils/part.js";import{Primitive as $e}from"../utils/primitive.js";import{jsx as q}from"react/jsx-runtime";var W=z.forwardRef(({value:e,disabled:o,onSelect:t,...r},i)=>{let m=_("MenubarRadioItem"),a=m.value===e,u=R({disabled:o,onSelect:c=>{m.onValueChange?.(e),t?.(c)},props:r});return q(P.Provider,{value:a,children:q($e.div,{role:"menuitemradio","aria-checked":a,"data-state":a?"checked":"unchecked",...r,...u,...We("menubar","radio-item",r.className),ref:i})})});W.displayName="MenubarRadioItem";import*as $ from"react";import{skdxPart as Je}from"../utils/part.js";import{Primitive as Qe}from"../utils/primitive.js";import{jsx as Xe}from"react/jsx-runtime";var J=$.forwardRef((e,o)=>Xe(Qe.div,{role:"group",...e,...Je("menubar","group",e.className),ref:o}));J.displayName="MenubarGroup";import*as Q from"react";import{skdxPart as Ye}from"../utils/part.js";import{Primitive as Ze}from"../utils/primitive.js";import{jsx as je}from"react/jsx-runtime";var X=Q.forwardRef((e,o)=>je(Ze.div,{...e,...Ye("menubar","label",e.className),ref:o}));X.displayName="MenubarLabel";import*as Y from"react";import{skdxPart as er}from"../utils/part.js";import{Primitive as rr}from"../utils/primitive.js";import{jsx as or}from"react/jsx-runtime";var Z=Y.forwardRef((e,o)=>or(rr.div,{role:"separator","aria-orientation":"horizontal",...e,...er("menubar","separator",e.className),ref:o}));Z.displayName="MenubarSeparator";import{MenuSub as tr,MenuSubContent as nr,MenuSubTrigger as ar}from"../utils/menuSub.js";import{jsx as mr}from"react/jsx-runtime";function j(e){return mr(tr,{family:"menubar",...e})}j.displayName="MenubarSub";var ur=ar,ir=nr;export{fe as Menubar,le as MenubarArrow,K as MenubarCheckboxItem,L as MenubarContent,J as MenubarGroup,H as MenubarItem,O as MenubarItemIndicator,X as MenubarLabel,h as MenubarMenu,N as MenubarPortal,U as MenubarRadioGroup,W as MenubarRadioItem,ce as MenubarRootProvider,Z as MenubarSeparator,j as MenubarSub,ir as MenubarSubContent,ur as MenubarSubTrigger,w as MenubarTrigger,g as useMenubarContext};
|
|
1
|
+
import*as b from"react";import{useComposedRefs as te}from"../utils/composeRefs.js";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as T}from"../utils/part.js";import{PopperArrow as ae}from"../utils/popper.js";import{composeEventHandlers as ue,Primitive as ie}from"../utils/primitive.js";import{useControllableState as me}from"../utils/useControllableState.js";import{useRovingFocus as pe,useRovingTabStop as se}from"../utils/useRovingFocus.js";import{jsx as v}from"react/jsx-runtime";var S="[data-skdx-menubar-trigger]:not([data-disabled])",[ce,g]=ne("Menubar"),fe=b.forwardRef(({value:e,defaultValue:o="",onValueChange:t,...r},i)=>{let[m="",a]=me({prop:e,defaultProp:o,onChange:t}),u=pe({orientation:"horizontal",loop:!0,itemSelector:S,typeahead:!0}),[c,f]=b.useState(null),x=b.useRef(null),n=te(i,x);return se(x,S,"data-skdx-menubar-trigger",c,f),v(ce,{value:m,onValueChange:a,currentTabStopId:c,setCurrentTabStopId:f,children:v(ie.div,{role:"menubar",...r,...T("menubar","root",r.className),ref:n,onKeyDown:ue(r.onKeyDown,u)})})});fe.displayName="Menubar";var le=b.forwardRef((e,o)=>v(ae,{...e,...T("menubar","arrow",e.className),ref:o}));le.displayName="MenubarArrow";import*as s from"react";import{createSafeContext as be}from"../utils/createContext.js";import{PopperRoot as de}from"../utils/popper.js";import{useOpenChangeComplete as Me}from"../utils/useOpenChangeComplete.js";import{jsx as E}from"react/jsx-runtime";var[Re,l]=be("MenubarMenu");function h({value:e,children:o,onOpenChangeComplete:t}){let r=g("MenubarMenu"),i=s.useRef(null),m=s.useRef(null),a=s.useRef(!1),u=r.value===e;Me(u,m,t);let c=s.useCallback(()=>r.onValueChange(e),[r,e]),f=s.useCallback(()=>{a.current=!1,r.onValueChange("")},[r]);return E(de,{children:E(Re,{menuValue:e,triggerRef:i,contentRef:m,contentId:s.useId(),open:u,openedExplicitlyRef:a,onOpen:c,onClose:f,children:o})})}h.displayName="MenubarMenu";import*as I from"react";import{useComposedRefs as Pe}from"../utils/composeRefs.js";import{skdxPart as xe}from"../utils/part.js";import{PopperAnchor as Ce}from"../utils/popper.js";import{composeEventHandlers as y,Primitive as ge}from"../utils/primitive.js";import{rovingTabIndex as ye}from"../utils/useRovingFocus.js";import{jsx as k}from"react/jsx-runtime";var w=I.forwardRef((e,o)=>{let t=g("MenubarTrigger"),r=l("MenubarTrigger"),i=Pe(o,r.triggerRef),m=t.value!=="",a=I.useId();return k(Ce,{asChild:!0,children:k(ge.button,{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.contentId,"data-skdx-menubar-trigger":a,"data-state":r.open?"open":"closed","data-disabled":e.disabled?"":void 0,tabIndex:ye(t.currentTabStopId!==null,t.currentTabStopId===a,e.disabled),...e,...xe("menubar","trigger",e.className),ref:i,onClick:y(e.onClick,()=>{e.disabled||(r.open&&r.openedExplicitlyRef.current?(r.onClose(),r.openedExplicitlyRef.current=!1):(r.onOpen(),r.openedExplicitlyRef.current=!0))}),onPointerEnter:y(e.onPointerEnter,u=>{e.disabled||u.pointerType==="touch"||m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onFocus:y(e.onFocus,()=>{t.setCurrentTabStopId(a),!e.disabled&&m&&t.value!==r.menuValue&&(r.onOpen(),r.openedExplicitlyRef.current=!1)}),onKeyDown:y(e.onKeyDown,u=>{e.disabled||["ArrowDown","ArrowUp"," ","Enter"].includes(u.key)&&(u.preventDefault(),r.onOpen(),r.openedExplicitlyRef.current=!0)})})})});w.displayName="MenubarTrigger";import{Portal as Ie}from"../utils/portal.js";import{jsx as ve}from"react/jsx-runtime";var N=({forceMount:e,children:o,...t})=>{let r=l("MenubarPortal");return e||r.open?ve(Ie,{...t,children:o}):null};N.displayName="MenubarPortal";import*as d from"react";import{useComposedRefs as Se}from"../utils/composeRefs.js";import{MENU_BRANCH_ATTRIBUTE as Te}from"../utils/menuSub.js";import{skdxPart as Ee}from"../utils/part.js";import{PopperContent as he}from"../utils/popper.js";import{composeEventHandlers as ke}from"../utils/primitive.js";import{useDismiss as we}from"../utils/useDismiss.js";import{useRovingFocus as Ne}from"../utils/useRovingFocus.js";import{jsx as De}from"react/jsx-runtime";var D='[role^="menuitem"]:not([data-disabled])',L=d.forwardRef(({forceMount:e,loop:o=!0,onEscapeKeyDown:t,onPointerDownOutside:r,onFocusOutside:i,onInteractOutside:m,side:a="bottom",align:u="start",sideOffset:c=4,...f},x)=>{let n=l("MenubarContent"),ee=Se(x,n.contentRef),re=Ne({orientation:"vertical",loop:o,itemSelector:D,typeahead:!0}),oe=d.useMemo(()=>({get current(){return n.triggerRef.current?.closest('[role="menubar"]')??null}}),[n.triggerRef]);return we({enabled:n.open,insideSelector:`[${Te}]`,onEscapeKeyDown:p=>{t?.(p),p.defaultPrevented||(n.onClose(),n.triggerRef.current?.focus())},onInteractOutside:m,onPointerDownOutside:p=>{r?.(p),p.defaultPrevented||n.onClose()},onFocusOutside:p=>{i?.(p),p.defaultPrevented||n.onClose()}},[n.triggerRef,n.contentRef,oe]),d.useEffect(()=>{if(!n.open)return;let p=requestAnimationFrame(()=>{let C=n.contentRef.current;if(!C||C.contains(document.activeElement))return;(C.querySelector(D)??C).focus({preventScroll:!0})});return()=>cancelAnimationFrame(p)},[n.open,n.contentRef]),e||n.open?De(he,{component:"menubar",role:"menu","aria-orientation":"vertical",id:n.contentId,"data-state":n.open?"open":"closed",tabIndex:-1,side:a,align:u,sideOffset:c,...f,...Ee("menubar","content",f.className),ref:ee,onKeyDown:ke(f.onKeyDown,p=>{re(p),p.key==="Tab"&&(p.preventDefault(),n.onClose(),n.triggerRef.current?.focus())})}):null});L.displayName="MenubarContent";import*as G from"react";import{skdxPart as Le}from"../utils/part.js";import{Primitive as Ge}from"../utils/primitive.js";import{useMenuItem as He}from"../utils/useMenuItem.js";import{jsx as Oe}from"react/jsx-runtime";function R({disabled:e,onSelect:o,props:t}){let r=l("MenubarItem");return He({disabled:e,onSelect:o,onSelected:()=>{r.onClose(),r.triggerRef.current?.focus()},contentRef:r.contentRef,props:t})}var H=G.forwardRef(({disabled:e,onSelect:o,...t},r)=>{let i=R({disabled:e,onSelect:o,props:t});return Oe(Ge.div,{role:"menuitem",...t,...i,...Le("menubar","item",t.className),ref:r})});H.displayName="MenubarItem";import*as A from"react";import{skdxPart as Fe}from"../utils/part.js";import{Primitive as Be}from"../utils/primitive.js";import*as M from"react";import{skdxPart as Ve}from"../utils/part.js";import{Primitive as Ae}from"../utils/primitive.js";import{jsx as Ke}from"react/jsx-runtime";var P=M.createContext(!1),O=M.forwardRef(({forceMount:e,...o},t)=>{let r=M.useContext(P);return e||r?Ke(Ae.span,{"data-state":r?"checked":"unchecked",...o,...Ve("menubar","item-indicator",o.className),ref:t}):null});O.displayName="MenubarItemIndicator";import{jsx as V}from"react/jsx-runtime";var K=A.forwardRef(({checked:e=!1,onCheckedChange:o,disabled:t,onSelect:r,...i},m)=>{let a=R({disabled:t,onSelect:u=>{o?.(!e),r?.(u),u.preventDefault()},props:i});return V(P.Provider,{value:e,children:V(Be.div,{role:"menuitemcheckbox","aria-checked":e,"data-state":e?"checked":"unchecked",...i,...a,...Fe("menubar","checkbox-item",i.className),ref:m})})});K.displayName="MenubarCheckboxItem";import*as B from"react";import{createSafeContext as _e}from"../utils/createContext.js";import{skdxPart as Ue}from"../utils/part.js";import{Primitive as qe}from"../utils/primitive.js";import{jsx as F}from"react/jsx-runtime";var[ze,_]=_e("MenubarRadioGroup"),U=B.forwardRef(({value:e,onValueChange:o,...t},r)=>F(ze,{value:e,onValueChange:o,children:F(qe.div,{role:"group",...t,...Ue("menubar","radio-group",t.className),ref:r})}));U.displayName="MenubarRadioGroup";import*as z from"react";import{skdxPart as We}from"../utils/part.js";import{Primitive as $e}from"../utils/primitive.js";import{jsx as q}from"react/jsx-runtime";var W=z.forwardRef(({value:e,disabled:o,onSelect:t,...r},i)=>{let m=_("MenubarRadioItem"),a=m.value===e,u=R({disabled:o,onSelect:c=>{m.onValueChange?.(e),t?.(c)},props:r});return q(P.Provider,{value:a,children:q($e.div,{role:"menuitemradio","aria-checked":a,"data-state":a?"checked":"unchecked",...r,...u,...We("menubar","radio-item",r.className),ref:i})})});W.displayName="MenubarRadioItem";import*as $ from"react";import{skdxPart as Je}from"../utils/part.js";import{Primitive as Qe}from"../utils/primitive.js";import{jsx as Xe}from"react/jsx-runtime";var J=$.forwardRef((e,o)=>Xe(Qe.div,{role:"group",...e,...Je("menubar","group",e.className),ref:o}));J.displayName="MenubarGroup";import*as Q from"react";import{skdxPart as Ye}from"../utils/part.js";import{Primitive as Ze}from"../utils/primitive.js";import{jsx as je}from"react/jsx-runtime";var X=Q.forwardRef((e,o)=>je(Ze.div,{...e,...Ye("menubar","label",e.className),ref:o}));X.displayName="MenubarLabel";import*as Y from"react";import{skdxPart as er}from"../utils/part.js";import{Primitive as rr}from"../utils/primitive.js";import{jsx as or}from"react/jsx-runtime";var Z=Y.forwardRef((e,o)=>or(rr.div,{role:"separator","aria-orientation":"horizontal",...e,...er("menubar","separator",e.className),ref:o}));Z.displayName="MenubarSeparator";import{MenuSub as tr,MenuSubContent as nr,MenuSubTrigger as ar}from"../utils/menuSub.js";import{jsx as mr}from"react/jsx-runtime";function j(e){return mr(tr,{family:"menubar",...e})}j.displayName="MenubarSub";var ur=ar,ir=nr;export{fe as Menubar,le as MenubarArrow,K as MenubarCheckboxItem,L as MenubarContent,J as MenubarGroup,H as MenubarItem,O as MenubarItemIndicator,X as MenubarLabel,h as MenubarMenu,N as MenubarPortal,U as MenubarRadioGroup,W as MenubarRadioItem,ce as MenubarRootProvider,Z as MenubarSeparator,j as MenubarSub,ir as MenubarSubContent,ur as MenubarSubTrigger,w as MenubarTrigger,g as useMenubarContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var ve=Object.create;var C=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var Me=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},K=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of de(e))!Ne.call(t,i)&&i!==n&&C(t,i,{get:()=>e[i],enumerable:!(o=fe(e,i))||o.enumerable});return t};var f=(t,e,n)=>(n=t!=null?ve(pe(t)):{},K(e||!t||!t.__esModule?C(n,"default",{value:t,enumerable:!0}):n,t)),Re=t=>K(C({},"__esModule",{value:!0}),t);var Te={};Me(Te,{NavigationMenu:()=>_,NavigationMenuContent:()=>D,NavigationMenuIndicator:()=>S,NavigationMenuItem:()=>k,NavigationMenuLink:()=>H,NavigationMenuList:()=>L,NavigationMenuRootProvider:()=>G,NavigationMenuTrigger:()=>b,useNavigationMenuContext:()=>u});module.exports=Re(Te);var a=f(require("react"),1),O=require("../utils/createContext.cjs"),V=require("../utils/part.cjs"),B=require("../utils/primitive.cjs"),A=require("../utils/useControllableState.cjs"),x=require("react/jsx-runtime"),Ce=150,[G,u]=(0,O.createSafeContext)("NavigationMenu"),_=a.forwardRef(({value:t,defaultValue:e,onValueChange:n,delayDuration:o=200,skipDelayDuration:i=300,orientation:s="horizontal",...m},r)=>{let M=a.useRef(!0),g=a.useRef(0),l=a.useRef(0),I=a.useRef(0),[se="",c]=(0,A.useControllableState)({prop:t,defaultProp:e??"",onChange:v=>{window.clearTimeout(I.current),v?M.current=!1:I.current=window.setTimeout(()=>{M.current=!0},i),n?.(v)}});a.useEffect(()=>()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),window.clearTimeout(I.current)},[]);let me=a.useCallback(v=>{window.clearTimeout(l.current),window.clearTimeout(g.current),M.current?g.current=window.setTimeout(()=>c(v),o):c(v)},[c,o]),h=a.useCallback(()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),l.current=window.setTimeout(()=>c(""),Ce)},[c]),ce=a.useCallback(()=>{window.clearTimeout(l.current)},[]),ge=a.useCallback(v=>{window.clearTimeout(g.current),window.clearTimeout(l.current),c(v)},[c]),le=a.useCallback(()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),c("")},[c]);return(0,x.jsx)(G,{value:se,orientation:s,onTriggerEnter:me,onTriggerLeave:h,onContentEnter:ce,onContentLeave:h,onItemSelect:ge,onClose:le,children:(0,x.jsx)(B.Primitive.nav,{"aria-label":m["aria-label"]??"Main","data-orientation":s,...m,...(0,V.skdxPart)("navigation-menu","root",m.className),ref:r})})});_.displayName="NavigationMenu";var z=f(require("react"),1),F=require("../utils/part.cjs"),P=require("../utils/primitive.cjs"),U=require("../utils/useRovingFocus.cjs");var Y=require("react/jsx-runtime"),Pe="[data-skdx-nav-trigger]",L=z.forwardRef(({loop:t=!0,...e},n)=>{let{orientation:o}=u("NavigationMenuList"),i=(0,U.useRovingFocus)({orientation:o,loop:t,itemSelector:Pe});return(0,Y.jsx)(P.Primitive.ul,{"data-orientation":o,...e,...(0,F.skdxPart)("navigation-menu","list",e.className),ref:n,onKeyDown:(0,P.composeEventHandlers)(e.onKeyDown,i)})});L.displayName="NavigationMenuList";var R=f(require("react"),1),q=require("../utils/createContext.cjs"),J=require("../utils/part.cjs"),Q=require("../utils/primitive.cjs"),E=require("react/jsx-runtime"),[we,w]=(0,q.createSafeContext)("NavigationMenuItem"),k=R.forwardRef(({value:t,...e},n)=>{let o=R.useId(),i=R.useId();return(0,E.jsx)(we,{value:t,triggerId:o,contentId:i,children:(0,E.jsx)(Q.Primitive.li,{...e,...(0,J.skdxPart)("navigation-menu","item",e.className),ref:n})})});k.displayName="NavigationMenuItem";var T=f(require("react"),1),W=require("../utils/part.cjs"),d=require("../utils/primitive.cjs");var X=require("react/jsx-runtime"),b=T.forwardRef((t,e)=>{let n=u("NavigationMenuTrigger"),o=w("NavigationMenuTrigger"),i=n.value===o.value,s=T.useRef(!1),m=()=>{i&&!s.current?n.onClose():n.onItemSelect(o.value)};return(0,X.jsx)(d.Primitive.button,{type:"button",id:o.triggerId,"aria-expanded":i,"aria-controls":o.contentId,"data-skdx-nav-trigger":"","data-state":i?"open":"closed",...t,...(0,W.skdxPart)("navigation-menu","trigger",t.className),ref:e,onPointerEnter:(0,d.composeEventHandlers)(t.onPointerEnter,r=>{r.pointerType!=="touch"&&(s.current=!0,n.onTriggerEnter(o.value))}),onPointerLeave:(0,d.composeEventHandlers)(t.onPointerLeave,r=>{r.pointerType!=="touch"&&(s.current=!1,n.onTriggerLeave())}),onClick:(0,d.composeEventHandlers)(t.onClick,m),onKeyDown:(0,d.composeEventHandlers)(t.onKeyDown,r=>{r.key==="Escape"?(n.onClose(),r.currentTarget.focus()):[" ","Enter"].includes(r.key)&&(r.preventDefault(),m())})})});b.displayName="NavigationMenuTrigger";var N=f(require("react"),1),Z=require("../utils/composeRefs.cjs"),$=require("../utils/part.cjs"),p=require("../utils/primitive.cjs"),j=require("../utils/useDismiss.cjs");var ee=require("react/jsx-runtime"),D=N.forwardRef(({forceMount:t,...e},n)=>{let o=u("NavigationMenuContent"),i=w("NavigationMenuContent"),s=o.value===i.value,m=N.useRef(null),r=(0,Z.useComposedRefs)(n,m),M=N.useMemo(()=>({get current(){return typeof document>"u"?null:document.getElementById(i.triggerId)}}),[i.triggerId]);return(0,j.useDismiss)({enabled:s,onPointerDownOutside:o.onClose},[m,M]),t||s?(0,ee.jsx)(p.Primitive.div,{role:"region",id:i.contentId,"aria-labelledby":i.triggerId,"data-state":s?"open":"closed",...e,...(0,$.skdxPart)("navigation-menu","content",e.className),ref:r,onPointerEnter:(0,p.composeEventHandlers)(e.onPointerEnter,o.onContentEnter),onPointerLeave:(0,p.composeEventHandlers)(e.onPointerLeave,o.onContentLeave),onKeyDown:(0,p.composeEventHandlers)(e.onKeyDown,g=>{g.key==="Escape"&&(o.onClose(),document.getElementById(i.triggerId)?.focus())})}):null});D.displayName="NavigationMenuContent";var te=f(require("react"),1),ne=require("../utils/part.cjs"),y=require("../utils/primitive.cjs");var oe=require("react/jsx-runtime"),H=te.forwardRef(({active:t,...e},n)=>{let o=u("NavigationMenuLink");return(0,oe.jsx)(y.Primitive.a,{"data-skdx-nav-trigger":"","data-active":t?"":void 0,"aria-current":t?"page":void 0,...e,...(0,ne.skdxPart)("navigation-menu","link",e.className),ref:n,onClick:(0,y.composeEventHandlers)(e.onClick,o.onClose)})});H.displayName="NavigationMenuLink";var ie=f(require("react"),1),ae=require("../utils/part.cjs"),re=require("../utils/primitive.cjs");var ue=require("react/jsx-runtime"),S=ie.forwardRef(({forceMount:t,...e},n)=>{let i=u("NavigationMenuIndicator").value!=="";return t||i?(0,ue.jsx)(re.Primitive.div,{"data-state":i?"visible":"hidden",...e,...(0,ae.skdxPart)("navigation-menu","indicator",e.className),ref:n}):null});S.displayName="NavigationMenuIndicator";0&&(module.exports={NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuRootProvider,NavigationMenuTrigger,useNavigationMenuContext});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as a from"react";import{createSafeContext as
|
|
1
|
+
import*as a from"react";import{createSafeContext as A}from"../utils/createContext.js";import{skdxPart as G}from"../utils/part.js";import{Primitive as _}from"../utils/primitive.js";import{useControllableState as z}from"../utils/useControllableState.js";import{jsx as T}from"react/jsx-runtime";var F=150,[U,s]=A("NavigationMenu"),Y=a.forwardRef(({value:n,defaultValue:e,onValueChange:i,delayDuration:t=200,skipDelayDuration:o=300,orientation:u="horizontal",...m},r)=>{let d=a.useRef(!0),g=a.useRef(0),l=a.useRef(0),C=a.useRef(0),[h="",c]=z({prop:n,defaultProp:e??"",onChange:v=>{window.clearTimeout(C.current),v?d.current=!1:C.current=window.setTimeout(()=>{d.current=!0},o),i?.(v)}});a.useEffect(()=>()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),window.clearTimeout(C.current)},[]);let K=a.useCallback(v=>{window.clearTimeout(l.current),window.clearTimeout(g.current),d.current?g.current=window.setTimeout(()=>c(v),t):c(v)},[c,t]),w=a.useCallback(()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),l.current=window.setTimeout(()=>c(""),F)},[c]),O=a.useCallback(()=>{window.clearTimeout(l.current)},[]),V=a.useCallback(v=>{window.clearTimeout(g.current),window.clearTimeout(l.current),c(v)},[c]),B=a.useCallback(()=>{window.clearTimeout(g.current),window.clearTimeout(l.current),c("")},[c]);return T(U,{value:h,orientation:u,onTriggerEnter:K,onTriggerLeave:w,onContentEnter:O,onContentLeave:w,onItemSelect:V,onClose:B,children:T(_.nav,{"aria-label":m["aria-label"]??"Main","data-orientation":u,...m,...G("navigation-menu","root",m.className),ref:r})})});Y.displayName="NavigationMenu";import*as y from"react";import{skdxPart as q}from"../utils/part.js";import{composeEventHandlers as J,Primitive as Q}from"../utils/primitive.js";import{useRovingFocus as W}from"../utils/useRovingFocus.js";import{jsx as Z}from"react/jsx-runtime";var X="[data-skdx-nav-trigger]",I=y.forwardRef(({loop:n=!0,...e},i)=>{let{orientation:t}=s("NavigationMenuList"),o=W({orientation:t,loop:n,itemSelector:X});return Z(Q.ul,{"data-orientation":t,...e,...q("navigation-menu","list",e.className),ref:i,onKeyDown:J(e.onKeyDown,o)})});I.displayName="NavigationMenuList";import*as p from"react";import{createSafeContext as $}from"../utils/createContext.js";import{skdxPart as j}from"../utils/part.js";import{Primitive as ee}from"../utils/primitive.js";import{jsx as x}from"react/jsx-runtime";var[te,N]=$("NavigationMenuItem"),L=p.forwardRef(({value:n,...e},i)=>{let t=p.useId(),o=p.useId();return x(te,{value:n,triggerId:t,contentId:o,children:x(ee.li,{...e,...j("navigation-menu","item",e.className),ref:i})})});L.displayName="NavigationMenuItem";import*as R from"react";import{skdxPart as ne}from"../utils/part.js";import{composeEventHandlers as M,Primitive as oe}from"../utils/primitive.js";import{jsx as ie}from"react/jsx-runtime";var E=R.forwardRef((n,e)=>{let i=s("NavigationMenuTrigger"),t=N("NavigationMenuTrigger"),o=i.value===t.value,u=R.useRef(!1),m=()=>{o&&!u.current?i.onClose():i.onItemSelect(t.value)};return ie(oe.button,{type:"button",id:t.triggerId,"aria-expanded":o,"aria-controls":t.contentId,"data-skdx-nav-trigger":"","data-state":o?"open":"closed",...n,...ne("navigation-menu","trigger",n.className),ref:e,onPointerEnter:M(n.onPointerEnter,r=>{r.pointerType!=="touch"&&(u.current=!0,i.onTriggerEnter(t.value))}),onPointerLeave:M(n.onPointerLeave,r=>{r.pointerType!=="touch"&&(u.current=!1,i.onTriggerLeave())}),onClick:M(n.onClick,m),onKeyDown:M(n.onKeyDown,r=>{r.key==="Escape"?(i.onClose(),r.currentTarget.focus()):[" ","Enter"].includes(r.key)&&(r.preventDefault(),m())})})});E.displayName="NavigationMenuTrigger";import*as f from"react";import{useComposedRefs as ae}from"../utils/composeRefs.js";import{skdxPart as re}from"../utils/part.js";import{composeEventHandlers as P,Primitive as ue}from"../utils/primitive.js";import{useDismiss as se}from"../utils/useDismiss.js";import{jsx as me}from"react/jsx-runtime";var k=f.forwardRef(({forceMount:n,...e},i)=>{let t=s("NavigationMenuContent"),o=N("NavigationMenuContent"),u=t.value===o.value,m=f.useRef(null),r=ae(i,m),d=f.useMemo(()=>({get current(){return typeof document>"u"?null:document.getElementById(o.triggerId)}}),[o.triggerId]);return se({enabled:u,onPointerDownOutside:t.onClose},[m,d]),n||u?me(ue.div,{role:"region",id:o.contentId,"aria-labelledby":o.triggerId,"data-state":u?"open":"closed",...e,...re("navigation-menu","content",e.className),ref:r,onPointerEnter:P(e.onPointerEnter,t.onContentEnter),onPointerLeave:P(e.onPointerLeave,t.onContentLeave),onKeyDown:P(e.onKeyDown,g=>{g.key==="Escape"&&(t.onClose(),document.getElementById(o.triggerId)?.focus())})}):null});k.displayName="NavigationMenuContent";import*as b from"react";import{skdxPart as ce}from"../utils/part.js";import{composeEventHandlers as ge,Primitive as le}from"../utils/primitive.js";import{jsx as ve}from"react/jsx-runtime";var D=b.forwardRef(({active:n,...e},i)=>{let t=s("NavigationMenuLink");return ve(le.a,{"data-skdx-nav-trigger":"","data-active":n?"":void 0,"aria-current":n?"page":void 0,...e,...ce("navigation-menu","link",e.className),ref:i,onClick:ge(e.onClick,t.onClose)})});D.displayName="NavigationMenuLink";import*as H from"react";import{skdxPart as fe}from"../utils/part.js";import{Primitive as de}from"../utils/primitive.js";import{jsx as pe}from"react/jsx-runtime";var S=H.forwardRef(({forceMount:n,...e},i)=>{let o=s("NavigationMenuIndicator").value!=="";return n||o?pe(de.div,{"data-state":o?"visible":"hidden",...e,...fe("navigation-menu","indicator",e.className),ref:i}):null});S.displayName="NavigationMenuIndicator";export{Y as NavigationMenu,k as NavigationMenuContent,S as NavigationMenuIndicator,L as NavigationMenuItem,D as NavigationMenuLink,I as NavigationMenuList,U as NavigationMenuRootProvider,E as NavigationMenuTrigger,s as useNavigationMenuContext};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { NavigationMenuListProps } from './types.cjs';
|
|
3
3
|
/**
|
|
4
|
-
* `<ul data-orientation="
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* `<ul data-orientation="…">` container for {@link NavigationMenuItem}s.
|
|
5
|
+
* Provides roving-focus arrow-key navigation across items marked
|
|
6
|
+
* `data-skdx-nav-trigger`, wrapping by default.
|
|
7
|
+
*
|
|
8
|
+
* The axis comes from the root's `orientation` prop: Left/Right when
|
|
9
|
+
* horizontal, Up/Down when vertical. Arrow keys that do not match the axis are
|
|
10
|
+
* left alone, so a vertical menu does not swallow Left/Right.
|
|
8
11
|
*
|
|
9
12
|
* @example
|
|
10
13
|
* ```tsx
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { NavigationMenuListProps } from './types.js';
|
|
3
3
|
/**
|
|
4
|
-
* `<ul data-orientation="
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* `<ul data-orientation="…">` container for {@link NavigationMenuItem}s.
|
|
5
|
+
* Provides roving-focus arrow-key navigation across items marked
|
|
6
|
+
* `data-skdx-nav-trigger`, wrapping by default.
|
|
7
|
+
*
|
|
8
|
+
* The axis comes from the root's `orientation` prop: Left/Right when
|
|
9
|
+
* horizontal, Up/Down when vertical. Arrow keys that do not match the axis are
|
|
10
|
+
* left alone, so a vertical menu does not swallow Left/Right.
|
|
8
11
|
*
|
|
9
12
|
* @example
|
|
10
13
|
* ```tsx
|
|
@@ -2,6 +2,8 @@ import type { PrimitivePropsWithRef } from '../utils/primitive.cjs';
|
|
|
2
2
|
/** @internal Shared state distributed from {@link NavigationMenu} to its parts via context. Not part of the public API. */
|
|
3
3
|
export interface NavigationMenuContextValue {
|
|
4
4
|
value: string;
|
|
5
|
+
/** Axis the list lays out and arrow-keys travel along. Set on the root. */
|
|
6
|
+
orientation: 'horizontal' | 'vertical';
|
|
5
7
|
onTriggerEnter: (itemValue: string) => void;
|
|
6
8
|
onTriggerLeave: () => void;
|
|
7
9
|
onContentEnter: () => void;
|
|
@@ -11,6 +13,14 @@ export interface NavigationMenuContextValue {
|
|
|
11
13
|
}
|
|
12
14
|
/** Props for the {@link NavigationMenu} root. */
|
|
13
15
|
export interface NavigationMenuProps extends PrimitivePropsWithRef<'nav'> {
|
|
16
|
+
/**
|
|
17
|
+
* Axis the menu runs along. Sets `data-orientation` on the root and the list,
|
|
18
|
+
* switches roving focus between Left/Right and Up/Down, and is what the skin
|
|
19
|
+
* keys its vertical layout off. Use `'vertical'` for sidebars, footer link
|
|
20
|
+
* columns and mobile drawers.
|
|
21
|
+
* @default 'horizontal'
|
|
22
|
+
*/
|
|
23
|
+
orientation?: 'horizontal' | 'vertical';
|
|
14
24
|
/**
|
|
15
25
|
* Value of the currently open item, for controlled usage. Pair with `onValueChange`.
|
|
16
26
|
* @default undefined — uncontrolled, tracks its own open item internally.
|
|
@@ -2,6 +2,8 @@ import type { PrimitivePropsWithRef } from '../utils/primitive.js';
|
|
|
2
2
|
/** @internal Shared state distributed from {@link NavigationMenu} to its parts via context. Not part of the public API. */
|
|
3
3
|
export interface NavigationMenuContextValue {
|
|
4
4
|
value: string;
|
|
5
|
+
/** Axis the list lays out and arrow-keys travel along. Set on the root. */
|
|
6
|
+
orientation: 'horizontal' | 'vertical';
|
|
5
7
|
onTriggerEnter: (itemValue: string) => void;
|
|
6
8
|
onTriggerLeave: () => void;
|
|
7
9
|
onContentEnter: () => void;
|
|
@@ -11,6 +13,14 @@ export interface NavigationMenuContextValue {
|
|
|
11
13
|
}
|
|
12
14
|
/** Props for the {@link NavigationMenu} root. */
|
|
13
15
|
export interface NavigationMenuProps extends PrimitivePropsWithRef<'nav'> {
|
|
16
|
+
/**
|
|
17
|
+
* Axis the menu runs along. Sets `data-orientation` on the root and the list,
|
|
18
|
+
* switches roving focus between Left/Right and Up/Down, and is what the skin
|
|
19
|
+
* keys its vertical layout off. Use `'vertical'` for sidebars, footer link
|
|
20
|
+
* columns and mobile drawers.
|
|
21
|
+
* @default 'horizontal'
|
|
22
|
+
*/
|
|
23
|
+
orientation?: 'horizontal' | 'vertical';
|
|
14
24
|
/**
|
|
15
25
|
* Value of the currently open item, for controlled usage. Pair with `onValueChange`.
|
|
16
26
|
* @default undefined — uncontrolled, tracks its own open item internally.
|
package/dist/select/Select.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var pt=Object.create;var w=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var ft=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var St=(e,o)=>{for(var t in o)w(e,t,{get:o[t],enumerable:!0})},te=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of ft(o))!ut.call(e,c)&&c!==t&&w(e,c,{get:()=>o[c],enumerable:!(r=mt(o,c))||r.enumerable});return e};var u=(e,o,t)=>(t=e!=null?pt(dt(e)):{},te(o||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),Pt=e=>te(w({},"__esModule",{value:!0}),e);var yt={};St(yt,{Select:()=>ie,SelectContent:()=>B,SelectGroup:()=>Q,SelectIcon:()=>G,SelectItem:()=>_,SelectItemIndicator:()=>J,SelectItemText:()=>z,SelectLabel:()=>X,SelectPortal:()=>F,SelectProvider:()=>se,SelectSeparator:()=>Y,SelectTrigger:()=>K,SelectValue:()=>A,SelectViewport:()=>U,useSelectContext:()=>S});module.exports=Pt(yt);var i=u(require("react"),1),oe=require("../utils/createContext.cjs"),L=require("../utils/formControl.cjs"),re=require("../utils/hiddenInput.cjs"),le=require("../utils/popper.cjs"),ne=require("../utils/useControllableState.cjs"),ae=require("../utils/useOpenChangeComplete.cjs"),ce=require("../utils/useSelection.cjs"),h=require("react/jsx-runtime"),[se,S]=(0,oe.createSafeContext)("Select"),ie=i.forwardRef(function({children:o,value:t,defaultValue:r,onValueChange:c,multiple:n=!1,items:p,open:a,defaultOpen:d=!1,onOpenChange:s,onOpenChangeComplete:l,disabled:v=!1,required:b=!1,invalid:m=!1,name:R},D){let T=i.useRef(null),Z=i.useRef(null),$=i.useRef(null),{selectedValues:O,isSelected:ot,selectItem:rt,setSelection:lt}=(0,ce.useSelection)({value:t,defaultValue:r,onValueChange:c,multiple:n}),[j=!1,nt]=(0,ne.useControllableState)({prop:a,defaultProp:d,onChange:s});(0,ae.useOpenChangeComplete)(j,Z,l);let[I,at]=i.useState(new Map),ct=i.useCallback((f,P)=>{at(M=>{if(M.get(f)===P)return M;let ee=new Map(M);return ee.set(f,P),ee})},[]),st=i.useMemo(()=>p?p.map(f=>({...f,label:I.get(f.value)??f.label??f.value})):[...I].map(([f,P])=>({value:f,label:P})),[p,I]),it=i.useCallback(f=>I.get(f)??p?.find(P=>P.value===f)?.label??f,[I,p]);return i.useImperativeHandle(D,()=>(0,L.formValidityHandle)($),[]),(0,L.useFormReset)(T,()=>{r!==void 0&<(r)}),(0,h.jsx)(le.PopperRoot,{children:(0,h.jsxs)(se,{triggerRef:T,contentRef:Z,contentId:i.useId(),multiple:n,selectedValues:O,isSelected:ot,selectItem:rt,open:j,onOpenChange:nt,disabled:v,required:b,invalid:m,name:R,registerOptionLabel:ct,getOptionLabel:it,collection:st,children:[o,R&&(O.length>0?O:[""]).map((f,P)=>(0,h.jsx)(re.HiddenInput,{ref:P===0?$:void 0,type:"text",name:R,value:f,required:b,disabled:v},f||P))]})})});ie.displayName="Select";var y=u(require("react"),1),pe=require("../utils/composeRefs.cjs"),me=require("../utils/part.cjs"),fe=require("../utils/popper.cjs"),C=require("../utils/primitive.cjs"),k=require("../utils/useTypeahead.cjs");var V=require("react/jsx-runtime"),K=y.forwardRef((e,o)=>{let t=S("SelectTrigger"),r=(0,pe.useComposedRefs)(o,t.triggerRef),c=t.disabled||e.disabled,n=y.useRef(t.collection);n.current=t.collection.filter(a=>!a.disabled);let p=(0,k.useTypeahead)(y.useCallback(()=>n.current.map(a=>a.label??a.value),[]));return(0,V.jsx)(fe.PopperAnchor,{asChild:!0,children:(0,V.jsx)(C.Primitive.button,{type:"button",role:"combobox","aria-haspopup":"listbox","aria-expanded":t.open,"aria-controls":t.contentId,"aria-required":t.required||void 0,"aria-invalid":t.invalid?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":c?"":void 0,"data-invalid":t.invalid?"":void 0,"data-placeholder":t.selectedValues.length===0?"":void 0,"data-multiple":t.multiple?"":void 0,disabled:c,...e,...(0,me.skdxPart)("select","trigger",e.className),ref:r,onClick:(0,C.composeEventHandlers)(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:(0,C.composeEventHandlers)(e.onKeyDown,a=>{if(["ArrowDown","ArrowUp"," ","Enter"].includes(a.key)){a.preventDefault(),t.onOpenChange(!0);return}if(t.open||!(0,k.isTypeaheadKey)(a))return;if(a.preventDefault(),t.multiple){t.onOpenChange(!0);return}let d=n.current.findIndex(l=>t.isSelected(l.value)),s=p(a.key,d);s!==-1&&t.selectItem(n.current[s].value)})})})});K.displayName="SelectTrigger";var de=u(require("react"),1),ue=require("../utils/part.cjs"),Se=require("../utils/primitive.cjs");var q=require("react/jsx-runtime"),A=de.forwardRef(({placeholder:e,children:o,...t},r)=>{let{selectedValues:c,multiple:n,getOptionLabel:p}=S("SelectValue"),a,d=!1;return o!==void 0?a=o:c.length===0?(a=e,d=!0):n?a=c.map(s=>(0,q.jsx)("span",{"data-chip":"","data-value":s,children:p(s)},s)):a=p(c[0]),(0,q.jsx)(Se.Primitive.span,{"data-multiple":n?"":void 0,"data-placeholder":d?"":void 0,...t,...(0,ue.skdxPart)("select","value",t.className),ref:r,style:{pointerEvents:"none",...t.style},children:a})});A.displayName="SelectValue";var Pe=u(require("react"),1),Re=require("../utils/part.cjs"),ye=require("../utils/primitive.cjs"),ge=require("react/jsx-runtime"),G=Pe.forwardRef(({children:e,...o},t)=>(0,ge.jsx)(ye.Primitive.span,{"aria-hidden":!0,...o,...(0,Re.skdxPart)("select","icon",o.className),ref:t,children:e??"\u25BE"}));G.displayName="SelectIcon";var xe=require("../utils/portal.cjs");var Ie=require("react/jsx-runtime"),F=({forceMount:e,children:o,...t})=>{let r=S("SelectPortal");return e||r.open?(0,Ie.jsx)(xe.Portal,{...t,children:o}):null};F.displayName="SelectPortal";var E=u(require("react"),1),Ce=require("../utils/composeRefs.cjs"),ve=require("../utils/part.cjs"),be=require("../utils/popper.cjs"),Te=require("../utils/primitive.cjs"),we=require("../utils/useDismiss.cjs"),Le=require("../utils/useRovingFocus.cjs");var ke=require("react/jsx-runtime"),he='[role="option"]:not([data-disabled])',B=E.forwardRef(({forceMount:e,side:o="bottom",align:t="start",sideOffset:r=4,onEscapeKeyDown:c,onPointerDownOutside:n,onFocusOutside:p,onInteractOutside:a,...d},s)=>{let l=S("SelectContent"),v=(0,Ce.useComposedRefs)(s,l.contentRef),b=(0,Le.useRovingFocus)({orientation:"vertical",loop:!1,itemSelector:he,typeahead:!0});return(0,we.useDismiss)({enabled:l.open,onEscapeKeyDown:m=>{c?.(m),!m.defaultPrevented&&(l.onOpenChange(!1),l.triggerRef.current?.focus())},onInteractOutside:a,onPointerDownOutside:m=>{n?.(m),m.defaultPrevented||l.onOpenChange(!1)},onFocusOutside:m=>{p?.(m),m.defaultPrevented||l.onOpenChange(!1)}},[l.contentRef,l.triggerRef]),E.useEffect(()=>{if(!l.open)return;let m=requestAnimationFrame(()=>{let R=l.contentRef.current;if(!R)return;let D=R.querySelector('[role="option"][data-state="checked"]'),T=R.querySelector(he);(D??T??R).focus()});return()=>cancelAnimationFrame(m)},[l.open,l.contentRef]),e||l.open?(0,ke.jsx)(be.PopperContent,{component:"select",role:"listbox",id:l.contentId,"aria-multiselectable":l.multiple?!0:void 0,"data-state":l.open?"open":"closed","data-multiple":l.multiple?"":void 0,tabIndex:-1,side:o,align:t,sideOffset:r,...d,...(0,ve.skdxPart)("select","content",d.className),ref:v,onKeyDown:(0,Te.composeEventHandlers)(d.onKeyDown,m=>{b(m),m.key==="Tab"&&(m.preventDefault(),l.onOpenChange(!1),l.triggerRef.current?.focus())})}):null});B.displayName="SelectContent";var Ee=u(require("react"),1),He=require("../utils/part.cjs"),Ne=require("../utils/primitive.cjs"),De=require("react/jsx-runtime"),U=Ee.forwardRef((e,o)=>(0,De.jsx)(Ne.Primitive.div,{...e,...(0,He.skdxPart)("select","viewport",e.className),ref:o,style:{overflow:"auto",...e.style}}));U.displayName="SelectViewport";var H=u(require("react"),1),Oe=require("../utils/createContext.cjs"),Me=require("../utils/part.cjs"),g=require("../utils/primitive.cjs");var W=require("react/jsx-runtime"),[Rt,N]=(0,Oe.createSafeContext)("SelectItem"),_=H.forwardRef(({value:e,disabled:o,textValue:t,...r},c)=>{let n=S("SelectItem"),p=n.isSelected(e),a=H.useCallback(s=>n.registerOptionLabel(e,t??s),[n.registerOptionLabel,e,t]),d=()=>{o||(n.selectItem(e),!n.multiple&&(n.onOpenChange(!1),n.triggerRef.current?.focus()))};return(0,W.jsx)(Rt,{value:e,selected:p,registerText:a,children:(0,W.jsx)(g.Primitive.div,{role:"option","aria-selected":p,"data-state":p?"checked":"unchecked","data-text-value":t,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...r,...(0,Me.skdxPart)("select","item",r.className),ref:c,onClick:(0,g.composeEventHandlers)(r.onClick,d),onKeyDown:(0,g.composeEventHandlers)(r.onKeyDown,s=>{[" ","Enter"].includes(s.key)&&(s.preventDefault(),d())}),onPointerEnter:(0,g.composeEventHandlers)(r.onPointerEnter,s=>{o||s.currentTarget.focus()})})})});_.displayName="SelectItem";var x=u(require("react"),1),Ve=require("../utils/composeRefs.cjs"),Ke=require("../utils/part.cjs"),qe=require("../utils/primitive.cjs");var Ae=require("react/jsx-runtime"),z=x.forwardRef(({children:e,...o},t)=>{let r=N("SelectItemText"),c=x.useRef(null),n=(0,Ve.useComposedRefs)(t,c);return x.useLayoutEffect(()=>{r.registerText(c.current?.textContent??"")}),(0,Ae.jsx)(qe.Primitive.span,{...o,...(0,Ke.skdxPart)("select","item-text",o.className),ref:n,children:e})});z.displayName="SelectItemText";var Ge=u(require("react"),1),Fe=require("../utils/part.cjs"),Be=require("../utils/primitive.cjs");var Ue=require("react/jsx-runtime"),J=Ge.forwardRef(({forceMount:e,...o},t)=>{let r=N("SelectItemIndicator");return e||r.selected?(0,Ue.jsx)(Be.Primitive.span,{"aria-hidden":!0,...o,...(0,Fe.skdxPart)("select","item-indicator",o.className),ref:t}):null});J.displayName="SelectItemIndicator";var We=u(require("react"),1),_e=require("../utils/part.cjs"),ze=require("../utils/primitive.cjs"),Je=require("react/jsx-runtime"),Q=We.forwardRef((e,o)=>(0,Je.jsx)(ze.Primitive.div,{role:"group",...e,...(0,_e.skdxPart)("select","group",e.className),ref:o}));Q.displayName="SelectGroup";var Qe=u(require("react"),1),Xe=require("../utils/part.cjs"),Ye=require("../utils/primitive.cjs"),Ze=require("react/jsx-runtime"),X=Qe.forwardRef((e,o)=>(0,Ze.jsx)(Ye.Primitive.div,{...e,...(0,Xe.skdxPart)("select","label",e.className),ref:o}));X.displayName="SelectLabel";var $e=u(require("react"),1),je=require("../utils/part.cjs"),et=require("../utils/primitive.cjs"),tt=require("react/jsx-runtime"),Y=$e.forwardRef((e,o)=>(0,tt.jsx)(et.Primitive.div,{"aria-hidden":!0,...e,...(0,je.skdxPart)("select","separator",e.className),ref:o}));Y.displayName="SelectSeparator";0&&(module.exports={Select,SelectContent,SelectGroup,SelectIcon,SelectItem,SelectItemIndicator,SelectItemText,SelectLabel,SelectPortal,SelectProvider,SelectSeparator,SelectTrigger,SelectValue,SelectViewport,useSelectContext});
|
|
1
|
+
"use strict";var pt=Object.create;var w=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var ft=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var St=(e,o)=>{for(var t in o)w(e,t,{get:o[t],enumerable:!0})},te=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let l of ft(o))!ut.call(e,l)&&l!==t&&w(e,l,{get:()=>o[l],enumerable:!(r=mt(o,l))||r.enumerable});return e};var u=(e,o,t)=>(t=e!=null?pt(dt(e)):{},te(o||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),Pt=e=>te(w({},"__esModule",{value:!0}),e);var yt={};St(yt,{Select:()=>se,SelectContent:()=>U,SelectGroup:()=>X,SelectIcon:()=>F,SelectItem:()=>z,SelectItemIndicator:()=>Q,SelectItemText:()=>J,SelectLabel:()=>Y,SelectPortal:()=>B,SelectProvider:()=>ie,SelectSeparator:()=>Z,SelectTrigger:()=>q,SelectValue:()=>G,SelectViewport:()=>W,useSelectContext:()=>S});module.exports=Pt(yt);var s=u(require("react"),1),oe=require("../utils/createContext.cjs"),E=require("../utils/formControl.cjs"),re=require("../utils/hiddenInput.cjs"),le=require("../utils/popper.cjs"),ne=require("../utils/useControllableState.cjs"),ae=require("../utils/useOpenChangeComplete.cjs"),ce=require("../utils/useSelection.cjs"),C=require("react/jsx-runtime"),[ie,S]=(0,oe.createSafeContext)("Select"),se=s.forwardRef(function({children:o,value:t,defaultValue:r,onValueChange:l,multiple:a=!1,items:p,open:c,defaultOpen:d=!1,onOpenChange:i,onOpenChangeComplete:n,disabled:b=!1,required:T=!1,invalid:m=!1,name:P},M){let L=s.useRef(null),I=s.useRef(null),$=s.useRef(null),{selectedValues:O,isSelected:ot,selectItem:rt,setSelection:lt}=(0,ce.useSelection)({value:t,defaultValue:r,onValueChange:l,multiple:a}),[j=!1,nt]=(0,ne.useControllableState)({prop:c,defaultProp:d,onChange:i});(0,ae.useOpenChangeComplete)(j,I,n);let[h,at]=s.useState(new Map),ct=s.useCallback((f,R)=>{at(V=>{if(V.get(f)===R)return V;let ee=new Map(V);return ee.set(f,R),ee})},[]),it=s.useMemo(()=>p?p.map(f=>({...f,label:h.get(f.value)??f.label??f.value})):[...h].map(([f,R])=>({value:f,label:R})),[p,h]),st=s.useCallback(f=>h.get(f)??p?.find(R=>R.value===f)?.label??f,[h,p]);return s.useImperativeHandle(M,()=>(0,E.formValidityHandle)($),[]),(0,E.useFormReset)(L,()=>{r!==void 0&<(r)}),(0,C.jsx)(le.PopperRoot,{children:(0,C.jsxs)(ie,{triggerRef:L,contentRef:I,contentId:s.useId(),multiple:a,selectedValues:O,isSelected:ot,selectItem:rt,open:j,onOpenChange:nt,disabled:b,required:T,invalid:m,name:P,registerOptionLabel:ct,getOptionLabel:st,collection:it,children:[o,P&&(O.length>0?O:[""]).map((f,R)=>(0,C.jsx)(re.HiddenInput,{ref:R===0?$:void 0,type:"text",name:P,value:f,required:T,disabled:b},f||R))]})})});se.displayName="Select";var g=u(require("react"),1),pe=require("../utils/composeRefs.cjs"),me=require("../utils/part.cjs"),fe=require("../utils/popper.cjs"),v=require("../utils/primitive.cjs"),k=require("../utils/useTypeahead.cjs");var K=require("react/jsx-runtime"),q=g.forwardRef((e,o)=>{let t=S("SelectTrigger"),r=(0,pe.useComposedRefs)(o,t.triggerRef),l=t.disabled||e.disabled,a=g.useRef(t.collection);a.current=t.collection.filter(c=>!c.disabled);let p=(0,k.useTypeahead)(g.useCallback(()=>a.current.map(c=>c.label??c.value),[]));return(0,K.jsx)(fe.PopperAnchor,{asChild:!0,children:(0,K.jsx)(v.Primitive.button,{type:"button",role:"combobox","aria-haspopup":"listbox","aria-expanded":t.open,"aria-controls":t.contentId,"aria-required":t.required||void 0,"aria-invalid":t.invalid?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":l?"":void 0,"data-invalid":t.invalid?"":void 0,"data-placeholder":t.selectedValues.length===0?"":void 0,"data-multiple":t.multiple?"":void 0,disabled:l,...e,...(0,me.skdxPart)("select","trigger",e.className),ref:r,onClick:(0,v.composeEventHandlers)(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:(0,v.composeEventHandlers)(e.onKeyDown,c=>{if(["ArrowDown","ArrowUp"," ","Enter"].includes(c.key)){c.preventDefault(),t.onOpenChange(!0);return}if(t.open||!(0,k.isTypeaheadKey)(c))return;if(c.preventDefault(),t.multiple){t.onOpenChange(!0);return}let d=a.current.findIndex(n=>t.isSelected(n.value)),i=p(c.key,d);i!==-1&&t.selectItem(a.current[i].value)})})})});q.displayName="SelectTrigger";var de=u(require("react"),1),ue=require("../utils/part.cjs"),Se=require("../utils/primitive.cjs");var A=require("react/jsx-runtime"),G=de.forwardRef(({placeholder:e,children:o,...t},r)=>{let{selectedValues:l,multiple:a,getOptionLabel:p}=S("SelectValue"),c,d=!1;return o!==void 0?c=o:l.length===0?(c=e,d=!0):a?c=l.map(i=>(0,A.jsx)("span",{"data-chip":"","data-value":i,children:p(i)},i)):c=p(l[0]),(0,A.jsx)(Se.Primitive.span,{"data-multiple":a?"":void 0,"data-placeholder":d?"":void 0,...t,...(0,ue.skdxPart)("select","value",t.className),ref:r,style:{pointerEvents:"none",...t.style},children:c})});G.displayName="SelectValue";var Pe=u(require("react"),1),Re=require("../utils/part.cjs"),ge=require("../utils/primitive.cjs"),ye=require("react/jsx-runtime"),F=Pe.forwardRef(({children:e,...o},t)=>(0,ye.jsx)(ge.Primitive.span,{"aria-hidden":!0,...o,...(0,Re.skdxPart)("select","icon",o.className),ref:t,children:e??"\u25BE"}));F.displayName="SelectIcon";var xe=require("../utils/portal.cjs");var Ie=require("react/jsx-runtime"),B=({forceMount:e,children:o,...t})=>{let r=S("SelectPortal");return e||r.open?(0,Ie.jsx)(xe.Portal,{...t,children:o}):null};B.displayName="SelectPortal";var H=u(require("react"),1),Ce=require("../utils/composeRefs.cjs"),ve=require("../utils/part.cjs"),be=require("../utils/popper.cjs"),Te=require("../utils/primitive.cjs"),Le=require("../utils/useDismiss.cjs"),we=require("../utils/useRovingFocus.cjs");var Ee=require("react/jsx-runtime"),he='[role="option"]:not([data-disabled])';function Rt(e,o){let t=e.querySelector('[data-part="viewport"]')??e;if(t===o||!t.contains(o))return;let r=t.getBoundingClientRect(),l=o.getBoundingClientRect();t.scrollTop+=l.top-r.top-(r.height-l.height)/2}var U=H.forwardRef(({forceMount:e,side:o="bottom",align:t="start",sideOffset:r=4,onEscapeKeyDown:l,onPointerDownOutside:a,onFocusOutside:p,onInteractOutside:c,...d},i)=>{let n=S("SelectContent"),b=(0,Ce.useComposedRefs)(i,n.contentRef),T=(0,we.useRovingFocus)({orientation:"vertical",loop:!1,itemSelector:he,typeahead:!0});return(0,Le.useDismiss)({enabled:n.open,onEscapeKeyDown:m=>{l?.(m),!m.defaultPrevented&&(n.onOpenChange(!1),n.triggerRef.current?.focus())},onInteractOutside:c,onPointerDownOutside:m=>{a?.(m),m.defaultPrevented||n.onOpenChange(!1)},onFocusOutside:m=>{p?.(m),m.defaultPrevented||n.onOpenChange(!1)}},[n.contentRef,n.triggerRef]),H.useEffect(()=>{if(!n.open)return;let m=requestAnimationFrame(()=>{let P=n.contentRef.current;if(!P)return;let M=P.querySelector('[role="option"][data-state="checked"]'),L=P.querySelector(he),I=M??L??P;I.focus({preventScroll:!0}),Rt(P,I)});return()=>cancelAnimationFrame(m)},[n.open,n.contentRef]),e||n.open?(0,Ee.jsx)(be.PopperContent,{component:"select",role:"listbox",id:n.contentId,"aria-multiselectable":n.multiple?!0:void 0,"data-state":n.open?"open":"closed","data-multiple":n.multiple?"":void 0,tabIndex:-1,side:o,align:t,sideOffset:r,...d,...(0,ve.skdxPart)("select","content",d.className),ref:b,onKeyDown:(0,Te.composeEventHandlers)(d.onKeyDown,m=>{T(m),m.key==="Tab"&&(m.preventDefault(),n.onOpenChange(!1),n.triggerRef.current?.focus())})}):null});U.displayName="SelectContent";var ke=u(require("react"),1),He=require("../utils/part.cjs"),Ne=require("../utils/primitive.cjs"),De=require("react/jsx-runtime"),W=ke.forwardRef((e,o)=>(0,De.jsx)(Ne.Primitive.div,{...e,...(0,He.skdxPart)("select","viewport",e.className),ref:o,style:{overflow:"auto",...e.style}}));W.displayName="SelectViewport";var N=u(require("react"),1),Me=require("../utils/createContext.cjs"),Oe=require("../utils/part.cjs"),y=require("../utils/primitive.cjs");var _=require("react/jsx-runtime"),[gt,D]=(0,Me.createSafeContext)("SelectItem"),z=N.forwardRef(({value:e,disabled:o,textValue:t,...r},l)=>{let a=S("SelectItem"),p=a.isSelected(e),c=N.useCallback(i=>a.registerOptionLabel(e,t??i),[a.registerOptionLabel,e,t]),d=()=>{o||(a.selectItem(e),!a.multiple&&(a.onOpenChange(!1),a.triggerRef.current?.focus()))};return(0,_.jsx)(gt,{value:e,selected:p,registerText:c,children:(0,_.jsx)(y.Primitive.div,{role:"option","aria-selected":p,"data-state":p?"checked":"unchecked","data-text-value":t,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...r,...(0,Oe.skdxPart)("select","item",r.className),ref:l,onClick:(0,y.composeEventHandlers)(r.onClick,d),onKeyDown:(0,y.composeEventHandlers)(r.onKeyDown,i=>{[" ","Enter"].includes(i.key)&&(i.preventDefault(),d())}),onPointerEnter:(0,y.composeEventHandlers)(r.onPointerEnter,i=>{o||i.currentTarget.focus()})})})});z.displayName="SelectItem";var x=u(require("react"),1),Ve=require("../utils/composeRefs.cjs"),Ke=require("../utils/part.cjs"),qe=require("../utils/primitive.cjs");var Ae=require("react/jsx-runtime"),J=x.forwardRef(({children:e,...o},t)=>{let r=D("SelectItemText"),l=x.useRef(null),a=(0,Ve.useComposedRefs)(t,l);return x.useLayoutEffect(()=>{r.registerText(l.current?.textContent??"")}),(0,Ae.jsx)(qe.Primitive.span,{...o,...(0,Ke.skdxPart)("select","item-text",o.className),ref:a,children:e})});J.displayName="SelectItemText";var Ge=u(require("react"),1),Fe=require("../utils/part.cjs"),Be=require("../utils/primitive.cjs");var Ue=require("react/jsx-runtime"),Q=Ge.forwardRef(({forceMount:e,...o},t)=>{let r=D("SelectItemIndicator");return e||r.selected?(0,Ue.jsx)(Be.Primitive.span,{"aria-hidden":!0,...o,...(0,Fe.skdxPart)("select","item-indicator",o.className),ref:t}):null});Q.displayName="SelectItemIndicator";var We=u(require("react"),1),_e=require("../utils/part.cjs"),ze=require("../utils/primitive.cjs"),Je=require("react/jsx-runtime"),X=We.forwardRef((e,o)=>(0,Je.jsx)(ze.Primitive.div,{role:"group",...e,...(0,_e.skdxPart)("select","group",e.className),ref:o}));X.displayName="SelectGroup";var Qe=u(require("react"),1),Xe=require("../utils/part.cjs"),Ye=require("../utils/primitive.cjs"),Ze=require("react/jsx-runtime"),Y=Qe.forwardRef((e,o)=>(0,Ze.jsx)(Ye.Primitive.div,{...e,...(0,Xe.skdxPart)("select","label",e.className),ref:o}));Y.displayName="SelectLabel";var $e=u(require("react"),1),je=require("../utils/part.cjs"),et=require("../utils/primitive.cjs"),tt=require("react/jsx-runtime"),Z=$e.forwardRef((e,o)=>(0,tt.jsx)(et.Primitive.div,{"aria-hidden":!0,...e,...(0,je.skdxPart)("select","separator",e.className),ref:o}));Z.displayName="SelectSeparator";0&&(module.exports={Select,SelectContent,SelectGroup,SelectIcon,SelectItem,SelectItemIndicator,SelectItemText,SelectLabel,SelectPortal,SelectProvider,SelectSeparator,SelectTrigger,SelectValue,SelectViewport,useSelectContext});
|
package/dist/select/Select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as s from"react";import{createSafeContext as de}from"../utils/createContext.js";import{formValidityHandle as ue,useFormReset as Se}from"../utils/formControl.js";import{HiddenInput as Pe}from"../utils/hiddenInput.js";import{PopperRoot as Re}from"../utils/popper.js";import{useControllableState as
|
|
1
|
+
import*as s from"react";import{createSafeContext as de}from"../utils/createContext.js";import{formValidityHandle as ue,useFormReset as Se}from"../utils/formControl.js";import{HiddenInput as Pe}from"../utils/hiddenInput.js";import{PopperRoot as Re}from"../utils/popper.js";import{useControllableState as ge}from"../utils/useControllableState.js";import{useOpenChangeComplete as ye}from"../utils/useOpenChangeComplete.js";import{useSelection as xe}from"../utils/useSelection.js";import{jsx as M,jsxs as Ce}from"react/jsx-runtime";var[Ie,u]=de("Select"),he=s.forwardRef(function({children:o,value:e,defaultValue:r,onValueChange:c,multiple:n=!1,items:p,open:a,defaultOpen:d=!1,onOpenChange:i,onOpenChangeComplete:l,disabled:I=!1,required:h=!1,invalid:m=!1,name:S},L){let C=s.useRef(null),y=s.useRef(null),H=s.useRef(null),{selectedValues:w,isSelected:ne,selectItem:ae,setSelection:ce}=xe({value:e,defaultValue:r,onValueChange:c,multiple:n}),[N=!1,ie]=ge({prop:a,defaultProp:d,onChange:i});ye(N,y,l);let[x,se]=s.useState(new Map),pe=s.useCallback((f,P)=>{se(E=>{if(E.get(f)===P)return E;let D=new Map(E);return D.set(f,P),D})},[]),me=s.useMemo(()=>p?p.map(f=>({...f,label:x.get(f.value)??f.label??f.value})):[...x].map(([f,P])=>({value:f,label:P})),[p,x]),fe=s.useCallback(f=>x.get(f)??p?.find(P=>P.value===f)?.label??f,[x,p]);return s.useImperativeHandle(L,()=>ue(H),[]),Se(C,()=>{r!==void 0&&ce(r)}),M(Re,{children:Ce(Ie,{triggerRef:C,contentRef:y,contentId:s.useId(),multiple:n,selectedValues:w,isSelected:ne,selectItem:ae,open:N,onOpenChange:ie,disabled:I,required:h,invalid:m,name:S,registerOptionLabel:pe,getOptionLabel:fe,collection:me,children:[o,S&&(w.length>0?w:[""]).map((f,P)=>M(Pe,{ref:P===0?H:void 0,type:"text",name:S,value:f,required:h,disabled:I},f||P))]})})});he.displayName="Select";import*as R from"react";import{useComposedRefs as ve}from"../utils/composeRefs.js";import{skdxPart as be}from"../utils/part.js";import{PopperAnchor as Te}from"../utils/popper.js";import{composeEventHandlers as O,Primitive as Le}from"../utils/primitive.js";import{isTypeaheadKey as we,useTypeahead as Ee}from"../utils/useTypeahead.js";import{jsx as V}from"react/jsx-runtime";var K=R.forwardRef((t,o)=>{let e=u("SelectTrigger"),r=ve(o,e.triggerRef),c=e.disabled||t.disabled,n=R.useRef(e.collection);n.current=e.collection.filter(a=>!a.disabled);let p=Ee(R.useCallback(()=>n.current.map(a=>a.label??a.value),[]));return V(Te,{asChild:!0,children:V(Le.button,{type:"button",role:"combobox","aria-haspopup":"listbox","aria-expanded":e.open,"aria-controls":e.contentId,"aria-required":e.required||void 0,"aria-invalid":e.invalid?!0:void 0,"data-state":e.open?"open":"closed","data-disabled":c?"":void 0,"data-invalid":e.invalid?"":void 0,"data-placeholder":e.selectedValues.length===0?"":void 0,"data-multiple":e.multiple?"":void 0,disabled:c,...t,...be("select","trigger",t.className),ref:r,onClick:O(t.onClick,()=>e.onOpenChange(!e.open)),onKeyDown:O(t.onKeyDown,a=>{if(["ArrowDown","ArrowUp"," ","Enter"].includes(a.key)){a.preventDefault(),e.onOpenChange(!0);return}if(e.open||!we(a))return;if(a.preventDefault(),e.multiple){e.onOpenChange(!0);return}let d=n.current.findIndex(l=>e.isSelected(l.value)),i=p(a.key,d);i!==-1&&e.selectItem(n.current[i].value)})})})});K.displayName="SelectTrigger";import*as A from"react";import{skdxPart as ke}from"../utils/part.js";import{Primitive as He}from"../utils/primitive.js";import{jsx as q}from"react/jsx-runtime";var G=A.forwardRef(({placeholder:t,children:o,...e},r)=>{let{selectedValues:c,multiple:n,getOptionLabel:p}=u("SelectValue"),a,d=!1;return o!==void 0?a=o:c.length===0?(a=t,d=!0):n?a=c.map(i=>q("span",{"data-chip":"","data-value":i,children:p(i)},i)):a=p(c[0]),q(He.span,{"data-multiple":n?"":void 0,"data-placeholder":d?"":void 0,...e,...ke("select","value",e.className),ref:r,style:{pointerEvents:"none",...e.style},children:a})});G.displayName="SelectValue";import*as F from"react";import{skdxPart as Ne}from"../utils/part.js";import{Primitive as De}from"../utils/primitive.js";import{jsx as Me}from"react/jsx-runtime";var B=F.forwardRef(({children:t,...o},e)=>Me(De.span,{"aria-hidden":!0,...o,...Ne("select","icon",o.className),ref:e,children:t??"\u25BE"}));B.displayName="SelectIcon";import{Portal as Oe}from"../utils/portal.js";import{jsx as Ve}from"react/jsx-runtime";var U=({forceMount:t,children:o,...e})=>{let r=u("SelectPortal");return t||r.open?Ve(Oe,{...e,children:o}):null};U.displayName="SelectPortal";import*as v from"react";import{useComposedRefs as Ke}from"../utils/composeRefs.js";import{skdxPart as qe}from"../utils/part.js";import{PopperContent as Ae}from"../utils/popper.js";import{composeEventHandlers as Ge}from"../utils/primitive.js";import{useDismiss as Fe}from"../utils/useDismiss.js";import{useRovingFocus as Be}from"../utils/useRovingFocus.js";import{jsx as We}from"react/jsx-runtime";var W='[role="option"]:not([data-disabled])';function Ue(t,o){let e=t.querySelector('[data-part="viewport"]')??t;if(e===o||!e.contains(o))return;let r=e.getBoundingClientRect(),c=o.getBoundingClientRect();e.scrollTop+=c.top-r.top-(r.height-c.height)/2}var _=v.forwardRef(({forceMount:t,side:o="bottom",align:e="start",sideOffset:r=4,onEscapeKeyDown:c,onPointerDownOutside:n,onFocusOutside:p,onInteractOutside:a,...d},i)=>{let l=u("SelectContent"),I=Ke(i,l.contentRef),h=Be({orientation:"vertical",loop:!1,itemSelector:W,typeahead:!0});return Fe({enabled:l.open,onEscapeKeyDown:m=>{c?.(m),!m.defaultPrevented&&(l.onOpenChange(!1),l.triggerRef.current?.focus())},onInteractOutside:a,onPointerDownOutside:m=>{n?.(m),m.defaultPrevented||l.onOpenChange(!1)},onFocusOutside:m=>{p?.(m),m.defaultPrevented||l.onOpenChange(!1)}},[l.contentRef,l.triggerRef]),v.useEffect(()=>{if(!l.open)return;let m=requestAnimationFrame(()=>{let S=l.contentRef.current;if(!S)return;let L=S.querySelector('[role="option"][data-state="checked"]'),C=S.querySelector(W),y=L??C??S;y.focus({preventScroll:!0}),Ue(S,y)});return()=>cancelAnimationFrame(m)},[l.open,l.contentRef]),t||l.open?We(Ae,{component:"select",role:"listbox",id:l.contentId,"aria-multiselectable":l.multiple?!0:void 0,"data-state":l.open?"open":"closed","data-multiple":l.multiple?"":void 0,tabIndex:-1,side:o,align:e,sideOffset:r,...d,...qe("select","content",d.className),ref:I,onKeyDown:Ge(d.onKeyDown,m=>{h(m),m.key==="Tab"&&(m.preventDefault(),l.onOpenChange(!1),l.triggerRef.current?.focus())})}):null});_.displayName="SelectContent";import*as z from"react";import{skdxPart as _e}from"../utils/part.js";import{Primitive as ze}from"../utils/primitive.js";import{jsx as Je}from"react/jsx-runtime";var J=z.forwardRef((t,o)=>Je(ze.div,{...t,..._e("select","viewport",t.className),ref:o,style:{overflow:"auto",...t.style}}));J.displayName="SelectViewport";import*as b from"react";import{createSafeContext as Qe}from"../utils/createContext.js";import{skdxPart as Xe}from"../utils/part.js";import{composeEventHandlers as k,Primitive as Ye}from"../utils/primitive.js";import{jsx as Q}from"react/jsx-runtime";var[Ze,T]=Qe("SelectItem"),X=b.forwardRef(({value:t,disabled:o,textValue:e,...r},c)=>{let n=u("SelectItem"),p=n.isSelected(t),a=b.useCallback(i=>n.registerOptionLabel(t,e??i),[n.registerOptionLabel,t,e]),d=()=>{o||(n.selectItem(t),!n.multiple&&(n.onOpenChange(!1),n.triggerRef.current?.focus()))};return Q(Ze,{value:t,selected:p,registerText:a,children:Q(Ye.div,{role:"option","aria-selected":p,"data-state":p?"checked":"unchecked","data-text-value":e,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...r,...Xe("select","item",r.className),ref:c,onClick:k(r.onClick,d),onKeyDown:k(r.onKeyDown,i=>{[" ","Enter"].includes(i.key)&&(i.preventDefault(),d())}),onPointerEnter:k(r.onPointerEnter,i=>{o||i.currentTarget.focus()})})})});X.displayName="SelectItem";import*as g from"react";import{useComposedRefs as $e}from"../utils/composeRefs.js";import{skdxPart as je}from"../utils/part.js";import{Primitive as et}from"../utils/primitive.js";import{jsx as tt}from"react/jsx-runtime";var Y=g.forwardRef(({children:t,...o},e)=>{let r=T("SelectItemText"),c=g.useRef(null),n=$e(e,c);return g.useLayoutEffect(()=>{r.registerText(c.current?.textContent??"")}),tt(et.span,{...o,...je("select","item-text",o.className),ref:n,children:t})});Y.displayName="SelectItemText";import*as Z from"react";import{skdxPart as ot}from"../utils/part.js";import{Primitive as rt}from"../utils/primitive.js";import{jsx as lt}from"react/jsx-runtime";var $=Z.forwardRef(({forceMount:t,...o},e)=>{let r=T("SelectItemIndicator");return t||r.selected?lt(rt.span,{"aria-hidden":!0,...o,...ot("select","item-indicator",o.className),ref:e}):null});$.displayName="SelectItemIndicator";import*as j from"react";import{skdxPart as nt}from"../utils/part.js";import{Primitive as at}from"../utils/primitive.js";import{jsx as ct}from"react/jsx-runtime";var ee=j.forwardRef((t,o)=>ct(at.div,{role:"group",...t,...nt("select","group",t.className),ref:o}));ee.displayName="SelectGroup";import*as te from"react";import{skdxPart as it}from"../utils/part.js";import{Primitive as st}from"../utils/primitive.js";import{jsx as pt}from"react/jsx-runtime";var oe=te.forwardRef((t,o)=>pt(st.div,{...t,...it("select","label",t.className),ref:o}));oe.displayName="SelectLabel";import*as re from"react";import{skdxPart as mt}from"../utils/part.js";import{Primitive as ft}from"../utils/primitive.js";import{jsx as dt}from"react/jsx-runtime";var le=re.forwardRef((t,o)=>dt(ft.div,{"aria-hidden":!0,...t,...mt("select","separator",t.className),ref:o}));le.displayName="SelectSeparator";export{he as Select,_ as SelectContent,ee as SelectGroup,B as SelectIcon,X as SelectItem,$ as SelectItemIndicator,Y as SelectItemText,oe as SelectLabel,U as SelectPortal,Ie as SelectProvider,le as SelectSeparator,K as SelectTrigger,G as SelectValue,J as SelectViewport,u as useSelectContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var I=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var Pe=(t,
|
|
1
|
+
"use strict";var ce=Object.create;var I=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var Pe=(t,r)=>{for(var e in r)I(t,e,{get:r[e],enumerable:!0})},_=(t,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ue(r))!Se.call(t,n)&&n!==e&&I(t,n,{get:()=>r[n],enumerable:!(a=fe(r,n))||a.enumerable});return t};var g=(t,r,e)=>(e=t!=null?ce(De(t)):{},_(r||!t||!t.__esModule?I(e,"default",{value:t,enumerable:!0}):e,t)),Re=t=>_(I({},"__esModule",{value:!0}),t);var Te={};Pe(Te,{SpeedDial:()=>w,SpeedDialContent:()=>O,SpeedDialItem:()=>A,SpeedDialItemLabel:()=>H,SpeedDialPortal:()=>v,SpeedDialTrigger:()=>h});module.exports=Re(Te);var l=g(require("react"),1),K=require("../utils/createContext.cjs"),F=require("../utils/popper.cjs"),V=require("../utils/presence.cjs"),q=require("../utils/useControllableState.cjs"),Y=require("../utils/useOpenChangeComplete.cjs"),x=require("react/jsx-runtime"),z='[role="menuitem"]',L='[role="menuitem"]:not([data-disabled])',B={up:"top",down:"bottom",left:"left",right:"right"},[ge,s]=(0,K.createSafeContext)("SpeedDial");function w({children:t,open:r,defaultOpen:e=!1,onOpenChange:a,onOpenChangeComplete:n,direction:p="up",openOnHover:R=!1,hoverCloseDelay:f=300,disabled:d=!1}){let T=l.useRef(null),o=l.useRef(null),m=l.useRef(0),[u=!1,D]=(0,q.useControllableState)({prop:r,defaultProp:e,onChange:a}),C=(0,V.usePresence)(u,o);(0,Y.useOpenChangeComplete)(u,o,n),l.useEffect(()=>()=>window.clearTimeout(m.current),[]);let i=l.useCallback(k=>{window.clearTimeout(m.current),!(k&&d)&&D(k)},[d,D]),M=l.useCallback(()=>{window.clearTimeout(m.current)},[]),me=l.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>D(!1),f)},[f,D]);return(0,x.jsx)(F.PopperRoot,{children:(0,x.jsx)(ge,{triggerRef:T,contentRef:o,contentId:l.useId(),open:u,mounted:C,direction:p,disabled:d,openOnHover:R,onOpenChange:i,onPointerEnter:M,onPointerLeave:me,children:t})})}w.displayName="SpeedDial";var U=g(require("react"),1),G=require("../utils/composeRefs.cjs"),J=require("../utils/part.cjs"),Q=require("../utils/popper.cjs"),c=require("../utils/primitive.cjs");var b=require("react/jsx-runtime"),Ce={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},h=U.forwardRef((t,r)=>{let e=s("SpeedDialTrigger"),a=(0,G.useComposedRefs)(r,e.triggerRef),n=e.disabled||t.disabled;return(0,b.jsx)(Q.PopperAnchor,{asChild:!0,children:(0,b.jsx)(c.Primitive.button,{type:"button","aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":e.open?"open":"closed","data-direction":e.direction,...t,disabled:n,"data-disabled":n?"":void 0,...(0,J.skdxPart)("speed-dial","trigger",t.className),ref:a,onClick:(0,c.composeEventHandlers)(t.onClick,()=>{e.onOpenChange(!e.open)}),onKeyDown:(0,c.composeEventHandlers)(t.onKeyDown,p=>{Ce[e.direction].includes(p.key)&&(p.preventDefault(),e.onOpenChange(!0))}),onPointerEnter:(0,c.composeEventHandlers)(t.onPointerEnter,p=>{!e.openOnHover||p.pointerType==="touch"||(e.onPointerEnter(),e.onOpenChange(!0))}),onPointerLeave:(0,c.composeEventHandlers)(t.onPointerLeave,p=>{!e.openOnHover||p.pointerType==="touch"||e.onPointerLeave()})})})});h.displayName="SpeedDialTrigger";var W=require("../utils/portal.cjs");var X=require("react/jsx-runtime"),v=({forceMount:t,children:r,...e})=>{let a=s("SpeedDialPortal");return t||a.mounted?(0,X.jsx)(W.Portal,{...e,children:r}):null};v.displayName="SpeedDialPortal";var S=g(require("react"),1),Z=require("../utils/composeRefs.cjs"),$=require("../utils/part.cjs"),j=require("../utils/popper.cjs"),E=require("../utils/primitive.cjs"),ee=require("../utils/useDismiss.cjs"),te=require("../utils/useRovingFocus.cjs");var oe=require("react/jsx-runtime");function Ie(t){S.useLayoutEffect(()=>{t.current?.querySelectorAll(z)?.forEach((e,a)=>{e.style.setProperty("--skdx-speed-dial-index",String(a)),e.style.setProperty("--skdx-speed-dial-offset",String(a+1))})})}var Ee={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},O=S.forwardRef(({forceMount:t,loop:r=!0,onEscapeKeyDown:e,onPointerDownOutside:a,onFocusOutside:n,onInteractOutside:p,align:R="center",sideOffset:f=8,...d},T)=>{let o=s("SpeedDialContent"),m=(0,Z.useComposedRefs)(T,o.contentRef),u=Ee[o.direction],D=(0,te.useRovingFocus)({orientation:u,loop:r,itemSelector:L,typeahead:!0});Ie(o.contentRef);let C=()=>{o.onOpenChange(!1),o.triggerRef.current?.focus()};return(0,ee.useDismiss)({enabled:o.open,onEscapeKeyDown:i=>{e?.(i),i.defaultPrevented||C()},onInteractOutside:p,onPointerDownOutside:i=>{a?.(i),i.defaultPrevented||o.onOpenChange(!1)},onFocusOutside:i=>{n?.(i),i.defaultPrevented||o.onOpenChange(!1)}},[o.contentRef,o.triggerRef]),S.useEffect(()=>{if(!o.open)return;let i=requestAnimationFrame(()=>{(o.contentRef.current?.querySelector(L)??o.contentRef.current)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(i)},[o.open,o.contentRef]),t||o.mounted?(0,oe.jsx)(j.PopperContent,{component:"speed-dial",role:"menu","aria-orientation":u,id:o.contentId,"data-state":o.open?"open":"closed","data-direction":o.direction,tabIndex:-1,side:B[o.direction],align:R,sideOffset:f,...d,...(0,$.skdxPart)("speed-dial","content",d.className),ref:m,onKeyDown:(0,E.composeEventHandlers)(d.onKeyDown,i=>{D(i),i.key==="Tab"&&(i.preventDefault(),C())}),onPointerEnter:(0,E.composeEventHandlers)(d.onPointerEnter,i=>{o.openOnHover&&i.pointerType!=="touch"&&o.onPointerEnter()}),onPointerLeave:(0,E.composeEventHandlers)(d.onPointerLeave,i=>{o.openOnHover&&i.pointerType!=="touch"&&o.onPointerLeave()})}):null});O.displayName="SpeedDialContent";var y=g(require("react"),1),re=require("../utils/createContext.cjs"),ne=require("../utils/part.cjs"),ie=require("../utils/primitive.cjs"),ae=require("../utils/useMenuItem.cjs");var N=require("react/jsx-runtime"),[ye,pe]=(0,re.createSafeContext)("SpeedDialItem"),A=y.forwardRef(({disabled:t,onSelect:r,...e},a)=>{let n=s("SpeedDialItem"),[p,R]=y.useState(void 0),f=(0,ae.useMenuItem)({disabled:t,onSelect:r,onSelected:()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()},contentRef:n.contentRef,props:e});return(0,N.jsx)(ye,{labelId:p,setLabelId:R,children:(0,N.jsx)(ie.Primitive.div,{role:"menuitem","aria-labelledby":p,...e,...f,...(0,ne.skdxPart)("speed-dial","item",e.className),ref:a})})});A.displayName="SpeedDialItem";var P=g(require("react"),1),le=require("../utils/part.cjs"),de=require("../utils/primitive.cjs");var se=require("react/jsx-runtime"),H=P.forwardRef((t,r)=>{let e=pe("SpeedDialItemLabel"),a=P.useId(),n=t.id??a,{setLabelId:p}=e;return P.useLayoutEffect(()=>(p(n),()=>p(void 0)),[n,p]),(0,se.jsx)(de.Primitive.span,{...t,id:n,...(0,le.skdxPart)("speed-dial","item-label",t.className),ref:r})});H.displayName="SpeedDialItemLabel";0&&(module.exports={SpeedDial,SpeedDialContent,SpeedDialItem,SpeedDialItemLabel,SpeedDialPortal,SpeedDialTrigger});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as l from"react";import{createSafeContext as V}from"../utils/createContext.js";import{PopperRoot as q}from"../utils/popper.js";import{usePresence as Y}from"../utils/presence.js";import{useControllableState as z}from"../utils/useControllableState.js";import{useOpenChangeComplete as B}from"../utils/useOpenChangeComplete.js";import{jsx as L}from"react/jsx-runtime";var w='[role="menuitem"]',E='[role="menuitem"]:not([data-disabled])',b={up:"top",down:"bottom",left:"left",right:"right"},[U,s]=V("SpeedDial");function h({children:o,open:p,defaultOpen:e=!1,onOpenChange:i,onOpenChangeComplete:a,direction:
|
|
1
|
+
import*as l from"react";import{createSafeContext as V}from"../utils/createContext.js";import{PopperRoot as q}from"../utils/popper.js";import{usePresence as Y}from"../utils/presence.js";import{useControllableState as z}from"../utils/useControllableState.js";import{useOpenChangeComplete as B}from"../utils/useOpenChangeComplete.js";import{jsx as L}from"react/jsx-runtime";var w='[role="menuitem"]',E='[role="menuitem"]:not([data-disabled])',b={up:"top",down:"bottom",left:"left",right:"right"},[U,s]=V("SpeedDial");function h({children:o,open:p,defaultOpen:e=!1,onOpenChange:i,onOpenChangeComplete:a,direction:n="up",openOnHover:P=!1,hoverCloseDelay:c=300,disabled:d=!1}){let I=l.useRef(null),t=l.useRef(null),m=l.useRef(0),[f=!1,u]=z({prop:p,defaultProp:e,onChange:i}),R=Y(f,t);B(f,t,a),l.useEffect(()=>()=>window.clearTimeout(m.current),[]);let r=l.useCallback(x=>{window.clearTimeout(m.current),!(x&&d)&&u(x)},[d,u]),T=l.useCallback(()=>{window.clearTimeout(m.current)},[]),F=l.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>u(!1),c)},[c,u]);return L(q,{children:L(U,{triggerRef:I,contentRef:t,contentId:l.useId(),open:f,mounted:R,direction:n,disabled:d,openOnHover:P,onOpenChange:r,onPointerEnter:T,onPointerLeave:F,children:o})})}h.displayName="SpeedDial";import*as O from"react";import{useComposedRefs as G}from"../utils/composeRefs.js";import{skdxPart as J}from"../utils/part.js";import{PopperAnchor as Q}from"../utils/popper.js";import{composeEventHandlers as g,Primitive as W}from"../utils/primitive.js";import{jsx as v}from"react/jsx-runtime";var X={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},N=O.forwardRef((o,p)=>{let e=s("SpeedDialTrigger"),i=G(p,e.triggerRef),a=e.disabled||o.disabled;return v(Q,{asChild:!0,children:v(W.button,{type:"button","aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":e.open?"open":"closed","data-direction":e.direction,...o,disabled:a,"data-disabled":a?"":void 0,...J("speed-dial","trigger",o.className),ref:i,onClick:g(o.onClick,()=>{e.onOpenChange(!e.open)}),onKeyDown:g(o.onKeyDown,n=>{X[e.direction].includes(n.key)&&(n.preventDefault(),e.onOpenChange(!0))}),onPointerEnter:g(o.onPointerEnter,n=>{!e.openOnHover||n.pointerType==="touch"||(e.onPointerEnter(),e.onOpenChange(!0))}),onPointerLeave:g(o.onPointerLeave,n=>{!e.openOnHover||n.pointerType==="touch"||e.onPointerLeave()})})})});N.displayName="SpeedDialTrigger";import{Portal as Z}from"../utils/portal.js";import{jsx as $}from"react/jsx-runtime";var A=({forceMount:o,children:p,...e})=>{let i=s("SpeedDialPortal");return o||i.mounted?$(Z,{...e,children:p}):null};A.displayName="SpeedDialPortal";import*as D from"react";import{useComposedRefs as j}from"../utils/composeRefs.js";import{skdxPart as ee}from"../utils/part.js";import{PopperContent as te}from"../utils/popper.js";import{composeEventHandlers as y}from"../utils/primitive.js";import{useDismiss as oe}from"../utils/useDismiss.js";import{useRovingFocus as re}from"../utils/useRovingFocus.js";import{jsx as ae}from"react/jsx-runtime";function ne(o){D.useLayoutEffect(()=>{o.current?.querySelectorAll(w)?.forEach((e,i)=>{e.style.setProperty("--skdx-speed-dial-index",String(i)),e.style.setProperty("--skdx-speed-dial-offset",String(i+1))})})}var ie={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},H=D.forwardRef(({forceMount:o,loop:p=!0,onEscapeKeyDown:e,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:n,align:P="center",sideOffset:c=8,...d},I)=>{let t=s("SpeedDialContent"),m=j(I,t.contentRef),f=ie[t.direction],u=re({orientation:f,loop:p,itemSelector:E,typeahead:!0});ne(t.contentRef);let R=()=>{t.onOpenChange(!1),t.triggerRef.current?.focus()};return oe({enabled:t.open,onEscapeKeyDown:r=>{e?.(r),r.defaultPrevented||R()},onInteractOutside:n,onPointerDownOutside:r=>{i?.(r),r.defaultPrevented||t.onOpenChange(!1)},onFocusOutside:r=>{a?.(r),r.defaultPrevented||t.onOpenChange(!1)}},[t.contentRef,t.triggerRef]),D.useEffect(()=>{if(!t.open)return;let r=requestAnimationFrame(()=>{(t.contentRef.current?.querySelector(E)??t.contentRef.current)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(r)},[t.open,t.contentRef]),o||t.mounted?ae(te,{component:"speed-dial",role:"menu","aria-orientation":f,id:t.contentId,"data-state":t.open?"open":"closed","data-direction":t.direction,tabIndex:-1,side:b[t.direction],align:P,sideOffset:c,...d,...ee("speed-dial","content",d.className),ref:m,onKeyDown:y(d.onKeyDown,r=>{u(r),r.key==="Tab"&&(r.preventDefault(),R())}),onPointerEnter:y(d.onPointerEnter,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerEnter()}),onPointerLeave:y(d.onPointerLeave,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerLeave()})}):null});H.displayName="SpeedDialContent";import*as C from"react";import{createSafeContext as pe}from"../utils/createContext.js";import{skdxPart as le}from"../utils/part.js";import{Primitive as de}from"../utils/primitive.js";import{useMenuItem as se}from"../utils/useMenuItem.js";import{jsx as M}from"react/jsx-runtime";var[me,k]=pe("SpeedDialItem"),_=C.forwardRef(({disabled:o,onSelect:p,...e},i)=>{let a=s("SpeedDialItem"),[n,P]=C.useState(void 0),c=se({disabled:o,onSelect:p,onSelected:()=>{a.onOpenChange(!1),a.triggerRef.current?.focus()},contentRef:a.contentRef,props:e});return M(me,{labelId:n,setLabelId:P,children:M(de.div,{role:"menuitem","aria-labelledby":n,...e,...c,...le("speed-dial","item",e.className),ref:i})})});_.displayName="SpeedDialItem";import*as S from"react";import{skdxPart as ce}from"../utils/part.js";import{Primitive as fe}from"../utils/primitive.js";import{jsx as ue}from"react/jsx-runtime";var K=S.forwardRef((o,p)=>{let e=k("SpeedDialItemLabel"),i=S.useId(),a=o.id??i,{setLabelId:n}=e;return S.useLayoutEffect(()=>(n(a),()=>n(void 0)),[a,n]),ue(fe.span,{...o,id:a,...ce("speed-dial","item-label",o.className),ref:p})});K.displayName="SpeedDialItemLabel";export{h as SpeedDial,H as SpeedDialContent,_ as SpeedDialItem,K as SpeedDialItemLabel,A as SpeedDialPortal,N as SpeedDialTrigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Yt=Object.create;var Q=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var Xt=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty;var jt=(e,r)=>{for(var t in r)Q(e,t,{get:r[t],enumerable:!0})},Oe=(e,r,t,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Qt(r))!Zt.call(e,n)&&n!==t&&Q(e,n,{get:()=>r[n],enumerable:!(l=Jt(r,n))||l.enumerable});return e};var N=(e,r,t)=>(t=e!=null?Yt(Xt(e)):{},Oe(r||!e||!e.__esModule?Q(t,"default",{value:e,enumerable:!0}):t,e)),er=e=>Oe(Q({},"__esModule",{value:!0}),e);var or={};jt(or,{TreeSelect:()=>fe,TreeSelectContent:()=>he,TreeSelectEmpty:()=>Re,TreeSelectInput:()=>Ie,TreeSelectItem:()=>B,TreeSelectItemIndicator:()=>ve,TreeSelectPortal:()=>ge,TreeSelectTree:()=>xe,TreeSelectTrigger:()=>me,TreeSelectValue:()=>Te,defaultGetMatchCountLabel:()=>ue,defaultTreeSelectFilter:()=>de});module.exports=er(or);var d=N(require("react"),1),$e=require("../utils/clamp.cjs"),Be=require("../utils/createContext.cjs"),Z=require("../utils/direction.cjs"),_e=require("../utils/liveAnnouncer.cjs"),qe=require("../utils/popper.cjs"),G=require("../utils/useControllableState.cjs"),Ue=require("../utils/useOpenChangeComplete.cjs"),j=require("../utils/useTypeahead.cjs");function He(e){let r=new Map,t=[],l=(n,a,c,s)=>{for(let i of n){let u=s||i.disabled===!0,f=i.children??[],y={node:i,parent:a,depth:c,childValues:f.map(p=>p.value),descendants:[],leaves:[],disabled:u};if(r.set(i.value,y),t.push(i.value),l(f,i.value,c+1,u),f.length===0)u||y.leaves.push(i.value);else for(let p of f){let x=r.get(p.value);x&&(y.descendants.push(p.value,...x.descendants),y.leaves.push(...x.leaves))}}};return l(e,null,1,!1),{index:r,order:t}}function Le(e,r){let t=[],l=r.get(e)?.parent??null;for(;l!==null;)t.push(l),l=r.get(l)?.parent??null;return t}function X(e,r,t,l){if(!l)return r.has(e);let n=t.get(e);if(!n||n.leaves.length===0)return r.has(e);let a=0;for(let c of n.leaves)r.has(c)&&a++;return a===0?!1:a===n.leaves.length?!0:"mixed"}function Fe(e,r,t,l){let n=new Set;for(let a of e)r.has(a)&&n.add(a);if(!l)return n;for(let a of[...n]){let c=r.get(a);if(c)for(let s of c.descendants)r.get(s)?.disabled||n.add(s)}for(let a of t){let c=r.get(a);c&&(c.leaves.length===0||c.childValues.length===0||(c.leaves.every(s=>n.has(s))?n.add(a):n.delete(a)))}return n}function Ke(e,r,t,l){let n=t.filter(a=>e.has(a));return l==="all"?n:l==="leaf"?n.filter(a=>r.get(a)?.childValues.length===0):n.filter(a=>{let c=r.get(a)?.parent??null;return c===null||!e.has(c)})}function Ae(e,r,t,l,n){if(!n)return new Set([e]);let a=new Set(r),c=t.get(e);if(!l||!c)return a.has(e)?a.delete(e):a.add(e),a;let s=X(e,r,t,!0)!==!0;for(let i of[e,...c.descendants])t.get(i)?.disabled||(s?a.add(i):a.delete(i));for(let i of Le(e,t)){let u=t.get(i);u&&(u.leaves.length>0&&u.leaves.every(f=>a.has(f))?a.add(i):a.delete(i))}return a}function ze(e,r,t){let l=new Set,n=new Set,a=0;for(let c of r){let s=e.get(c);if(s&&t(s.node)){a++,l.add(c);for(let i of Le(c,e))l.add(i),n.add(i);for(let i of s.descendants)l.add(i)}}return{visible:l,autoExpanded:n,matchCount:a}}function Ge(e,r,t,l){let n=[],a=s=>t===null||t.has(s.value),c=(s,i)=>{let u=s.filter(a);u.forEach((f,y)=>{let p=r.get(f.value);if(!p)return;let x=(f.children??[]).filter(a),V=l.has(f.value);n.push({value:f.value,parent:i,depth:p.depth,disabled:p.disabled,hasChildren:x.length>0,expanded:V,posinset:y+1,setsize:u.length}),x.length>0&&V&&c(x,f.value)})};return c(e,null),n}var ie=require("react/jsx-runtime");function de(e,r){return(e.label??e.value).toLowerCase().includes(r.trim().toLowerCase())}function ue(e){return`${e} match${e===1?"":"es"} available`}var[tr,g]=(0,Be.createSafeContext)("TreeSelect"),rr=new Set;function fe({children:e,collection:r,value:t,defaultValue:l,onValueChange:n,multiple:a=!1,checkStrategy:c="cascade",valueStrategy:s="all",expandedValue:i,defaultExpandedValue:u,onExpandedChange:f,open:y,defaultOpen:p=!1,onOpenChange:x,onOpenChangeComplete:V,inputValue:H,defaultInputValue:h="",onInputValueChange:Nt,filter:be=de,disabled:L=!1,readOnly:re=!1,closeOnSelect:Ce=!a,getMatchCountLabel:Pe=ue}){let ne=d.useRef(null),ae=d.useRef(null),wt=d.useRef(null),[Vt,Mt]=d.useState(!1),[I,w]=d.useState(null),Ee=d.useId(),Dt=d.useId(),Ot=d.useId(),ke=(0,Z.useDirection)(),[oe=[],Ne]=(0,G.useControllableState)({prop:t,defaultProp:l??[],onChange:n}),[le=[],we]=(0,G.useControllableState)({prop:i,defaultProp:u??[],onChange:f}),[S=!1,E]=(0,G.useControllableState)({prop:y,defaultProp:p,onChange:x});(0,Ue.useOpenChangeComplete)(S,ae,V);let[U="",Ht]=(0,G.useControllableState)({prop:H,defaultProp:h,onChange:Nt}),{index:m,order:b}=d.useMemo(()=>He(r),[r]),C=a&&c==="cascade",O=d.useMemo(()=>Fe(oe,m,b,C),[oe,m,b,C]),W=U.trim()!=="",{visible:F,autoExpanded:se,matchCount:Ve}=d.useMemo(()=>W?ze(m,b,o=>be(o,U)):{visible:null,autoExpanded:rr,matchCount:b.length},[W,m,b,be,U]),K=d.useMemo(()=>{if(se.size===0)return le;let o=new Set(le);for(let v of se)o.add(v);return[...o]},[le,se]),A=d.useMemo(()=>new Set(K),[K]),Lt=d.useCallback(o=>F===null||F.has(o),[F]),k=d.useMemo(()=>Ge(r,m,F,A),[r,m,F,A]),Y=d.useMemo(()=>new Map(k.map(o=>[o.value,o])),[k]),Ft=d.useCallback(o=>X(o,O,m,C),[O,m,C]),Kt=d.useMemo(()=>b.filter(o=>X(o,O,m,C)===!0),[b,O,m,C]),M=d.useCallback((o,v)=>{we((T=[])=>v?T.includes(o)?T:[...T,o]:T.filter(R=>R!==o))},[we]),At=d.useCallback(o=>{let v=new Set(o),T=o.find(z=>!A.has(z));if(T!==void 0){M(T,!0);return}let R=K.find(z=>!v.has(z));R!==void 0&&M(R,!1)},[A,K,M]),ce=d.useCallback(o=>{if(L||re)return;let v=m.get(o);if(!v||v.disabled)return;let T=Ae(o,O,m,C,a);Ne(Ke(T,m,b,C?s:"all")),Ce&&(E(!1),ne.current?.focus())},[L,re,m,O,C,a,b,s,Ne,Ce,E]),[zt,Gt]=d.useState(!1),[$t,Bt]=d.useState(k);(S!==zt||k!==$t)&&(Gt(S),Bt(k),S?(I===null||Y.get(I)?.disabled!==!1)&&w(k.find(o=>!o.disabled)?.value??null):w(null)),d.useEffect(()=>{!S||!W||(0,_e.announce)(Pe(Ve))},[S,W,Ve,Pe]);let _t=d.useCallback(o=>`${Ee}item-${o}`,[Ee]),qt=d.useCallback(o=>m.get(o)?.node.label??o,[m]),P=d.useMemo(()=>k.filter(o=>!o.disabled),[k]),J=d.useRef(P);d.useEffect(()=>{J.current=P});let Me=(0,j.useTypeahead)(d.useCallback(()=>J.current.map(o=>m.get(o.value)?.node.label??o.value),[m])),D=d.useCallback(o=>{if(P.length===0)return;if(o==="first"){w(P[0].value);return}if(o==="last"){w(P[P.length-1].value);return}let v=P.findIndex(T=>T.value===I);w(P[(0,$e.clamp)(v+o,0,P.length-1)].value)},[P,I]),Ut=d.useCallback((o,v)=>{if(L)return;let T=(0,Z.directionalKey)(o.key,o.currentTarget,ke),R=I===null?void 0:Y.get(I);if(o.key==="Escape"){if(!S||ae.current)return;o.preventDefault(),E(!1),ne.current?.focus();return}if(o.key==="Tab"){S&&E(!1);return}if(T==="ArrowDown"){o.preventDefault(),S?D(1):(E(!0),D("first"));return}if(T==="ArrowUp"){o.preventDefault(),S?D(-1):(E(!0),D("last"));return}if(T==="ArrowRight"){if(!S)return;o.preventDefault(),R?.hasChildren&&!R.expanded?M(R.value,!0):D(1);return}if(T==="ArrowLeft"){if(!S)return;o.preventDefault(),R?.hasChildren&&R.expanded?M(R.value,!1):R?.parent&&w(R.parent);return}if(o.key==="Home"||o.key==="End"){if(!S)return;o.preventDefault(),D(o.key==="Home"?"first":"last");return}if(o.key==="Enter"||o.key===" "&&v.selectOnSpace){if(o.preventDefault(),!S){E(!0);return}I!==null&&ce(I);return}if(v.typeahead&&S&&(0,j.isTypeaheadKey)(o)){o.preventDefault();let z=J.current.findIndex(Wt=>Wt.value===I),De=Me(o.key,z);De!==-1&&w(J.current[De].value)}},[L,ke,I,Y,S,E,D,M,ce,Me]);return(0,ie.jsx)(qe.PopperRoot,{children:(0,ie.jsx)(tr,{collection:r,index:m,order:b,value:oe,multiple:a,cascade:C,disabled:L,readOnly:re,checkStateOf:Ft,commit:ce,open:S,onOpenChange:E,expandedIds:K,expanded:A,setExpanded:M,onTreeExpandedIdsChange:At,selectedIds:Kt,isVisible:Lt,flat:k,flatMap:Y,activeValue:I,setActiveValue:w,itemId:_t,treeId:Dt,contentId:Ot,triggerRef:ne,contentRef:ae,inputRef:wt,hasInput:Vt,setHasInput:Mt,inputValue:U,onInputValueChange:Ht,getLabel:qt,onNavigationKeyDown:Ut,children:e})})}fe.displayName="TreeSelect";var We=N(require("react"),1),Ye=require("../utils/composeRefs.cjs"),Je=require("../utils/part.cjs"),Qe=require("../utils/popper.cjs"),$=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime"),me=We.forwardRef((e,r)=>{let t=g("TreeSelectTrigger"),l=(0,Ye.useComposedRefs)(r,t.triggerRef),n=t.disabled||e.disabled,a=t.open&&!t.hasInput?t.activeValue:null;return(0,pe.jsx)(Qe.PopperAnchor,{asChild:!0,children:(0,pe.jsx)($.Primitive.button,{type:"button",role:"combobox","aria-haspopup":"tree","aria-expanded":t.open,"aria-controls":t.treeId,"aria-activedescendant":a===null?void 0:t.itemId(a),"aria-readonly":t.readOnly?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":n?"":void 0,"data-readonly":t.readOnly?"":void 0,"data-multiple":t.multiple?"":void 0,"data-placeholder":t.value.length===0?"":void 0,disabled:n,...e,...(0,Je.skdxPart)("tree-select","trigger",e.className),ref:l,onClick:(0,$.composeEventHandlers)(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:(0,$.composeEventHandlers)(e.onKeyDown,c=>t.onNavigationKeyDown(c,{typeahead:!0,selectOnSpace:!0}))})})});me.displayName="TreeSelectTrigger";var Xe=N(require("react"),1),Ze=require("../utils/part.cjs"),je=require("../utils/primitive.cjs");var Se=require("react/jsx-runtime"),Te=Xe.forwardRef(({placeholder:e,children:r,...t},l)=>{let{value:n,multiple:a,getLabel:c}=g("TreeSelectValue"),s,i=!1;return r!==void 0?s=r:n.length===0?(s=e,i=!0):a?s=n.map(u=>(0,Se.jsx)("span",{"data-chip":"","data-value":u,children:c(u)},u)):s=c(n[0]),(0,Se.jsx)(je.Primitive.span,{"data-multiple":a?"":void 0,"data-placeholder":i?"":void 0,...t,...(0,Ze.skdxPart)("tree-select","value",t.className),ref:l,style:{pointerEvents:"none",...t.style},children:s})});Te.displayName="TreeSelectValue";var et=require("../utils/portal.cjs");var tt=require("react/jsx-runtime"),ge=({forceMount:e,children:r,...t})=>{let l=g("TreeSelectPortal");return e||l.open?(0,tt.jsx)(et.Portal,{...t,children:r}):null};ge.displayName="TreeSelectPortal";var ee=N(require("react"),1),rt=require("../utils/composeRefs.cjs"),nt=require("../utils/part.cjs"),at=require("../utils/popper.cjs"),ot=require("../utils/primitive.cjs"),lt=require("../utils/useDismiss.cjs");var st=require("react/jsx-runtime"),he=ee.forwardRef(({forceMount:e,side:r="bottom",align:t="start",sideOffset:l=4,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:s,...i},u)=>{let f=g("TreeSelectContent"),y=(0,rt.useComposedRefs)(u,f.contentRef),{open:p,onOpenChange:x,triggerRef:V,inputRef:H}=f;return(0,lt.useDismiss)({enabled:p,onEscapeKeyDown:h=>{n?.(h),!h.defaultPrevented&&(x(!1),V.current?.focus())},onInteractOutside:s,onPointerDownOutside:h=>{a?.(h),h.defaultPrevented||x(!1)},onFocusOutside:h=>{c?.(h),h.defaultPrevented||x(!1)}},[f.contentRef,V]),ee.useEffect(()=>{if(!p)return;let h=requestAnimationFrame(()=>H.current?.focus());return()=>cancelAnimationFrame(h)},[p,H]),e||p?(0,st.jsx)(at.PopperContent,{component:"tree-select",id:f.contentId,"data-state":p?"open":"closed","data-multiple":f.multiple?"":void 0,side:r,align:t,sideOffset:l,...i,...(0,nt.skdxPart)("tree-select","content",i.className),ref:y,onMouseDown:(0,ot.composeEventHandlers)(i.onMouseDown,h=>{h.target!==H.current&&h.preventDefault()})}):null});he.displayName="TreeSelectContent";var mt=N(require("react"),1),St=require("../tree/Tree.cjs"),Tt=require("../tree/Tree.cjs"),gt=require("../utils/part.cjs");var ct=N(require("react"),1),it=require("../tree/Tree.cjs"),dt=require("../utils/createContext.cjs"),ut=require("../utils/part.cjs"),ft=require("../utils/primitive.cjs");var ye=require("react/jsx-runtime"),[nr,pt]=(0,dt.createSafeContext)("TreeSelectItem");function ar(e){return e.target.closest('[role="treeitem"]')!==e.currentTarget}var B=ct.forwardRef(({node:e,children:r,...t},l)=>{let n=g("TreeSelectItem"),a=n.index.get(e.value),c=n.flatMap.get(e.value),s=n.checkStateOf(e.value),i=a?.disabled??e.disabled??!1,u=n.expanded.has(e.value),f=c?.hasChildren??!1,y=n.activeValue===e.value;return(0,ye.jsx)(nr,{value:e.value,checkState:s,disabled:i,expanded:u,hasChildren:f,active:y,children:(0,ye.jsx)(it.TreeItem,{nodeId:e.value,disabled:i,id:n.itemId(e.value),"data-value":e.value,"data-highlighted":y?"":void 0,"aria-checked":n.multiple?s==="mixed"?"mixed":s:void 0,"data-checked":s==="mixed"?"indeterminate":s?"checked":"unchecked","aria-posinset":c?.posinset,"aria-setsize":c?.setsize,tabIndex:-1,...t,...(0,ut.skdxPart)("tree-select","item",t.className),ref:l,onClick:(0,ft.composeEventHandlers)(t.onClick,p=>{ar(p)||(p.preventDefault(),!i&&(n.setActiveValue(e.value),n.commit(e.value)))}),children:r})})});B.displayName="TreeSelectItem";var _=require("react/jsx-runtime"),xe=mt.forwardRef(({renderLabel:e,...r},t)=>{let l=g("TreeSelectTree"),{isVisible:n}=l,a=c=>c.filter(s=>n(s.value)).map(s=>{let i=(s.children??[]).filter(u=>n(u.value));return(0,_.jsxs)(B,{node:s,children:[e?e(s):s.label??s.value,i.length>0?(0,_.jsx)(Tt.TreeGroup,{children:a(i)}):null]},s.value)});return(0,_.jsx)(St.Tree,{id:l.treeId,selectionMode:l.multiple?"multiple":"single","aria-readonly":l.readOnly||void 0,expandedIds:l.expandedIds,onExpandedIdsChange:l.onTreeExpandedIdsChange,selectedIds:l.selectedIds,...r,...(0,gt.skdxPart)("tree-select","tree",r.className),ref:t,children:a(l.collection)})});xe.displayName="TreeSelectTree";var ht=N(require("react"),1),yt=require("../utils/part.cjs"),xt=require("../utils/primitive.cjs");var vt=require("react/jsx-runtime"),ve=ht.forwardRef(({forceMount:e,...r},t)=>{let l=pt("TreeSelectItemIndicator"),{checkState:n}=l;return e||n!==!1?(0,vt.jsx)(xt.Primitive.span,{"aria-hidden":!0,"data-state":n==="mixed"?"indeterminate":n?"checked":"unchecked",...r,...(0,yt.skdxPart)("tree-select","item-indicator",r.className),ref:t}):null});ve.displayName="TreeSelectItemIndicator";var Rt=N(require("react"),1),It=require("../utils/part.cjs"),bt=require("../utils/primitive.cjs");var Ct=require("react/jsx-runtime"),Re=Rt.forwardRef((e,r)=>g("TreeSelectEmpty").flat.length===0?(0,Ct.jsx)(bt.Primitive.div,{role:"presentation",...e,...(0,It.skdxPart)("tree-select","empty",e.className),ref:r}):null);Re.displayName="TreeSelectEmpty";var te=N(require("react"),1),Pt=require("../utils/composeRefs.cjs"),Et=require("../utils/part.cjs"),q=require("../utils/primitive.cjs");var kt=require("react/jsx-runtime"),Ie=te.forwardRef((e,r)=>{let t=g("TreeSelectInput"),l=(0,Pt.useComposedRefs)(r,t.inputRef),{setHasInput:n}=t;return te.useEffect(()=>(n(!0),()=>n(!1)),[n]),(0,kt.jsx)(q.Primitive.input,{type:"text",autoComplete:"off","aria-controls":t.treeId,"aria-activedescendant":t.activeValue===null?void 0:t.itemId(t.activeValue),"aria-readonly":t.readOnly?!0:void 0,"data-readonly":t.readOnly?"":void 0,disabled:t.disabled||void 0,...e,...(0,Et.skdxPart)("tree-select","input",e.className),ref:l,value:t.inputValue,onChange:(0,q.composeEventHandlers)(e.onChange,a=>t.onInputValueChange(a.target.value)),onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,a=>t.onNavigationKeyDown(a,{typeahead:!1,selectOnSpace:!1}))})});Ie.displayName="TreeSelectInput";0&&(module.exports={TreeSelect,TreeSelectContent,TreeSelectEmpty,TreeSelectInput,TreeSelectItem,TreeSelectItemIndicator,TreeSelectPortal,TreeSelectTree,TreeSelectTrigger,TreeSelectValue,defaultGetMatchCountLabel,defaultTreeSelectFilter});
|
|
1
|
+
"use strict";var Yt=Object.create;var Q=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var Xt=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty;var jt=(e,r)=>{for(var t in r)Q(e,t,{get:r[t],enumerable:!0})},Oe=(e,r,t,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Qt(r))!Zt.call(e,n)&&n!==t&&Q(e,n,{get:()=>r[n],enumerable:!(l=Jt(r,n))||l.enumerable});return e};var N=(e,r,t)=>(t=e!=null?Yt(Xt(e)):{},Oe(r||!e||!e.__esModule?Q(t,"default",{value:e,enumerable:!0}):t,e)),er=e=>Oe(Q({},"__esModule",{value:!0}),e);var or={};jt(or,{TreeSelect:()=>fe,TreeSelectContent:()=>he,TreeSelectEmpty:()=>Re,TreeSelectInput:()=>Ie,TreeSelectItem:()=>B,TreeSelectItemIndicator:()=>ve,TreeSelectPortal:()=>ge,TreeSelectTree:()=>xe,TreeSelectTrigger:()=>me,TreeSelectValue:()=>Te,defaultGetMatchCountLabel:()=>ue,defaultTreeSelectFilter:()=>de});module.exports=er(or);var d=N(require("react"),1),$e=require("../utils/clamp.cjs"),Be=require("../utils/createContext.cjs"),Z=require("../utils/direction.cjs"),_e=require("../utils/liveAnnouncer.cjs"),qe=require("../utils/popper.cjs"),G=require("../utils/useControllableState.cjs"),Ue=require("../utils/useOpenChangeComplete.cjs"),j=require("../utils/useTypeahead.cjs");function He(e){let r=new Map,t=[],l=(n,a,c,s)=>{for(let i of n){let u=s||i.disabled===!0,f=i.children??[],y={node:i,parent:a,depth:c,childValues:f.map(p=>p.value),descendants:[],leaves:[],disabled:u};if(r.set(i.value,y),t.push(i.value),l(f,i.value,c+1,u),f.length===0)u||y.leaves.push(i.value);else for(let p of f){let x=r.get(p.value);x&&(y.descendants.push(p.value,...x.descendants),y.leaves.push(...x.leaves))}}};return l(e,null,1,!1),{index:r,order:t}}function Le(e,r){let t=[],l=r.get(e)?.parent??null;for(;l!==null;)t.push(l),l=r.get(l)?.parent??null;return t}function X(e,r,t,l){if(!l)return r.has(e);let n=t.get(e);if(!n||n.leaves.length===0)return r.has(e);let a=0;for(let c of n.leaves)r.has(c)&&a++;return a===0?!1:a===n.leaves.length?!0:"mixed"}function Fe(e,r,t,l){let n=new Set;for(let a of e)r.has(a)&&n.add(a);if(!l)return n;for(let a of[...n]){let c=r.get(a);if(c)for(let s of c.descendants)r.get(s)?.disabled||n.add(s)}for(let a of t){let c=r.get(a);c&&(c.leaves.length===0||c.childValues.length===0||(c.leaves.every(s=>n.has(s))?n.add(a):n.delete(a)))}return n}function Ke(e,r,t,l){let n=t.filter(a=>e.has(a));return l==="all"?n:l==="leaf"?n.filter(a=>r.get(a)?.childValues.length===0):n.filter(a=>{let c=r.get(a)?.parent??null;return c===null||!e.has(c)})}function Ae(e,r,t,l,n){if(!n)return new Set([e]);let a=new Set(r),c=t.get(e);if(!l||!c)return a.has(e)?a.delete(e):a.add(e),a;let s=X(e,r,t,!0)!==!0;for(let i of[e,...c.descendants])t.get(i)?.disabled||(s?a.add(i):a.delete(i));for(let i of Le(e,t)){let u=t.get(i);u&&(u.leaves.length>0&&u.leaves.every(f=>a.has(f))?a.add(i):a.delete(i))}return a}function ze(e,r,t){let l=new Set,n=new Set,a=0;for(let c of r){let s=e.get(c);if(s&&t(s.node)){a++,l.add(c);for(let i of Le(c,e))l.add(i),n.add(i);for(let i of s.descendants)l.add(i)}}return{visible:l,autoExpanded:n,matchCount:a}}function Ge(e,r,t,l){let n=[],a=s=>t===null||t.has(s.value),c=(s,i)=>{let u=s.filter(a);u.forEach((f,y)=>{let p=r.get(f.value);if(!p)return;let x=(f.children??[]).filter(a),V=l.has(f.value);n.push({value:f.value,parent:i,depth:p.depth,disabled:p.disabled,hasChildren:x.length>0,expanded:V,posinset:y+1,setsize:u.length}),x.length>0&&V&&c(x,f.value)})};return c(e,null),n}var ie=require("react/jsx-runtime");function de(e,r){return(e.label??e.value).toLowerCase().includes(r.trim().toLowerCase())}function ue(e){return`${e} match${e===1?"":"es"} available`}var[tr,g]=(0,Be.createSafeContext)("TreeSelect"),rr=new Set;function fe({children:e,collection:r,value:t,defaultValue:l,onValueChange:n,multiple:a=!1,checkStrategy:c="cascade",valueStrategy:s="all",expandedValue:i,defaultExpandedValue:u,onExpandedChange:f,open:y,defaultOpen:p=!1,onOpenChange:x,onOpenChangeComplete:V,inputValue:H,defaultInputValue:h="",onInputValueChange:Nt,filter:be=de,disabled:L=!1,readOnly:re=!1,closeOnSelect:Ce=!a,getMatchCountLabel:Pe=ue}){let ne=d.useRef(null),ae=d.useRef(null),wt=d.useRef(null),[Vt,Mt]=d.useState(!1),[I,w]=d.useState(null),Ee=d.useId(),Dt=d.useId(),Ot=d.useId(),ke=(0,Z.useDirection)(),[oe=[],Ne]=(0,G.useControllableState)({prop:t,defaultProp:l??[],onChange:n}),[le=[],we]=(0,G.useControllableState)({prop:i,defaultProp:u??[],onChange:f}),[S=!1,E]=(0,G.useControllableState)({prop:y,defaultProp:p,onChange:x});(0,Ue.useOpenChangeComplete)(S,ae,V);let[U="",Ht]=(0,G.useControllableState)({prop:H,defaultProp:h,onChange:Nt}),{index:m,order:b}=d.useMemo(()=>He(r),[r]),C=a&&c==="cascade",O=d.useMemo(()=>Fe(oe,m,b,C),[oe,m,b,C]),W=U.trim()!=="",{visible:F,autoExpanded:se,matchCount:Ve}=d.useMemo(()=>W?ze(m,b,o=>be(o,U)):{visible:null,autoExpanded:rr,matchCount:b.length},[W,m,b,be,U]),K=d.useMemo(()=>{if(se.size===0)return le;let o=new Set(le);for(let v of se)o.add(v);return[...o]},[le,se]),A=d.useMemo(()=>new Set(K),[K]),Lt=d.useCallback(o=>F===null||F.has(o),[F]),k=d.useMemo(()=>Ge(r,m,F,A),[r,m,F,A]),Y=d.useMemo(()=>new Map(k.map(o=>[o.value,o])),[k]),Ft=d.useCallback(o=>X(o,O,m,C),[O,m,C]),Kt=d.useMemo(()=>b.filter(o=>X(o,O,m,C)===!0),[b,O,m,C]),M=d.useCallback((o,v)=>{we((T=[])=>v?T.includes(o)?T:[...T,o]:T.filter(R=>R!==o))},[we]),At=d.useCallback(o=>{let v=new Set(o),T=o.find(z=>!A.has(z));if(T!==void 0){M(T,!0);return}let R=K.find(z=>!v.has(z));R!==void 0&&M(R,!1)},[A,K,M]),ce=d.useCallback(o=>{if(L||re)return;let v=m.get(o);if(!v||v.disabled)return;let T=Ae(o,O,m,C,a);Ne(Ke(T,m,b,C?s:"all")),Ce&&(E(!1),ne.current?.focus())},[L,re,m,O,C,a,b,s,Ne,Ce,E]),[zt,Gt]=d.useState(!1),[$t,Bt]=d.useState(k);(S!==zt||k!==$t)&&(Gt(S),Bt(k),S?(I===null||Y.get(I)?.disabled!==!1)&&w(k.find(o=>!o.disabled)?.value??null):w(null)),d.useEffect(()=>{!S||!W||(0,_e.announce)(Pe(Ve))},[S,W,Ve,Pe]);let _t=d.useCallback(o=>`${Ee}item-${o}`,[Ee]),qt=d.useCallback(o=>m.get(o)?.node.label??o,[m]),P=d.useMemo(()=>k.filter(o=>!o.disabled),[k]),J=d.useRef(P);d.useEffect(()=>{J.current=P});let Me=(0,j.useTypeahead)(d.useCallback(()=>J.current.map(o=>m.get(o.value)?.node.label??o.value),[m])),D=d.useCallback(o=>{if(P.length===0)return;if(o==="first"){w(P[0].value);return}if(o==="last"){w(P[P.length-1].value);return}let v=P.findIndex(T=>T.value===I);w(P[(0,$e.clamp)(v+o,0,P.length-1)].value)},[P,I]),Ut=d.useCallback((o,v)=>{if(L)return;let T=(0,Z.directionalKey)(o.key,o.currentTarget,ke),R=I===null?void 0:Y.get(I);if(o.key==="Escape"){if(!S||ae.current)return;o.preventDefault(),E(!1),ne.current?.focus();return}if(o.key==="Tab"){S&&E(!1);return}if(T==="ArrowDown"){o.preventDefault(),S?D(1):(E(!0),D("first"));return}if(T==="ArrowUp"){o.preventDefault(),S?D(-1):(E(!0),D("last"));return}if(T==="ArrowRight"){if(!S)return;o.preventDefault(),R?.hasChildren&&!R.expanded?M(R.value,!0):D(1);return}if(T==="ArrowLeft"){if(!S)return;o.preventDefault(),R?.hasChildren&&R.expanded?M(R.value,!1):R?.parent&&w(R.parent);return}if(o.key==="Home"||o.key==="End"){if(!S)return;o.preventDefault(),D(o.key==="Home"?"first":"last");return}if(o.key==="Enter"||o.key===" "&&v.selectOnSpace){if(o.preventDefault(),!S){E(!0);return}I!==null&&ce(I);return}if(v.typeahead&&S&&(0,j.isTypeaheadKey)(o)){o.preventDefault();let z=J.current.findIndex(Wt=>Wt.value===I),De=Me(o.key,z);De!==-1&&w(J.current[De].value)}},[L,ke,I,Y,S,E,D,M,ce,Me]);return(0,ie.jsx)(qe.PopperRoot,{children:(0,ie.jsx)(tr,{collection:r,index:m,order:b,value:oe,multiple:a,cascade:C,disabled:L,readOnly:re,checkStateOf:Ft,commit:ce,open:S,onOpenChange:E,expandedIds:K,expanded:A,setExpanded:M,onTreeExpandedIdsChange:At,selectedIds:Kt,isVisible:Lt,flat:k,flatMap:Y,activeValue:I,setActiveValue:w,itemId:_t,treeId:Dt,contentId:Ot,triggerRef:ne,contentRef:ae,inputRef:wt,hasInput:Vt,setHasInput:Mt,inputValue:U,onInputValueChange:Ht,getLabel:qt,onNavigationKeyDown:Ut,children:e})})}fe.displayName="TreeSelect";var We=N(require("react"),1),Ye=require("../utils/composeRefs.cjs"),Je=require("../utils/part.cjs"),Qe=require("../utils/popper.cjs"),$=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime"),me=We.forwardRef((e,r)=>{let t=g("TreeSelectTrigger"),l=(0,Ye.useComposedRefs)(r,t.triggerRef),n=t.disabled||e.disabled,a=t.open&&!t.hasInput?t.activeValue:null;return(0,pe.jsx)(Qe.PopperAnchor,{asChild:!0,children:(0,pe.jsx)($.Primitive.button,{type:"button",role:"combobox","aria-haspopup":"tree","aria-expanded":t.open,"aria-controls":t.treeId,"aria-activedescendant":a===null?void 0:t.itemId(a),"aria-readonly":t.readOnly?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":n?"":void 0,"data-readonly":t.readOnly?"":void 0,"data-multiple":t.multiple?"":void 0,"data-placeholder":t.value.length===0?"":void 0,disabled:n,...e,...(0,Je.skdxPart)("tree-select","trigger",e.className),ref:l,onClick:(0,$.composeEventHandlers)(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:(0,$.composeEventHandlers)(e.onKeyDown,c=>t.onNavigationKeyDown(c,{typeahead:!0,selectOnSpace:!0}))})})});me.displayName="TreeSelectTrigger";var Xe=N(require("react"),1),Ze=require("../utils/part.cjs"),je=require("../utils/primitive.cjs");var Se=require("react/jsx-runtime"),Te=Xe.forwardRef(({placeholder:e,children:r,...t},l)=>{let{value:n,multiple:a,getLabel:c}=g("TreeSelectValue"),s,i=!1;return r!==void 0?s=r:n.length===0?(s=e,i=!0):a?s=n.map(u=>(0,Se.jsx)("span",{"data-chip":"","data-value":u,children:c(u)},u)):s=c(n[0]),(0,Se.jsx)(je.Primitive.span,{"data-multiple":a?"":void 0,"data-placeholder":i?"":void 0,...t,...(0,Ze.skdxPart)("tree-select","value",t.className),ref:l,style:{pointerEvents:"none",...t.style},children:s})});Te.displayName="TreeSelectValue";var et=require("../utils/portal.cjs");var tt=require("react/jsx-runtime"),ge=({forceMount:e,children:r,...t})=>{let l=g("TreeSelectPortal");return e||l.open?(0,tt.jsx)(et.Portal,{...t,children:r}):null};ge.displayName="TreeSelectPortal";var ee=N(require("react"),1),rt=require("../utils/composeRefs.cjs"),nt=require("../utils/part.cjs"),at=require("../utils/popper.cjs"),ot=require("../utils/primitive.cjs"),lt=require("../utils/useDismiss.cjs");var st=require("react/jsx-runtime"),he=ee.forwardRef(({forceMount:e,side:r="bottom",align:t="start",sideOffset:l=4,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:s,...i},u)=>{let f=g("TreeSelectContent"),y=(0,rt.useComposedRefs)(u,f.contentRef),{open:p,onOpenChange:x,triggerRef:V,inputRef:H}=f;return(0,lt.useDismiss)({enabled:p,onEscapeKeyDown:h=>{n?.(h),!h.defaultPrevented&&(x(!1),V.current?.focus())},onInteractOutside:s,onPointerDownOutside:h=>{a?.(h),h.defaultPrevented||x(!1)},onFocusOutside:h=>{c?.(h),h.defaultPrevented||x(!1)}},[f.contentRef,V]),ee.useEffect(()=>{if(!p)return;let h=requestAnimationFrame(()=>H.current?.focus({preventScroll:!0}));return()=>cancelAnimationFrame(h)},[p,H]),e||p?(0,st.jsx)(at.PopperContent,{component:"tree-select",id:f.contentId,"data-state":p?"open":"closed","data-multiple":f.multiple?"":void 0,side:r,align:t,sideOffset:l,...i,...(0,nt.skdxPart)("tree-select","content",i.className),ref:y,onMouseDown:(0,ot.composeEventHandlers)(i.onMouseDown,h=>{h.target!==H.current&&h.preventDefault()})}):null});he.displayName="TreeSelectContent";var mt=N(require("react"),1),St=require("../tree/Tree.cjs"),Tt=require("../tree/Tree.cjs"),gt=require("../utils/part.cjs");var ct=N(require("react"),1),it=require("../tree/Tree.cjs"),dt=require("../utils/createContext.cjs"),ut=require("../utils/part.cjs"),ft=require("../utils/primitive.cjs");var ye=require("react/jsx-runtime"),[nr,pt]=(0,dt.createSafeContext)("TreeSelectItem");function ar(e){return e.target.closest('[role="treeitem"]')!==e.currentTarget}var B=ct.forwardRef(({node:e,children:r,...t},l)=>{let n=g("TreeSelectItem"),a=n.index.get(e.value),c=n.flatMap.get(e.value),s=n.checkStateOf(e.value),i=a?.disabled??e.disabled??!1,u=n.expanded.has(e.value),f=c?.hasChildren??!1,y=n.activeValue===e.value;return(0,ye.jsx)(nr,{value:e.value,checkState:s,disabled:i,expanded:u,hasChildren:f,active:y,children:(0,ye.jsx)(it.TreeItem,{nodeId:e.value,disabled:i,id:n.itemId(e.value),"data-value":e.value,"data-highlighted":y?"":void 0,"aria-checked":n.multiple?s==="mixed"?"mixed":s:void 0,"data-checked":s==="mixed"?"indeterminate":s?"checked":"unchecked","aria-posinset":c?.posinset,"aria-setsize":c?.setsize,tabIndex:-1,...t,...(0,ut.skdxPart)("tree-select","item",t.className),ref:l,onClick:(0,ft.composeEventHandlers)(t.onClick,p=>{ar(p)||(p.preventDefault(),!i&&(n.setActiveValue(e.value),n.commit(e.value)))}),children:r})})});B.displayName="TreeSelectItem";var _=require("react/jsx-runtime"),xe=mt.forwardRef(({renderLabel:e,...r},t)=>{let l=g("TreeSelectTree"),{isVisible:n}=l,a=c=>c.filter(s=>n(s.value)).map(s=>{let i=(s.children??[]).filter(u=>n(u.value));return(0,_.jsxs)(B,{node:s,children:[e?e(s):s.label??s.value,i.length>0?(0,_.jsx)(Tt.TreeGroup,{children:a(i)}):null]},s.value)});return(0,_.jsx)(St.Tree,{id:l.treeId,selectionMode:l.multiple?"multiple":"single","aria-readonly":l.readOnly||void 0,expandedIds:l.expandedIds,onExpandedIdsChange:l.onTreeExpandedIdsChange,selectedIds:l.selectedIds,...r,...(0,gt.skdxPart)("tree-select","tree",r.className),ref:t,children:a(l.collection)})});xe.displayName="TreeSelectTree";var ht=N(require("react"),1),yt=require("../utils/part.cjs"),xt=require("../utils/primitive.cjs");var vt=require("react/jsx-runtime"),ve=ht.forwardRef(({forceMount:e,...r},t)=>{let l=pt("TreeSelectItemIndicator"),{checkState:n}=l;return e||n!==!1?(0,vt.jsx)(xt.Primitive.span,{"aria-hidden":!0,"data-state":n==="mixed"?"indeterminate":n?"checked":"unchecked",...r,...(0,yt.skdxPart)("tree-select","item-indicator",r.className),ref:t}):null});ve.displayName="TreeSelectItemIndicator";var Rt=N(require("react"),1),It=require("../utils/part.cjs"),bt=require("../utils/primitive.cjs");var Ct=require("react/jsx-runtime"),Re=Rt.forwardRef((e,r)=>g("TreeSelectEmpty").flat.length===0?(0,Ct.jsx)(bt.Primitive.div,{role:"presentation",...e,...(0,It.skdxPart)("tree-select","empty",e.className),ref:r}):null);Re.displayName="TreeSelectEmpty";var te=N(require("react"),1),Pt=require("../utils/composeRefs.cjs"),Et=require("../utils/part.cjs"),q=require("../utils/primitive.cjs");var kt=require("react/jsx-runtime"),Ie=te.forwardRef((e,r)=>{let t=g("TreeSelectInput"),l=(0,Pt.useComposedRefs)(r,t.inputRef),{setHasInput:n}=t;return te.useEffect(()=>(n(!0),()=>n(!1)),[n]),(0,kt.jsx)(q.Primitive.input,{type:"text",autoComplete:"off","aria-controls":t.treeId,"aria-activedescendant":t.activeValue===null?void 0:t.itemId(t.activeValue),"aria-readonly":t.readOnly?!0:void 0,"data-readonly":t.readOnly?"":void 0,disabled:t.disabled||void 0,...e,...(0,Et.skdxPart)("tree-select","input",e.className),ref:l,value:t.inputValue,onChange:(0,q.composeEventHandlers)(e.onChange,a=>t.onInputValueChange(a.target.value)),onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,a=>t.onNavigationKeyDown(a,{typeahead:!1,selectOnSpace:!1}))})});Ie.displayName="TreeSelectInput";0&&(module.exports={TreeSelect,TreeSelectContent,TreeSelectEmpty,TreeSelectInput,TreeSelectItem,TreeSelectItemIndicator,TreeSelectPortal,TreeSelectTree,TreeSelectTrigger,TreeSelectValue,defaultGetMatchCountLabel,defaultTreeSelectFilter});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as d from"react";import{clamp as it}from"../utils/clamp.js";import{createSafeContext as dt}from"../utils/createContext.js";import{directionalKey as ut,useDirection as ft}from"../utils/direction.js";import{announce as pt}from"../utils/liveAnnouncer.js";import{PopperRoot as mt}from"../utils/popper.js";import{useControllableState as q}from"../utils/useControllableState.js";import{useOpenChangeComplete as St}from"../utils/useOpenChangeComplete.js";import{isTypeaheadKey as Tt,useTypeahead as gt}from"../utils/useTypeahead.js";function fe(e){let o=new Map,t=[],l=(n,r,c,s)=>{for(let i of n){let u=s||i.disabled===!0,f=i.children??[],y={node:i,parent:r,depth:c,childValues:f.map(p=>p.value),descendants:[],leaves:[],disabled:u};if(o.set(i.value,y),t.push(i.value),l(f,i.value,c+1,u),f.length===0)u||y.leaves.push(i.value);else for(let p of f){let x=o.get(p.value);x&&(y.descendants.push(p.value,...x.descendants),y.leaves.push(...x.leaves))}}};return l(e,null,1,!1),{index:o,order:t}}function pe(e,o){let t=[],l=o.get(e)?.parent??null;for(;l!==null;)t.push(l),l=o.get(l)?.parent??null;return t}function _(e,o,t,l){if(!l)return o.has(e);let n=t.get(e);if(!n||n.leaves.length===0)return o.has(e);let r=0;for(let c of n.leaves)o.has(c)&&r++;return r===0?!1:r===n.leaves.length?!0:"mixed"}function me(e,o,t,l){let n=new Set;for(let r of e)o.has(r)&&n.add(r);if(!l)return n;for(let r of[...n]){let c=o.get(r);if(c)for(let s of c.descendants)o.get(s)?.disabled||n.add(s)}for(let r of t){let c=o.get(r);c&&(c.leaves.length===0||c.childValues.length===0||(c.leaves.every(s=>n.has(s))?n.add(r):n.delete(r)))}return n}function Se(e,o,t,l){let n=t.filter(r=>e.has(r));return l==="all"?n:l==="leaf"?n.filter(r=>o.get(r)?.childValues.length===0):n.filter(r=>{let c=o.get(r)?.parent??null;return c===null||!e.has(c)})}function Te(e,o,t,l,n){if(!n)return new Set([e]);let r=new Set(o),c=t.get(e);if(!l||!c)return r.has(e)?r.delete(e):r.add(e),r;let s=_(e,o,t,!0)!==!0;for(let i of[e,...c.descendants])t.get(i)?.disabled||(s?r.add(i):r.delete(i));for(let i of pe(e,t)){let u=t.get(i);u&&(u.leaves.length>0&&u.leaves.every(f=>r.has(f))?r.add(i):r.delete(i))}return r}function ge(e,o,t){let l=new Set,n=new Set,r=0;for(let c of o){let s=e.get(c);if(s&&t(s.node)){r++,l.add(c);for(let i of pe(c,e))l.add(i),n.add(i);for(let i of s.descendants)l.add(i)}}return{visible:l,autoExpanded:n,matchCount:r}}function he(e,o,t,l){let n=[],r=s=>t===null||t.has(s.value),c=(s,i)=>{let u=s.filter(r);u.forEach((f,y)=>{let p=o.get(f.value);if(!p)return;let x=(f.children??[]).filter(r),w=l.has(f.value);n.push({value:f.value,parent:i,depth:p.depth,disabled:p.disabled,hasChildren:x.length>0,expanded:w,posinset:y+1,setsize:u.length}),x.length>0&&w&&c(x,f.value)})};return c(e,null),n}import{jsx as ye}from"react/jsx-runtime";function xe(e,o){return(e.label??e.value).toLowerCase().includes(o.trim().toLowerCase())}function ve(e){return`${e} match${e===1?"":"es"} available`}var[ht,g]=dt("TreeSelect"),yt=new Set;function Re({children:e,collection:o,value:t,defaultValue:l,onValueChange:n,multiple:r=!1,checkStrategy:c="cascade",valueStrategy:s="all",expandedValue:i,defaultExpandedValue:u,onExpandedChange:f,open:y,defaultOpen:p=!1,onOpenChange:x,onOpenChangeComplete:w,inputValue:O,defaultInputValue:h="",onInputValueChange:_e,filter:re=xe,disabled:H=!1,readOnly:J=!1,closeOnSelect:ne=!r,getMatchCountLabel:ae=ve}){let Q=d.useRef(null),X=d.useRef(null),qe=d.useRef(null),[Ue,We]=d.useState(!1),[I,N]=d.useState(null),oe=d.useId(),Ye=d.useId(),Je=d.useId(),le=ft(),[Z=[],se]=q({prop:t,defaultProp:l??[],onChange:n}),[j=[],ce]=q({prop:i,defaultProp:u??[],onChange:f}),[S=!1,E]=q({prop:y,defaultProp:p,onChange:x});St(S,X,w);let[z="",Qe]=q({prop:O,defaultProp:h,onChange:_e}),{index:m,order:b}=d.useMemo(()=>fe(o),[o]),C=r&&c==="cascade",D=d.useMemo(()=>me(Z,m,b,C),[Z,m,b,C]),G=z.trim()!=="",{visible:L,autoExpanded:ee,matchCount:ie}=d.useMemo(()=>G?ge(m,b,a=>re(a,z)):{visible:null,autoExpanded:yt,matchCount:b.length},[G,m,b,re,z]),F=d.useMemo(()=>{if(ee.size===0)return j;let a=new Set(j);for(let v of ee)a.add(v);return[...a]},[j,ee]),K=d.useMemo(()=>new Set(F),[F]),Xe=d.useCallback(a=>L===null||L.has(a),[L]),k=d.useMemo(()=>he(o,m,L,K),[o,m,L,K]),$=d.useMemo(()=>new Map(k.map(a=>[a.value,a])),[k]),Ze=d.useCallback(a=>_(a,D,m,C),[D,m,C]),je=d.useMemo(()=>b.filter(a=>_(a,D,m,C)===!0),[b,D,m,C]),V=d.useCallback((a,v)=>{ce((T=[])=>v?T.includes(a)?T:[...T,a]:T.filter(R=>R!==a))},[ce]),et=d.useCallback(a=>{let v=new Set(a),T=a.find(A=>!K.has(A));if(T!==void 0){V(T,!0);return}let R=F.find(A=>!v.has(A));R!==void 0&&V(R,!1)},[K,F,V]),te=d.useCallback(a=>{if(H||J)return;let v=m.get(a);if(!v||v.disabled)return;let T=Te(a,D,m,C,r);se(Se(T,m,b,C?s:"all")),ne&&(E(!1),Q.current?.focus())},[H,J,m,D,C,r,b,s,se,ne,E]),[tt,rt]=d.useState(!1),[nt,at]=d.useState(k);(S!==tt||k!==nt)&&(rt(S),at(k),S?(I===null||$.get(I)?.disabled!==!1)&&N(k.find(a=>!a.disabled)?.value??null):N(null)),d.useEffect(()=>{!S||!G||pt(ae(ie))},[S,G,ie,ae]);let ot=d.useCallback(a=>`${oe}item-${a}`,[oe]),lt=d.useCallback(a=>m.get(a)?.node.label??a,[m]),P=d.useMemo(()=>k.filter(a=>!a.disabled),[k]),B=d.useRef(P);d.useEffect(()=>{B.current=P});let de=gt(d.useCallback(()=>B.current.map(a=>m.get(a.value)?.node.label??a.value),[m])),M=d.useCallback(a=>{if(P.length===0)return;if(a==="first"){N(P[0].value);return}if(a==="last"){N(P[P.length-1].value);return}let v=P.findIndex(T=>T.value===I);N(P[it(v+a,0,P.length-1)].value)},[P,I]),st=d.useCallback((a,v)=>{if(H)return;let T=ut(a.key,a.currentTarget,le),R=I===null?void 0:$.get(I);if(a.key==="Escape"){if(!S||X.current)return;a.preventDefault(),E(!1),Q.current?.focus();return}if(a.key==="Tab"){S&&E(!1);return}if(T==="ArrowDown"){a.preventDefault(),S?M(1):(E(!0),M("first"));return}if(T==="ArrowUp"){a.preventDefault(),S?M(-1):(E(!0),M("last"));return}if(T==="ArrowRight"){if(!S)return;a.preventDefault(),R?.hasChildren&&!R.expanded?V(R.value,!0):M(1);return}if(T==="ArrowLeft"){if(!S)return;a.preventDefault(),R?.hasChildren&&R.expanded?V(R.value,!1):R?.parent&&N(R.parent);return}if(a.key==="Home"||a.key==="End"){if(!S)return;a.preventDefault(),M(a.key==="Home"?"first":"last");return}if(a.key==="Enter"||a.key===" "&&v.selectOnSpace){if(a.preventDefault(),!S){E(!0);return}I!==null&&te(I);return}if(v.typeahead&&S&&Tt(a)){a.preventDefault();let A=B.current.findIndex(ct=>ct.value===I),ue=de(a.key,A);ue!==-1&&N(B.current[ue].value)}},[H,le,I,$,S,E,M,V,te,de]);return ye(mt,{children:ye(ht,{collection:o,index:m,order:b,value:Z,multiple:r,cascade:C,disabled:H,readOnly:J,checkStateOf:Ze,commit:te,open:S,onOpenChange:E,expandedIds:F,expanded:K,setExpanded:V,onTreeExpandedIdsChange:et,selectedIds:je,isVisible:Xe,flat:k,flatMap:$,activeValue:I,setActiveValue:N,itemId:ot,treeId:Ye,contentId:Je,triggerRef:Q,contentRef:X,inputRef:qe,hasInput:Ue,setHasInput:We,inputValue:z,onInputValueChange:Qe,getLabel:lt,onNavigationKeyDown:st,children:e})})}Re.displayName="TreeSelect";import*as Ce from"react";import{useComposedRefs as xt}from"../utils/composeRefs.js";import{skdxPart as vt}from"../utils/part.js";import{PopperAnchor as Rt}from"../utils/popper.js";import{composeEventHandlers as Ie,Primitive as It}from"../utils/primitive.js";import{jsx as be}from"react/jsx-runtime";var Pe=Ce.forwardRef((e,o)=>{let t=g("TreeSelectTrigger"),l=xt(o,t.triggerRef),n=t.disabled||e.disabled,r=t.open&&!t.hasInput?t.activeValue:null;return be(Rt,{asChild:!0,children:be(It.button,{type:"button",role:"combobox","aria-haspopup":"tree","aria-expanded":t.open,"aria-controls":t.treeId,"aria-activedescendant":r===null?void 0:t.itemId(r),"aria-readonly":t.readOnly?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":n?"":void 0,"data-readonly":t.readOnly?"":void 0,"data-multiple":t.multiple?"":void 0,"data-placeholder":t.value.length===0?"":void 0,disabled:n,...e,...vt("tree-select","trigger",e.className),ref:l,onClick:Ie(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:Ie(e.onKeyDown,c=>t.onNavigationKeyDown(c,{typeahead:!0,selectOnSpace:!0}))})})});Pe.displayName="TreeSelectTrigger";import*as ke from"react";import{skdxPart as bt}from"../utils/part.js";import{Primitive as Ct}from"../utils/primitive.js";import{jsx as Ee}from"react/jsx-runtime";var Ne=ke.forwardRef(({placeholder:e,children:o,...t},l)=>{let{value:n,multiple:r,getLabel:c}=g("TreeSelectValue"),s,i=!1;return o!==void 0?s=o:n.length===0?(s=e,i=!0):r?s=n.map(u=>Ee("span",{"data-chip":"","data-value":u,children:c(u)},u)):s=c(n[0]),Ee(Ct.span,{"data-multiple":r?"":void 0,"data-placeholder":i?"":void 0,...t,...bt("tree-select","value",t.className),ref:l,style:{pointerEvents:"none",...t.style},children:s})});Ne.displayName="TreeSelectValue";import{Portal as Pt}from"../utils/portal.js";import{jsx as Et}from"react/jsx-runtime";var we=({forceMount:e,children:o,...t})=>{let l=g("TreeSelectPortal");return e||l.open?Et(Pt,{...t,children:o}):null};we.displayName="TreeSelectPortal";import*as U from"react";import{useComposedRefs as kt}from"../utils/composeRefs.js";import{skdxPart as Nt}from"../utils/part.js";import{PopperContent as wt}from"../utils/popper.js";import{composeEventHandlers as Vt}from"../utils/primitive.js";import{useDismiss as Mt}from"../utils/useDismiss.js";import{jsx as Dt}from"react/jsx-runtime";var Ve=U.forwardRef(({forceMount:e,side:o="bottom",align:t="start",sideOffset:l=4,onEscapeKeyDown:n,onPointerDownOutside:r,onFocusOutside:c,onInteractOutside:s,...i},u)=>{let f=g("TreeSelectContent"),y=kt(u,f.contentRef),{open:p,onOpenChange:x,triggerRef:w,inputRef:O}=f;return Mt({enabled:p,onEscapeKeyDown:h=>{n?.(h),!h.defaultPrevented&&(x(!1),w.current?.focus())},onInteractOutside:s,onPointerDownOutside:h=>{r?.(h),h.defaultPrevented||x(!1)},onFocusOutside:h=>{c?.(h),h.defaultPrevented||x(!1)}},[f.contentRef,w]),U.useEffect(()=>{if(!p)return;let h=requestAnimationFrame(()=>O.current?.focus());return()=>cancelAnimationFrame(h)},[p,O]),e||p?Dt(wt,{component:"tree-select",id:f.contentId,"data-state":p?"open":"closed","data-multiple":f.multiple?"":void 0,side:o,align:t,sideOffset:l,...i,...Nt("tree-select","content",i.className),ref:y,onMouseDown:Vt(i.onMouseDown,h=>{h.target!==O.current&&h.preventDefault()})}):null});Ve.displayName="TreeSelectContent";import*as Le from"react";import{Tree as zt}from"../tree/Tree.js";import{TreeGroup as Gt}from"../tree/Tree.js";import{skdxPart as $t}from"../utils/part.js";import*as De from"react";import{TreeItem as Ot}from"../tree/Tree.js";import{createSafeContext as Ht}from"../utils/createContext.js";import{skdxPart as Lt}from"../utils/part.js";import{composeEventHandlers as Ft}from"../utils/primitive.js";import{jsx as Me}from"react/jsx-runtime";var[Kt,Oe]=Ht("TreeSelectItem");function At(e){return e.target.closest('[role="treeitem"]')!==e.currentTarget}var W=De.forwardRef(({node:e,children:o,...t},l)=>{let n=g("TreeSelectItem"),r=n.index.get(e.value),c=n.flatMap.get(e.value),s=n.checkStateOf(e.value),i=r?.disabled??e.disabled??!1,u=n.expanded.has(e.value),f=c?.hasChildren??!1,y=n.activeValue===e.value;return Me(Kt,{value:e.value,checkState:s,disabled:i,expanded:u,hasChildren:f,active:y,children:Me(Ot,{nodeId:e.value,disabled:i,id:n.itemId(e.value),"data-value":e.value,"data-highlighted":y?"":void 0,"aria-checked":n.multiple?s==="mixed"?"mixed":s:void 0,"data-checked":s==="mixed"?"indeterminate":s?"checked":"unchecked","aria-posinset":c?.posinset,"aria-setsize":c?.setsize,tabIndex:-1,...t,...Lt("tree-select","item",t.className),ref:l,onClick:Ft(t.onClick,p=>{At(p)||(p.preventDefault(),!i&&(n.setActiveValue(e.value),n.commit(e.value)))}),children:o})})});W.displayName="TreeSelectItem";import{jsx as He,jsxs as Bt}from"react/jsx-runtime";var Fe=Le.forwardRef(({renderLabel:e,...o},t)=>{let l=g("TreeSelectTree"),{isVisible:n}=l,r=c=>c.filter(s=>n(s.value)).map(s=>{let i=(s.children??[]).filter(u=>n(u.value));return Bt(W,{node:s,children:[e?e(s):s.label??s.value,i.length>0?He(Gt,{children:r(i)}):null]},s.value)});return He(zt,{id:l.treeId,selectionMode:l.multiple?"multiple":"single","aria-readonly":l.readOnly||void 0,expandedIds:l.expandedIds,onExpandedIdsChange:l.onTreeExpandedIdsChange,selectedIds:l.selectedIds,...o,...$t("tree-select","tree",o.className),ref:t,children:r(l.collection)})});Fe.displayName="TreeSelectTree";import*as Ke from"react";import{skdxPart as _t}from"../utils/part.js";import{Primitive as qt}from"../utils/primitive.js";import{jsx as Ut}from"react/jsx-runtime";var Ae=Ke.forwardRef(({forceMount:e,...o},t)=>{let l=Oe("TreeSelectItemIndicator"),{checkState:n}=l;return e||n!==!1?Ut(qt.span,{"aria-hidden":!0,"data-state":n==="mixed"?"indeterminate":n?"checked":"unchecked",...o,..._t("tree-select","item-indicator",o.className),ref:t}):null});Ae.displayName="TreeSelectItemIndicator";import*as ze from"react";import{skdxPart as Wt}from"../utils/part.js";import{Primitive as Yt}from"../utils/primitive.js";import{jsx as Jt}from"react/jsx-runtime";var Ge=ze.forwardRef((e,o)=>g("TreeSelectEmpty").flat.length===0?Jt(Yt.div,{role:"presentation",...e,...Wt("tree-select","empty",e.className),ref:o}):null);Ge.displayName="TreeSelectEmpty";import*as Y from"react";import{useComposedRefs as Qt}from"../utils/composeRefs.js";import{skdxPart as Xt}from"../utils/part.js";import{composeEventHandlers as $e,Primitive as Zt}from"../utils/primitive.js";import{jsx as jt}from"react/jsx-runtime";var Be=Y.forwardRef((e,o)=>{let t=g("TreeSelectInput"),l=Qt(o,t.inputRef),{setHasInput:n}=t;return Y.useEffect(()=>(n(!0),()=>n(!1)),[n]),jt(Zt.input,{type:"text",autoComplete:"off","aria-controls":t.treeId,"aria-activedescendant":t.activeValue===null?void 0:t.itemId(t.activeValue),"aria-readonly":t.readOnly?!0:void 0,"data-readonly":t.readOnly?"":void 0,disabled:t.disabled||void 0,...e,...Xt("tree-select","input",e.className),ref:l,value:t.inputValue,onChange:$e(e.onChange,r=>t.onInputValueChange(r.target.value)),onKeyDown:$e(e.onKeyDown,r=>t.onNavigationKeyDown(r,{typeahead:!1,selectOnSpace:!1}))})});Be.displayName="TreeSelectInput";export{Re as TreeSelect,Ve as TreeSelectContent,Ge as TreeSelectEmpty,Be as TreeSelectInput,W as TreeSelectItem,Ae as TreeSelectItemIndicator,we as TreeSelectPortal,Fe as TreeSelectTree,Pe as TreeSelectTrigger,Ne as TreeSelectValue,ve as defaultGetMatchCountLabel,xe as defaultTreeSelectFilter};
|
|
1
|
+
import*as d from"react";import{clamp as it}from"../utils/clamp.js";import{createSafeContext as dt}from"../utils/createContext.js";import{directionalKey as ut,useDirection as ft}from"../utils/direction.js";import{announce as pt}from"../utils/liveAnnouncer.js";import{PopperRoot as mt}from"../utils/popper.js";import{useControllableState as q}from"../utils/useControllableState.js";import{useOpenChangeComplete as St}from"../utils/useOpenChangeComplete.js";import{isTypeaheadKey as Tt,useTypeahead as gt}from"../utils/useTypeahead.js";function fe(e){let o=new Map,t=[],l=(n,r,c,s)=>{for(let i of n){let u=s||i.disabled===!0,f=i.children??[],y={node:i,parent:r,depth:c,childValues:f.map(p=>p.value),descendants:[],leaves:[],disabled:u};if(o.set(i.value,y),t.push(i.value),l(f,i.value,c+1,u),f.length===0)u||y.leaves.push(i.value);else for(let p of f){let x=o.get(p.value);x&&(y.descendants.push(p.value,...x.descendants),y.leaves.push(...x.leaves))}}};return l(e,null,1,!1),{index:o,order:t}}function pe(e,o){let t=[],l=o.get(e)?.parent??null;for(;l!==null;)t.push(l),l=o.get(l)?.parent??null;return t}function _(e,o,t,l){if(!l)return o.has(e);let n=t.get(e);if(!n||n.leaves.length===0)return o.has(e);let r=0;for(let c of n.leaves)o.has(c)&&r++;return r===0?!1:r===n.leaves.length?!0:"mixed"}function me(e,o,t,l){let n=new Set;for(let r of e)o.has(r)&&n.add(r);if(!l)return n;for(let r of[...n]){let c=o.get(r);if(c)for(let s of c.descendants)o.get(s)?.disabled||n.add(s)}for(let r of t){let c=o.get(r);c&&(c.leaves.length===0||c.childValues.length===0||(c.leaves.every(s=>n.has(s))?n.add(r):n.delete(r)))}return n}function Se(e,o,t,l){let n=t.filter(r=>e.has(r));return l==="all"?n:l==="leaf"?n.filter(r=>o.get(r)?.childValues.length===0):n.filter(r=>{let c=o.get(r)?.parent??null;return c===null||!e.has(c)})}function Te(e,o,t,l,n){if(!n)return new Set([e]);let r=new Set(o),c=t.get(e);if(!l||!c)return r.has(e)?r.delete(e):r.add(e),r;let s=_(e,o,t,!0)!==!0;for(let i of[e,...c.descendants])t.get(i)?.disabled||(s?r.add(i):r.delete(i));for(let i of pe(e,t)){let u=t.get(i);u&&(u.leaves.length>0&&u.leaves.every(f=>r.has(f))?r.add(i):r.delete(i))}return r}function ge(e,o,t){let l=new Set,n=new Set,r=0;for(let c of o){let s=e.get(c);if(s&&t(s.node)){r++,l.add(c);for(let i of pe(c,e))l.add(i),n.add(i);for(let i of s.descendants)l.add(i)}}return{visible:l,autoExpanded:n,matchCount:r}}function he(e,o,t,l){let n=[],r=s=>t===null||t.has(s.value),c=(s,i)=>{let u=s.filter(r);u.forEach((f,y)=>{let p=o.get(f.value);if(!p)return;let x=(f.children??[]).filter(r),w=l.has(f.value);n.push({value:f.value,parent:i,depth:p.depth,disabled:p.disabled,hasChildren:x.length>0,expanded:w,posinset:y+1,setsize:u.length}),x.length>0&&w&&c(x,f.value)})};return c(e,null),n}import{jsx as ye}from"react/jsx-runtime";function xe(e,o){return(e.label??e.value).toLowerCase().includes(o.trim().toLowerCase())}function ve(e){return`${e} match${e===1?"":"es"} available`}var[ht,g]=dt("TreeSelect"),yt=new Set;function Re({children:e,collection:o,value:t,defaultValue:l,onValueChange:n,multiple:r=!1,checkStrategy:c="cascade",valueStrategy:s="all",expandedValue:i,defaultExpandedValue:u,onExpandedChange:f,open:y,defaultOpen:p=!1,onOpenChange:x,onOpenChangeComplete:w,inputValue:O,defaultInputValue:h="",onInputValueChange:_e,filter:re=xe,disabled:H=!1,readOnly:J=!1,closeOnSelect:ne=!r,getMatchCountLabel:ae=ve}){let Q=d.useRef(null),X=d.useRef(null),qe=d.useRef(null),[Ue,We]=d.useState(!1),[I,N]=d.useState(null),oe=d.useId(),Ye=d.useId(),Je=d.useId(),le=ft(),[Z=[],se]=q({prop:t,defaultProp:l??[],onChange:n}),[j=[],ce]=q({prop:i,defaultProp:u??[],onChange:f}),[S=!1,E]=q({prop:y,defaultProp:p,onChange:x});St(S,X,w);let[z="",Qe]=q({prop:O,defaultProp:h,onChange:_e}),{index:m,order:b}=d.useMemo(()=>fe(o),[o]),C=r&&c==="cascade",D=d.useMemo(()=>me(Z,m,b,C),[Z,m,b,C]),G=z.trim()!=="",{visible:L,autoExpanded:ee,matchCount:ie}=d.useMemo(()=>G?ge(m,b,a=>re(a,z)):{visible:null,autoExpanded:yt,matchCount:b.length},[G,m,b,re,z]),F=d.useMemo(()=>{if(ee.size===0)return j;let a=new Set(j);for(let v of ee)a.add(v);return[...a]},[j,ee]),K=d.useMemo(()=>new Set(F),[F]),Xe=d.useCallback(a=>L===null||L.has(a),[L]),k=d.useMemo(()=>he(o,m,L,K),[o,m,L,K]),$=d.useMemo(()=>new Map(k.map(a=>[a.value,a])),[k]),Ze=d.useCallback(a=>_(a,D,m,C),[D,m,C]),je=d.useMemo(()=>b.filter(a=>_(a,D,m,C)===!0),[b,D,m,C]),V=d.useCallback((a,v)=>{ce((T=[])=>v?T.includes(a)?T:[...T,a]:T.filter(R=>R!==a))},[ce]),et=d.useCallback(a=>{let v=new Set(a),T=a.find(A=>!K.has(A));if(T!==void 0){V(T,!0);return}let R=F.find(A=>!v.has(A));R!==void 0&&V(R,!1)},[K,F,V]),te=d.useCallback(a=>{if(H||J)return;let v=m.get(a);if(!v||v.disabled)return;let T=Te(a,D,m,C,r);se(Se(T,m,b,C?s:"all")),ne&&(E(!1),Q.current?.focus())},[H,J,m,D,C,r,b,s,se,ne,E]),[tt,rt]=d.useState(!1),[nt,at]=d.useState(k);(S!==tt||k!==nt)&&(rt(S),at(k),S?(I===null||$.get(I)?.disabled!==!1)&&N(k.find(a=>!a.disabled)?.value??null):N(null)),d.useEffect(()=>{!S||!G||pt(ae(ie))},[S,G,ie,ae]);let ot=d.useCallback(a=>`${oe}item-${a}`,[oe]),lt=d.useCallback(a=>m.get(a)?.node.label??a,[m]),P=d.useMemo(()=>k.filter(a=>!a.disabled),[k]),B=d.useRef(P);d.useEffect(()=>{B.current=P});let de=gt(d.useCallback(()=>B.current.map(a=>m.get(a.value)?.node.label??a.value),[m])),M=d.useCallback(a=>{if(P.length===0)return;if(a==="first"){N(P[0].value);return}if(a==="last"){N(P[P.length-1].value);return}let v=P.findIndex(T=>T.value===I);N(P[it(v+a,0,P.length-1)].value)},[P,I]),st=d.useCallback((a,v)=>{if(H)return;let T=ut(a.key,a.currentTarget,le),R=I===null?void 0:$.get(I);if(a.key==="Escape"){if(!S||X.current)return;a.preventDefault(),E(!1),Q.current?.focus();return}if(a.key==="Tab"){S&&E(!1);return}if(T==="ArrowDown"){a.preventDefault(),S?M(1):(E(!0),M("first"));return}if(T==="ArrowUp"){a.preventDefault(),S?M(-1):(E(!0),M("last"));return}if(T==="ArrowRight"){if(!S)return;a.preventDefault(),R?.hasChildren&&!R.expanded?V(R.value,!0):M(1);return}if(T==="ArrowLeft"){if(!S)return;a.preventDefault(),R?.hasChildren&&R.expanded?V(R.value,!1):R?.parent&&N(R.parent);return}if(a.key==="Home"||a.key==="End"){if(!S)return;a.preventDefault(),M(a.key==="Home"?"first":"last");return}if(a.key==="Enter"||a.key===" "&&v.selectOnSpace){if(a.preventDefault(),!S){E(!0);return}I!==null&&te(I);return}if(v.typeahead&&S&&Tt(a)){a.preventDefault();let A=B.current.findIndex(ct=>ct.value===I),ue=de(a.key,A);ue!==-1&&N(B.current[ue].value)}},[H,le,I,$,S,E,M,V,te,de]);return ye(mt,{children:ye(ht,{collection:o,index:m,order:b,value:Z,multiple:r,cascade:C,disabled:H,readOnly:J,checkStateOf:Ze,commit:te,open:S,onOpenChange:E,expandedIds:F,expanded:K,setExpanded:V,onTreeExpandedIdsChange:et,selectedIds:je,isVisible:Xe,flat:k,flatMap:$,activeValue:I,setActiveValue:N,itemId:ot,treeId:Ye,contentId:Je,triggerRef:Q,contentRef:X,inputRef:qe,hasInput:Ue,setHasInput:We,inputValue:z,onInputValueChange:Qe,getLabel:lt,onNavigationKeyDown:st,children:e})})}Re.displayName="TreeSelect";import*as Ce from"react";import{useComposedRefs as xt}from"../utils/composeRefs.js";import{skdxPart as vt}from"../utils/part.js";import{PopperAnchor as Rt}from"../utils/popper.js";import{composeEventHandlers as Ie,Primitive as It}from"../utils/primitive.js";import{jsx as be}from"react/jsx-runtime";var Pe=Ce.forwardRef((e,o)=>{let t=g("TreeSelectTrigger"),l=xt(o,t.triggerRef),n=t.disabled||e.disabled,r=t.open&&!t.hasInput?t.activeValue:null;return be(Rt,{asChild:!0,children:be(It.button,{type:"button",role:"combobox","aria-haspopup":"tree","aria-expanded":t.open,"aria-controls":t.treeId,"aria-activedescendant":r===null?void 0:t.itemId(r),"aria-readonly":t.readOnly?!0:void 0,"data-state":t.open?"open":"closed","data-disabled":n?"":void 0,"data-readonly":t.readOnly?"":void 0,"data-multiple":t.multiple?"":void 0,"data-placeholder":t.value.length===0?"":void 0,disabled:n,...e,...vt("tree-select","trigger",e.className),ref:l,onClick:Ie(e.onClick,()=>t.onOpenChange(!t.open)),onKeyDown:Ie(e.onKeyDown,c=>t.onNavigationKeyDown(c,{typeahead:!0,selectOnSpace:!0}))})})});Pe.displayName="TreeSelectTrigger";import*as ke from"react";import{skdxPart as bt}from"../utils/part.js";import{Primitive as Ct}from"../utils/primitive.js";import{jsx as Ee}from"react/jsx-runtime";var Ne=ke.forwardRef(({placeholder:e,children:o,...t},l)=>{let{value:n,multiple:r,getLabel:c}=g("TreeSelectValue"),s,i=!1;return o!==void 0?s=o:n.length===0?(s=e,i=!0):r?s=n.map(u=>Ee("span",{"data-chip":"","data-value":u,children:c(u)},u)):s=c(n[0]),Ee(Ct.span,{"data-multiple":r?"":void 0,"data-placeholder":i?"":void 0,...t,...bt("tree-select","value",t.className),ref:l,style:{pointerEvents:"none",...t.style},children:s})});Ne.displayName="TreeSelectValue";import{Portal as Pt}from"../utils/portal.js";import{jsx as Et}from"react/jsx-runtime";var we=({forceMount:e,children:o,...t})=>{let l=g("TreeSelectPortal");return e||l.open?Et(Pt,{...t,children:o}):null};we.displayName="TreeSelectPortal";import*as U from"react";import{useComposedRefs as kt}from"../utils/composeRefs.js";import{skdxPart as Nt}from"../utils/part.js";import{PopperContent as wt}from"../utils/popper.js";import{composeEventHandlers as Vt}from"../utils/primitive.js";import{useDismiss as Mt}from"../utils/useDismiss.js";import{jsx as Dt}from"react/jsx-runtime";var Ve=U.forwardRef(({forceMount:e,side:o="bottom",align:t="start",sideOffset:l=4,onEscapeKeyDown:n,onPointerDownOutside:r,onFocusOutside:c,onInteractOutside:s,...i},u)=>{let f=g("TreeSelectContent"),y=kt(u,f.contentRef),{open:p,onOpenChange:x,triggerRef:w,inputRef:O}=f;return Mt({enabled:p,onEscapeKeyDown:h=>{n?.(h),!h.defaultPrevented&&(x(!1),w.current?.focus())},onInteractOutside:s,onPointerDownOutside:h=>{r?.(h),h.defaultPrevented||x(!1)},onFocusOutside:h=>{c?.(h),h.defaultPrevented||x(!1)}},[f.contentRef,w]),U.useEffect(()=>{if(!p)return;let h=requestAnimationFrame(()=>O.current?.focus({preventScroll:!0}));return()=>cancelAnimationFrame(h)},[p,O]),e||p?Dt(wt,{component:"tree-select",id:f.contentId,"data-state":p?"open":"closed","data-multiple":f.multiple?"":void 0,side:o,align:t,sideOffset:l,...i,...Nt("tree-select","content",i.className),ref:y,onMouseDown:Vt(i.onMouseDown,h=>{h.target!==O.current&&h.preventDefault()})}):null});Ve.displayName="TreeSelectContent";import*as Le from"react";import{Tree as zt}from"../tree/Tree.js";import{TreeGroup as Gt}from"../tree/Tree.js";import{skdxPart as $t}from"../utils/part.js";import*as De from"react";import{TreeItem as Ot}from"../tree/Tree.js";import{createSafeContext as Ht}from"../utils/createContext.js";import{skdxPart as Lt}from"../utils/part.js";import{composeEventHandlers as Ft}from"../utils/primitive.js";import{jsx as Me}from"react/jsx-runtime";var[Kt,Oe]=Ht("TreeSelectItem");function At(e){return e.target.closest('[role="treeitem"]')!==e.currentTarget}var W=De.forwardRef(({node:e,children:o,...t},l)=>{let n=g("TreeSelectItem"),r=n.index.get(e.value),c=n.flatMap.get(e.value),s=n.checkStateOf(e.value),i=r?.disabled??e.disabled??!1,u=n.expanded.has(e.value),f=c?.hasChildren??!1,y=n.activeValue===e.value;return Me(Kt,{value:e.value,checkState:s,disabled:i,expanded:u,hasChildren:f,active:y,children:Me(Ot,{nodeId:e.value,disabled:i,id:n.itemId(e.value),"data-value":e.value,"data-highlighted":y?"":void 0,"aria-checked":n.multiple?s==="mixed"?"mixed":s:void 0,"data-checked":s==="mixed"?"indeterminate":s?"checked":"unchecked","aria-posinset":c?.posinset,"aria-setsize":c?.setsize,tabIndex:-1,...t,...Lt("tree-select","item",t.className),ref:l,onClick:Ft(t.onClick,p=>{At(p)||(p.preventDefault(),!i&&(n.setActiveValue(e.value),n.commit(e.value)))}),children:o})})});W.displayName="TreeSelectItem";import{jsx as He,jsxs as Bt}from"react/jsx-runtime";var Fe=Le.forwardRef(({renderLabel:e,...o},t)=>{let l=g("TreeSelectTree"),{isVisible:n}=l,r=c=>c.filter(s=>n(s.value)).map(s=>{let i=(s.children??[]).filter(u=>n(u.value));return Bt(W,{node:s,children:[e?e(s):s.label??s.value,i.length>0?He(Gt,{children:r(i)}):null]},s.value)});return He(zt,{id:l.treeId,selectionMode:l.multiple?"multiple":"single","aria-readonly":l.readOnly||void 0,expandedIds:l.expandedIds,onExpandedIdsChange:l.onTreeExpandedIdsChange,selectedIds:l.selectedIds,...o,...$t("tree-select","tree",o.className),ref:t,children:r(l.collection)})});Fe.displayName="TreeSelectTree";import*as Ke from"react";import{skdxPart as _t}from"../utils/part.js";import{Primitive as qt}from"../utils/primitive.js";import{jsx as Ut}from"react/jsx-runtime";var Ae=Ke.forwardRef(({forceMount:e,...o},t)=>{let l=Oe("TreeSelectItemIndicator"),{checkState:n}=l;return e||n!==!1?Ut(qt.span,{"aria-hidden":!0,"data-state":n==="mixed"?"indeterminate":n?"checked":"unchecked",...o,..._t("tree-select","item-indicator",o.className),ref:t}):null});Ae.displayName="TreeSelectItemIndicator";import*as ze from"react";import{skdxPart as Wt}from"../utils/part.js";import{Primitive as Yt}from"../utils/primitive.js";import{jsx as Jt}from"react/jsx-runtime";var Ge=ze.forwardRef((e,o)=>g("TreeSelectEmpty").flat.length===0?Jt(Yt.div,{role:"presentation",...e,...Wt("tree-select","empty",e.className),ref:o}):null);Ge.displayName="TreeSelectEmpty";import*as Y from"react";import{useComposedRefs as Qt}from"../utils/composeRefs.js";import{skdxPart as Xt}from"../utils/part.js";import{composeEventHandlers as $e,Primitive as Zt}from"../utils/primitive.js";import{jsx as jt}from"react/jsx-runtime";var Be=Y.forwardRef((e,o)=>{let t=g("TreeSelectInput"),l=Qt(o,t.inputRef),{setHasInput:n}=t;return Y.useEffect(()=>(n(!0),()=>n(!1)),[n]),jt(Zt.input,{type:"text",autoComplete:"off","aria-controls":t.treeId,"aria-activedescendant":t.activeValue===null?void 0:t.itemId(t.activeValue),"aria-readonly":t.readOnly?!0:void 0,"data-readonly":t.readOnly?"":void 0,disabled:t.disabled||void 0,...e,...Xt("tree-select","input",e.className),ref:l,value:t.inputValue,onChange:$e(e.onChange,r=>t.onInputValueChange(r.target.value)),onKeyDown:$e(e.onKeyDown,r=>t.onNavigationKeyDown(r,{typeahead:!1,selectOnSpace:!1}))})});Be.displayName="TreeSelectInput";export{Re as TreeSelect,Ve as TreeSelectContent,Ge as TreeSelectEmpty,Be as TreeSelectInput,W as TreeSelectItem,Ae as TreeSelectItemIndicator,we as TreeSelectPortal,Fe as TreeSelectTree,Pe as TreeSelectTrigger,Ne as TreeSelectValue,ve as defaultGetMatchCountLabel,xe as defaultTreeSelectFilter};
|
package/dist/utils/menuSub.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var I=Object.create;var P=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var F=(e,o)=>{for(var a in o)P(e,a,{get:o[a],enumerable:!0})},T=(e,o,a,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of A(o))!_.call(e,i)&&i!==a&&P(e,i,{get:()=>o[i],enumerable:!(t=O(o,i))||t.enumerable});return e};var q=(e,o,a)=>(a=e!=null?I(K(e)):{},T(o||!e||!e.__esModule?P(a,"default",{value:e,enumerable:!0}):a,e)),B=e=>T(P({},"__esModule",{value:!0}),e);var W={};F(W,{MENU_BRANCH_ATTRIBUTE:()=>x,MenuSub:()=>L,MenuSubContent:()=>k,MenuSubTrigger:()=>D});module.exports=B(W);var r=q(require("react"),1),C=require("./composeRefs.cjs"),S=require("./createContext.cjs"),d=require("./direction.cjs"),M=require("./part.cjs"),R=require("./popper.cjs"),y=require("./portal.cjs"),c=require("./primitive.cjs"),E=require("./useControllableState.cjs"),v=require("./useOpenChangeComplete.cjs"),h=require("./useRovingFocus.cjs"),p=require("react/jsx-runtime"),w='[role^="menuitem"]:not([data-disabled])',x="data-skdx-menu-branch",U=150,[V,N]=(0,S.createSafeContext)("MenuSub");function L({family:e,children:o,open:a,defaultOpen:t=!1,onOpenChange:i,onOpenChangeComplete:s}){let m=r.useRef(null),n=r.useRef(null),u=r.useRef(void 0),[b=!1,l]=(0,E.useControllableState)({prop:a,defaultProp:t,onChange:i});(0,v.useOpenChangeComplete)(b,n,s),r.useEffect(()=>()=>clearTimeout(u.current),[]);let f=r.useCallback(()=>{clearTimeout(u.current),l(!0)},[l]),g=r.useCallback(()=>{clearTimeout(u.current),l(!1)},[l]),H=r.useCallback(()=>{clearTimeout(u.current),u.current=setTimeout(()=>l(!1),U)},[l]);return(0,p.jsx)(R.PopperRoot,{children:(0,p.jsx)(V,{family:e,open:b,openNow:f,closeNow:g,scheduleClose:H,triggerRef:m,contentRef:n,contentId:r.useId(),children:o})})}L.displayName="MenuSub";var D=r.forwardRef(({disabled:e,...o},a)=>{let t=N("MenuSubTrigger"),i=(0,C.useComposedRefs)(a,t.triggerRef),s=(0,d.useDirection)(),m=()=>{t.openNow(),requestAnimationFrame(()=>{let n=t.contentRef.current;(n?.querySelector(w)??n)?.focus()})};return(0,p.jsx)(R.PopperAnchor,{asChild:!0,children:(0,p.jsx)(c.Primitive.div,{role:"menuitem","aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,tabIndex:e?void 0:-1,...o,...(0,M.skdxPart)(t.family,"sub-trigger",o.className),ref:i,onClick:(0,c.composeEventHandlers)(o.onClick,()=>{e||m()}),onKeyDown:(0,c.composeEventHandlers)(o.onKeyDown,n=>{if(e)return;let u=(0,d.directionalKey)(n.key,n.currentTarget,s);["ArrowRight","Enter"," "].includes(u)&&(n.preventDefault(),n.stopPropagation(),m())}),onPointerEnter:(0,c.composeEventHandlers)(o.onPointerEnter,n=>{e||(n.currentTarget.focus(),t.openNow())}),onPointerLeave:(0,c.composeEventHandlers)(o.onPointerLeave,()=>{e||t.scheduleClose()})})})});D.displayName="MenuSubTrigger";var k=r.forwardRef(({forceMount:e,loop:o=!0,side:a="end",align:t="start",sideOffset:i=0,...s},m)=>{let n=N("MenuSubContent"),u=(0,C.useComposedRefs)(m,n.contentRef),b=(0,d.useDirection)(),l=(0,h.useRovingFocus)({orientation:"vertical",loop:o,itemSelector:w,typeahead:!0});return e||n.open?(0,p.jsx)(y.Portal,{[x]:"",children:(0,p.jsx)(R.PopperContent,{role:"menu","aria-orientation":"vertical",id:n.contentId,"data-state":n.open?"open":"closed",tabIndex:-1,side:a,align:t,sideOffset:i,...s,...(0,M.skdxPart)(n.family,"sub-content",s.className),ref:u,onKeyDown:(0,c.composeEventHandlers)(s.onKeyDown,f=>{let g=(0,d.directionalKey)(f.key,f.currentTarget,b);g==="ArrowLeft"||g==="Escape"?(f.preventDefault(),n.closeNow(),n.triggerRef.current?.focus()):l(f),f.key!=="Tab"&&f.stopPropagation()}),onPointerEnter:(0,c.composeEventHandlers)(s.onPointerEnter,n.openNow),onPointerLeave:(0,c.composeEventHandlers)(s.onPointerLeave,n.scheduleClose)})}):null});k.displayName="MenuSubContent";0&&(module.exports={MENU_BRANCH_ATTRIBUTE,MenuSub,MenuSubContent,MenuSubTrigger});
|
|
1
|
+
"use strict";var I=Object.create;var P=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var F=(e,o)=>{for(var a in o)P(e,a,{get:o[a],enumerable:!0})},T=(e,o,a,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of A(o))!_.call(e,i)&&i!==a&&P(e,i,{get:()=>o[i],enumerable:!(t=O(o,i))||t.enumerable});return e};var q=(e,o,a)=>(a=e!=null?I(K(e)):{},T(o||!e||!e.__esModule?P(a,"default",{value:e,enumerable:!0}):a,e)),B=e=>T(P({},"__esModule",{value:!0}),e);var W={};F(W,{MENU_BRANCH_ATTRIBUTE:()=>x,MenuSub:()=>L,MenuSubContent:()=>k,MenuSubTrigger:()=>D});module.exports=B(W);var r=q(require("react"),1),C=require("./composeRefs.cjs"),S=require("./createContext.cjs"),d=require("./direction.cjs"),M=require("./part.cjs"),R=require("./popper.cjs"),y=require("./portal.cjs"),c=require("./primitive.cjs"),E=require("./useControllableState.cjs"),v=require("./useOpenChangeComplete.cjs"),h=require("./useRovingFocus.cjs"),p=require("react/jsx-runtime"),w='[role^="menuitem"]:not([data-disabled])',x="data-skdx-menu-branch",U=150,[V,N]=(0,S.createSafeContext)("MenuSub");function L({family:e,children:o,open:a,defaultOpen:t=!1,onOpenChange:i,onOpenChangeComplete:s}){let m=r.useRef(null),n=r.useRef(null),u=r.useRef(void 0),[b=!1,l]=(0,E.useControllableState)({prop:a,defaultProp:t,onChange:i});(0,v.useOpenChangeComplete)(b,n,s),r.useEffect(()=>()=>clearTimeout(u.current),[]);let f=r.useCallback(()=>{clearTimeout(u.current),l(!0)},[l]),g=r.useCallback(()=>{clearTimeout(u.current),l(!1)},[l]),H=r.useCallback(()=>{clearTimeout(u.current),u.current=setTimeout(()=>l(!1),U)},[l]);return(0,p.jsx)(R.PopperRoot,{children:(0,p.jsx)(V,{family:e,open:b,openNow:f,closeNow:g,scheduleClose:H,triggerRef:m,contentRef:n,contentId:r.useId(),children:o})})}L.displayName="MenuSub";var D=r.forwardRef(({disabled:e,...o},a)=>{let t=N("MenuSubTrigger"),i=(0,C.useComposedRefs)(a,t.triggerRef),s=(0,d.useDirection)(),m=()=>{t.openNow(),requestAnimationFrame(()=>{let n=t.contentRef.current;(n?.querySelector(w)??n)?.focus({preventScroll:!0})})};return(0,p.jsx)(R.PopperAnchor,{asChild:!0,children:(0,p.jsx)(c.Primitive.div,{role:"menuitem","aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed","data-disabled":e?"":void 0,"aria-disabled":e||void 0,tabIndex:e?void 0:-1,...o,...(0,M.skdxPart)(t.family,"sub-trigger",o.className),ref:i,onClick:(0,c.composeEventHandlers)(o.onClick,()=>{e||m()}),onKeyDown:(0,c.composeEventHandlers)(o.onKeyDown,n=>{if(e)return;let u=(0,d.directionalKey)(n.key,n.currentTarget,s);["ArrowRight","Enter"," "].includes(u)&&(n.preventDefault(),n.stopPropagation(),m())}),onPointerEnter:(0,c.composeEventHandlers)(o.onPointerEnter,n=>{e||(n.currentTarget.focus(),t.openNow())}),onPointerLeave:(0,c.composeEventHandlers)(o.onPointerLeave,()=>{e||t.scheduleClose()})})})});D.displayName="MenuSubTrigger";var k=r.forwardRef(({forceMount:e,loop:o=!0,side:a="end",align:t="start",sideOffset:i=0,...s},m)=>{let n=N("MenuSubContent"),u=(0,C.useComposedRefs)(m,n.contentRef),b=(0,d.useDirection)(),l=(0,h.useRovingFocus)({orientation:"vertical",loop:o,itemSelector:w,typeahead:!0});return e||n.open?(0,p.jsx)(y.Portal,{[x]:"",children:(0,p.jsx)(R.PopperContent,{role:"menu","aria-orientation":"vertical",id:n.contentId,"data-state":n.open?"open":"closed",tabIndex:-1,side:a,align:t,sideOffset:i,...s,...(0,M.skdxPart)(n.family,"sub-content",s.className),ref:u,onKeyDown:(0,c.composeEventHandlers)(s.onKeyDown,f=>{let g=(0,d.directionalKey)(f.key,f.currentTarget,b);g==="ArrowLeft"||g==="Escape"?(f.preventDefault(),n.closeNow(),n.triggerRef.current?.focus()):l(f),f.key!=="Tab"&&f.stopPropagation()}),onPointerEnter:(0,c.composeEventHandlers)(s.onPointerEnter,n.openNow),onPointerLeave:(0,c.composeEventHandlers)(s.onPointerLeave,n.scheduleClose)})}):null});k.displayName="MenuSubContent";0&&(module.exports={MENU_BRANCH_ATTRIBUTE,MenuSub,MenuSubContent,MenuSubTrigger});
|
package/dist/utils/menuSub.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as o from"react";import{useComposedRefs as b}from"./composeRefs.js";import{createSafeContext as y}from"./createContext.js";import{directionalKey as g,useDirection as P}from"./direction.js";import{skdxPart as C}from"./part.js";import{PopperAnchor as E,PopperContent as v,PopperRoot as h}from"./popper.js";import{Portal as w}from"./portal.js";import{composeEventHandlers as s,Primitive as x}from"./primitive.js";import{useControllableState as N}from"./useControllableState.js";import{useOpenChangeComplete as L}from"./useOpenChangeComplete.js";import{useRovingFocus as D}from"./useRovingFocus.js";import{jsx as f}from"react/jsx-runtime";var M='[role^="menuitem"]:not([data-disabled])',k="data-skdx-menu-branch",H=150,[I,T]=y("MenuSub");function O({family:t,children:r,open:p,defaultOpen:n=!1,onOpenChange:m,onOpenChangeComplete:i}){let l=o.useRef(null),e=o.useRef(null),a=o.useRef(void 0),[d=!1,u]=N({prop:p,defaultProp:n,onChange:m});L(d,e,i),o.useEffect(()=>()=>clearTimeout(a.current),[]);let c=o.useCallback(()=>{clearTimeout(a.current),u(!0)},[u]),R=o.useCallback(()=>{clearTimeout(a.current),u(!1)},[u]),S=o.useCallback(()=>{clearTimeout(a.current),a.current=setTimeout(()=>u(!1),H)},[u]);return f(h,{children:f(I,{family:t,open:d,openNow:c,closeNow:R,scheduleClose:S,triggerRef:l,contentRef:e,contentId:o.useId(),children:r})})}O.displayName="MenuSub";var A=o.forwardRef(({disabled:t,...r},p)=>{let n=T("MenuSubTrigger"),m=b(p,n.triggerRef),i=P(),l=()=>{n.openNow(),requestAnimationFrame(()=>{let e=n.contentRef.current;(e?.querySelector(M)??e)?.focus()})};return f(E,{asChild:!0,children:f(x.div,{role:"menuitem","aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":n.open?"open":"closed","data-disabled":t?"":void 0,"aria-disabled":t||void 0,tabIndex:t?void 0:-1,...r,...C(n.family,"sub-trigger",r.className),ref:m,onClick:s(r.onClick,()=>{t||l()}),onKeyDown:s(r.onKeyDown,e=>{if(t)return;let a=g(e.key,e.currentTarget,i);["ArrowRight","Enter"," "].includes(a)&&(e.preventDefault(),e.stopPropagation(),l())}),onPointerEnter:s(r.onPointerEnter,e=>{t||(e.currentTarget.focus(),n.openNow())}),onPointerLeave:s(r.onPointerLeave,()=>{t||n.scheduleClose()})})})});A.displayName="MenuSubTrigger";var K=o.forwardRef(({forceMount:t,loop:r=!0,side:p="end",align:n="start",sideOffset:m=0,...i},l)=>{let e=T("MenuSubContent"),a=b(l,e.contentRef),d=P(),u=D({orientation:"vertical",loop:r,itemSelector:M,typeahead:!0});return t||e.open?f(w,{[k]:"",children:f(v,{role:"menu","aria-orientation":"vertical",id:e.contentId,"data-state":e.open?"open":"closed",tabIndex:-1,side:p,align:n,sideOffset:m,...i,...C(e.family,"sub-content",i.className),ref:a,onKeyDown:s(i.onKeyDown,c=>{let R=g(c.key,c.currentTarget,d);R==="ArrowLeft"||R==="Escape"?(c.preventDefault(),e.closeNow(),e.triggerRef.current?.focus()):u(c),c.key!=="Tab"&&c.stopPropagation()}),onPointerEnter:s(i.onPointerEnter,e.openNow),onPointerLeave:s(i.onPointerLeave,e.scheduleClose)})}):null});K.displayName="MenuSubContent";export{k as MENU_BRANCH_ATTRIBUTE,O as MenuSub,K as MenuSubContent,A as MenuSubTrigger};
|
|
1
|
+
import*as o from"react";import{useComposedRefs as b}from"./composeRefs.js";import{createSafeContext as y}from"./createContext.js";import{directionalKey as g,useDirection as P}from"./direction.js";import{skdxPart as C}from"./part.js";import{PopperAnchor as E,PopperContent as v,PopperRoot as h}from"./popper.js";import{Portal as w}from"./portal.js";import{composeEventHandlers as s,Primitive as x}from"./primitive.js";import{useControllableState as N}from"./useControllableState.js";import{useOpenChangeComplete as L}from"./useOpenChangeComplete.js";import{useRovingFocus as D}from"./useRovingFocus.js";import{jsx as f}from"react/jsx-runtime";var M='[role^="menuitem"]:not([data-disabled])',k="data-skdx-menu-branch",H=150,[I,T]=y("MenuSub");function O({family:t,children:r,open:p,defaultOpen:n=!1,onOpenChange:m,onOpenChangeComplete:i}){let l=o.useRef(null),e=o.useRef(null),a=o.useRef(void 0),[d=!1,u]=N({prop:p,defaultProp:n,onChange:m});L(d,e,i),o.useEffect(()=>()=>clearTimeout(a.current),[]);let c=o.useCallback(()=>{clearTimeout(a.current),u(!0)},[u]),R=o.useCallback(()=>{clearTimeout(a.current),u(!1)},[u]),S=o.useCallback(()=>{clearTimeout(a.current),a.current=setTimeout(()=>u(!1),H)},[u]);return f(h,{children:f(I,{family:t,open:d,openNow:c,closeNow:R,scheduleClose:S,triggerRef:l,contentRef:e,contentId:o.useId(),children:r})})}O.displayName="MenuSub";var A=o.forwardRef(({disabled:t,...r},p)=>{let n=T("MenuSubTrigger"),m=b(p,n.triggerRef),i=P(),l=()=>{n.openNow(),requestAnimationFrame(()=>{let e=n.contentRef.current;(e?.querySelector(M)??e)?.focus({preventScroll:!0})})};return f(E,{asChild:!0,children:f(x.div,{role:"menuitem","aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":n.open?"open":"closed","data-disabled":t?"":void 0,"aria-disabled":t||void 0,tabIndex:t?void 0:-1,...r,...C(n.family,"sub-trigger",r.className),ref:m,onClick:s(r.onClick,()=>{t||l()}),onKeyDown:s(r.onKeyDown,e=>{if(t)return;let a=g(e.key,e.currentTarget,i);["ArrowRight","Enter"," "].includes(a)&&(e.preventDefault(),e.stopPropagation(),l())}),onPointerEnter:s(r.onPointerEnter,e=>{t||(e.currentTarget.focus(),n.openNow())}),onPointerLeave:s(r.onPointerLeave,()=>{t||n.scheduleClose()})})})});A.displayName="MenuSubTrigger";var K=o.forwardRef(({forceMount:t,loop:r=!0,side:p="end",align:n="start",sideOffset:m=0,...i},l)=>{let e=T("MenuSubContent"),a=b(l,e.contentRef),d=P(),u=D({orientation:"vertical",loop:r,itemSelector:M,typeahead:!0});return t||e.open?f(w,{[k]:"",children:f(v,{role:"menu","aria-orientation":"vertical",id:e.contentId,"data-state":e.open?"open":"closed",tabIndex:-1,side:p,align:n,sideOffset:m,...i,...C(e.family,"sub-content",i.className),ref:a,onKeyDown:s(i.onKeyDown,c=>{let R=g(c.key,c.currentTarget,d);R==="ArrowLeft"||R==="Escape"?(c.preventDefault(),e.closeNow(),e.triggerRef.current?.focus()):u(c),c.key!=="Tab"&&c.stopPropagation()}),onPointerEnter:s(i.onPointerEnter,e.openNow),onPointerLeave:s(i.onPointerLeave,e.scheduleClose)})}):null});K.displayName="MenuSubContent";export{k as MENU_BRANCH_ATTRIBUTE,O as MenuSub,K as MenuSubContent,A as MenuSubTrigger};
|
package/dist/utils/slot.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var R=Object.create;var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var H=(e,n)=>{for(var t in n)i(e,t,{get:n[t],enumerable:!0})},c=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of y(n))!A.call(e,r)&&r!==t&&i(e,r,{get:()=>n[r],enumerable:!(o=m(n,r))||o.enumerable});return e};var P=(e,n,t)=>(t=e!=null?R(g(e)):{},c(n||!e||!e.__esModule?i(t,"default",{value:e,enumerable:!0}):t,e)),k=e=>c(i({},"__esModule",{value:!0}),e);var h={};H(h,{Slot:()=>p});module.exports=k(h);var a=P(require("react"),1),f=require("./composeRefs.cjs"),d=require("./primitive.cjs");function l(...e){return e.filter(Boolean).join(" ")}function w(e){let n=e.props;return n&&"ref"in n&&n.ref!==void 0?n.ref:e.ref??void 0}function E(e,n){let t={...n};for(let o of Object.keys(e)){let r=e[o],s=n[o];/^on[A-Z]/.test(o)?r&&s?t[o]=(0,d.composeEventHandlers)(s,r):r&&(t[o]=r):o==="style"?t[o]={...r,...s}:o==="className"?t[o]=typeof s=="function"?(...u)=>l(r,s(...u)):l(r,s):t[o]=s!==void 0?s:r}return{...e,...t}}var p=a.forwardRef((e,n)=>{let{children:t,...o}=e;if(a.isValidElement(t)){let r=w(t),s=E(o,t.props);return t.type!==a.Fragment&&(s.ref=n?(0,f.composeRefs)(n,r):r),a.cloneElement(t,s)}if(a.Children.count(t)>1)throw new Error("[skandadx] Slot expects a single React element child.");return null});p.displayName="Slot";0&&(module.exports={Slot});
|
package/dist/utils/slot.d.cts
CHANGED
|
@@ -11,8 +11,10 @@ export interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
11
11
|
* Merges its own props (and ref) onto its single child element instead of
|
|
12
12
|
* rendering a DOM node of its own. This is what powers the `asChild` prop
|
|
13
13
|
* on every primitive: event handlers compose (both fire, yours first, and
|
|
14
|
-
* yours can `preventDefault()` to cancel ours), `className` concatenates
|
|
15
|
-
*
|
|
14
|
+
* yours can `preventDefault()` to cancel ours), `className` concatenates —
|
|
15
|
+
* including when the child's `className` is a function, as react-router's
|
|
16
|
+
* `NavLink` uses, in which case the merged value is itself a function — `style`
|
|
17
|
+
* merges, and every other prop is overridden by the child's own value.
|
|
16
18
|
*
|
|
17
19
|
* Throws if given anything other than exactly one React element child.
|
|
18
20
|
*
|
package/dist/utils/slot.d.ts
CHANGED
|
@@ -11,8 +11,10 @@ export interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
11
11
|
* Merges its own props (and ref) onto its single child element instead of
|
|
12
12
|
* rendering a DOM node of its own. This is what powers the `asChild` prop
|
|
13
13
|
* on every primitive: event handlers compose (both fire, yours first, and
|
|
14
|
-
* yours can `preventDefault()` to cancel ours), `className` concatenates
|
|
15
|
-
*
|
|
14
|
+
* yours can `preventDefault()` to cancel ours), `className` concatenates —
|
|
15
|
+
* including when the child's `className` is a function, as react-router's
|
|
16
|
+
* `NavLink` uses, in which case the merged value is itself a function — `style`
|
|
17
|
+
* merges, and every other prop is overridden by the child's own value.
|
|
16
18
|
*
|
|
17
19
|
* Throws if given anything other than exactly one React element child.
|
|
18
20
|
*
|
package/dist/utils/slot.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as a from"react";import{composeRefs as l}from"./composeRefs.js";import{composeEventHandlers as f}from"./primitive.js";function i(...o){return o.filter(Boolean).join(" ")}function d(o){let s=o.props;return s&&"ref"in s&&s.ref!==void 0?s.ref:o.ref??void 0}function p(o,s){let e={...s};for(let n of Object.keys(o)){let t=o[n],r=s[n];/^on[A-Z]/.test(n)?t&&r?e[n]=f(r,t):t&&(e[n]=t):n==="style"?e[n]={...t,...r}:n==="className"?e[n]=typeof r=="function"?(...c)=>i(t,r(...c)):i(t,r):e[n]=r!==void 0?r:t}return{...o,...e}}var u=a.forwardRef((o,s)=>{let{children:e,...n}=o;if(a.isValidElement(e)){let t=d(e),r=p(n,e.props);return e.type!==a.Fragment&&(r.ref=s?l(s,t):t),a.cloneElement(e,r)}if(a.Children.count(e)>1)throw new Error("[skandadx] Slot expects a single React element child.");return null});u.displayName="Slot";export{u as Slot};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skdx/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "Headless, accessible, unstyled React components for the SkandaDX design system",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -905,7 +905,7 @@
|
|
|
905
905
|
"tsup": "^8.5.1",
|
|
906
906
|
"typescript": "^6.0.3",
|
|
907
907
|
"vitest": "^4.1.10",
|
|
908
|
-
"@skdx/shared": "0.
|
|
908
|
+
"@skdx/shared": "0.27.0"
|
|
909
909
|
},
|
|
910
910
|
"scripts": {
|
|
911
911
|
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsup && tsc --emitDeclarationOnly -p tsconfig.build.json && node ../../scripts/declarations-cjs.mjs",
|