@skdx/react 0.35.0 → 0.37.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.
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var Ye=Object.create;var L=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var je=Object.getPrototypeOf,eo=Object.prototype.hasOwnProperty;var oo=(e,o)=>{for(var t in o)L(e,t,{get:o[t],enumerable:!0})},le=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of $e(o))!eo.call(e,n)&&n!==t&&L(e,n,{get:()=>o[n],enumerable:!(a=Ze(o,n))||a.enumerable});return e};var O=(e,o,t)=>(t=e!=null?Ye(je(e)):{},le(o||!e||!e.__esModule?L(t,"default",{value:e,enumerable:!0}):t,e)),to=e=>le(L({},"__esModule",{value:!0}),e);var lo={};oo(lo,{Dialog:()=>Q,DialogAction:()=>J,DialogCancel:()=>A,DialogClose:()=>w,DialogContent:()=>V,DialogDescription:()=>K,DialogOverlay:()=>G,DialogPortal:()=>_,DialogProvider:()=>we,DialogRoot:()=>oe,DialogStateProvider:()=>ee,DialogTitle:()=>q,DialogTrigger:()=>Ke,Dialogs:()=>ae,OverlayPortal:()=>Te,createDialogs:()=>ie.createDialogs,useDialogContext:()=>l,useDialogs:()=>te});module.exports=to(lo);var P=O(require("react"),1),Xe=require("../utils/createContext.cjs"),j=require("../utils/recipeAxis.cjs"),Ae=require("../utils/useControllableState.cjs"),Me=require("../utils/useOpenChangeComplete.cjs");var Ie=require("../utils/Glyph.cjs");var re=require("../utils/appearance.cjs"),se=require("../utils/part.cjs"),I=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime");function J({ref:e,...o}){let t=l("DialogAction"),{disabled:a=!1}=o;return(0,pe.jsx)(I.Primitive.button,{type:"button",...o,...(0,re.appearanceAttrs)({status:t.status},o),...(0,se.skdxPart)("dialog","action",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:(0,I.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}J.displayName="DialogAction";var me=require("../utils/part.cjs"),X=require("../utils/primitive.cjs");var ce=require("react/jsx-runtime");function A({ref:e,...o}){let t=l("DialogCancel"),{disabled:a=!1}=o;return(0,ce.jsx)(X.Primitive.button,{type:"button","data-skdx-dialog-cancel":"",...o,...(0,me.skdxPart)("dialog","cancel",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:(0,X.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}A.displayName="DialogCancel";var de=require("../utils/part.cjs"),M=require("../utils/primitive.cjs");var fe=require("react/jsx-runtime");function w({ref:e,...o}){let t=l("DialogClose");return(0,fe.jsx)(M.Primitive.button,{type:"button",...o,...(0,de.skdxPart)(t.family,"close",o.className),ref:e,onClick:(0,M.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}w.displayName="DialogClose";var z=O(require("react"),1),ge=require("../utils/appearance.cjs"),ue=require("../utils/composeRefs.cjs"),h=require("../utils/dismissal.cjs"),B=require("../utils/focus-targets.cjs"),De=require("../utils/part.cjs"),F=require("../utils/primitive.cjs"),ye=require("../utils/useBodyScrollLock.cjs"),T=require("../utils/useCallbackRef.cjs"),Ce=require("../utils/useDismiss.cjs");var Pe=require("react/jsx-runtime");function V({ref:e,initialFocus:o,finalFocus:t,onEscapeKeyDown:a,onPointerDownOutside:n,onFocusOutside:m,onInteractOutside:s,onOpenAutoFocus:u,onCloseAutoFocus:c,onCancel:R,onClose:d,onPointerDown:D,size:f,...y}){let i=l("DialogContent"),{open:C,modal:g,onOpenChange:E,contentRef:v}=i,b=v,_e=(0,ue.useComposedRefs)(e,b),qe=i.dismiss==="any"||i.dismiss==="escape",Z=i.dismiss==="any"||i.dismiss==="outside";(0,ye.useBodyScrollLock)(C&&g);let N=z.useRef(!1),H=(0,T.useCallbackRef)(()=>{N.current=!(0,h.autoFocusEvent)("close-auto-focus",c),b.current?.close?.()}),ne=(0,T.useCallbackRef)(()=>{let r=b.current;if(r)if(C&&!r.open){let x=document.activeElement;g?(0,h.focusOnOpen)(()=>r.showModal?.()):(0,h.focusOnOpen)(()=>r.show?.()),(0,B.applyOpenAutoFocus)(r,o,"Dialog",u,x)}else!C&&r.open&&H()});z.useEffect(()=>{ne()},[C,g,ne]),(0,Ce.useDismiss)({enabled:C,onInteractOutside:s,onPointerDownOutside:r=>{n?.(r),!r.defaultPrevented&&g&&Z&&H()},onFocusOutside:r=>{m?.(r),!r.defaultPrevented&&g&&Z&&H()}},[b,i.triggerRef]);let Qe=(0,T.useCallbackRef)(r=>{let x=r.nativeEvent;if(a?.(x),!qe){r.preventDefault();return}x.defaultPrevented||(N.current=!(0,h.autoFocusEvent)("close-auto-focus",c))}),Ue=(0,T.useCallbackRef)(()=>{N.current?(N.current=!1,document.activeElement?.blur?.()):(0,B.applyFinalFocus)(t,"Dialog"),E(!1)});function We(r){let x=(0,h.backdropPointerDown)(r.nativeEvent,r.currentTarget);x&&(s?.(x),n?.(x),!x.defaultPrevented&&g&&Z&&H())}return(0,Pe.jsx)("dialog",{role:i.role,"aria-modal":g||void 0,"aria-labelledby":i.hasTitle?i.titleId:void 0,"aria-describedby":i.hasDescription?i.descriptionId:void 0,id:i.contentId,"data-state":C?"open":"closed","data-dismiss":i.dismiss,...y,...(0,ge.appearanceAttrs)({size:f,status:i.status},y),...(0,De.skdxPart)("dialog","content",y.className),ref:_e,onCancel:(0,F.composeEventHandlers)(R,Qe),onClose:(0,F.composeEventHandlers)(d,Ue),onPointerDown:(0,F.composeEventHandlers)(D,We)})}V.displayName="DialogContent";var Re=O(require("react"),1),xe=require("../utils/part.cjs"),he=require("../utils/primitive.cjs");var ve=require("react/jsx-runtime");function K({ref:e,...o}){let t=l("DialogDescription"),{setHasDescription:a}=t;return Re.useEffect(()=>(a(!0),()=>a(!1)),[a]),(0,ve.jsx)(he.Primitive.p,{id:t.descriptionId,...o,...(0,xe.skdxPart)(t.family,"description",o.className),ref:e})}K.displayName="DialogDescription";var Ee=require("../utils/part.cjs"),be=require("../utils/primitive.cjs");var Se=require("react/jsx-runtime");function G({ref:e,forceMount:o,...t}){let a=l("DialogOverlay");return o||a.open?(0,Se.jsx)(be.Primitive.div,{"data-state":a.open?"open":"closed",...t,...(0,Ee.skdxPart)(a.family,"overlay",t.className),ref:e,style:{pointerEvents:a.modal&&a.open?"auto":"none",...t.style}}):null}G.displayName="DialogOverlay";var Oe=require("../utils/portal.cjs");var $=require("react/jsx-runtime"),Te=({forceMount:e,children:o,...t})=>{let a=l("Portal");return a.family==="dialog"||e||a.open?(0,$.jsx)(Oe.Portal,{...t,children:o}):null},_=({children:e,...o})=>(0,$.jsx)(Te,{...o,children:e});_.displayName="DialogPortal";var ke=O(require("react"),1),Ne=require("../utils/part.cjs"),He=require("../utils/primitive.cjs");var Le=require("react/jsx-runtime");function q({ref:e,...o}){let t=l("DialogTitle"),{setHasTitle:a}=t;return ke.useEffect(()=>(a(!0),()=>a(!1)),[a]),(0,Le.jsx)(He.Primitive.h2,{id:t.titleId,...o,...(0,Ne.skdxPart)(t.family,"title",o.className),ref:e})}q.displayName="DialogTitle";var p=require("react/jsx-runtime"),ao=()=>(0,p.jsx)(Ie.Glyph,{name:"close"}),Je=({size:e,title:o,description:t,footer:a,dismissible:n,role:m,confirmLabel:s,cancelLabel:u,onConfirm:c,onCancel:R,children:d,passThrough:D})=>{let f=m==="alertdialog",y=f?s??"Confirm":s,i=f?u??"Cancel":u;return(0,p.jsxs)(_,{children:[(0,p.jsx)(G,{}),(0,p.jsxs)(V,{...D,size:e,children:[o?(0,p.jsx)(q,{children:o}):null,t?(0,p.jsx)(K,{children:t}):null,d,a,i?(0,p.jsx)(A,{onClick:R,children:i}):null,y?(0,p.jsx)(J,{onClick:c,children:y}):null,n&&!f?(0,p.jsx)(w,{"aria-label":"Close",children:(0,p.jsx)(ao,{})}):null]})]})};var k=require("react/jsx-runtime"),[we,l]=(0,Xe.createSafeContext)("Dialog");function ee({children:e,family:o,open:t,defaultOpen:a=!1,onOpenChange:n,onOpenChangeComplete:m,modal:s,dismiss:u,role:c="dialog",status:R,placement:d="end"}){let D=P.useRef(null),f=P.useRef(null),[y,i]=P.useState(!1),[C,g]=P.useState(!1),[E=!1,v]=(0,Ae.useControllableState)({prop:t,defaultProp:a,onChange:n});return(0,Me.useOpenChangeComplete)(E,f,m),(0,k.jsx)(we,{family:o,triggerRef:D,contentRef:f,contentId:P.useId(),titleId:P.useId(),descriptionId:P.useId(),hasTitle:y,setHasTitle:i,hasDescription:C,setHasDescription:g,open:E,onOpenChange:v,modal:s,dismiss:u,role:c,status:R,placement:d,children:e})}ee.displayName="DialogStateProvider";var io={any:"escape",escape:"escape",outside:"none",none:"none"};function oe({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:n,modal:m=!0,dismiss:s="any",dismissible:u=!0,role:c="dialog",status:R}){let d=c==="alertdialog",D=d?io[s]:s;return u||(D="none"),(0,k.jsx)(ee,{family:"dialog",open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:n,modal:d||m,dismiss:D,role:c,status:R,children:e})}oe.displayName="DialogRoot";function Q({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:n,modal:m,dismiss:s,title:u,description:c,footer:R,dismissible:d=!0,size:D,role:f="dialog",status:y,confirmLabel:i,cancelLabel:C,onConfirm:g,onCancel:E,...v}){let b=(0,j.recipeAxis)(y,v,"data-status");return(0,k.jsx)(oe,{open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:n,modal:m,dismiss:s,dismissible:d,role:f,status:b,children:(0,k.jsx)(Je,{size:(0,j.recipeAxis)(D,v,"data-size"),title:u,description:c,footer:R,dismissible:d,role:f,confirmLabel:i,cancelLabel:C,onConfirm:g,onCancel:E,passThrough:v,children:e})})}Q.displayName="Dialog";var U=O(require("react"),1),Fe=require("../label/Label.cjs"),ze=require("../text-field/TextField.cjs"),W=require("../utils/dialogs.cjs");var ie=require("../utils/dialogs.cjs"),S=require("react/jsx-runtime");function te(e){return U.useSyncExternalStore(e.subscribe,e.getCurrent,e.getCurrent)}function no({entry:e,dialogs:o}){let[t,a]=U.useState(e.defaultValue??""),n=()=>o.settle(e.id,(0,W.dialogsCancelResult)(e));return(0,S.jsx)(Q,{open:!0,role:e.kind==="confirm"?"alertdialog":"dialog",title:e.title,description:e.description,status:e.status,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,"data-kind":e.kind,onConfirm:()=>o.settle(e.id,(0,W.dialogsConfirmResult)(e,t)),onCancel:n,onOpenChange:m=>{m||n()},children:e.kind==="prompt"?(0,S.jsxs)(Fe.Label,{style:{display:"grid",gap:"0.5rem"},children:[e.label??"Value",(0,S.jsx)(ze.TextField,{value:t,onValueChange:a,placeholder:e.placeholder})]}):null})}function ae({dialogs:e}){let o=te(e);return o?(0,S.jsx)(no,{entry:o,dialogs:e},o.id):null}ae.displayName="Dialogs";var Be=require("../utils/composeRefs.cjs"),Ve=require("../utils/part.cjs"),Y=require("../utils/primitive.cjs");var Ge=require("react/jsx-runtime");function Ke({ref:e,...o}){let t=l("DialogTrigger"),a=(0,Be.useComposedRefs)(e,t.triggerRef);return(0,Ge.jsx)(Y.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed",...o,...(0,Ve.skdxPart)(t.family,"trigger",o.className),ref:a,onClick:(0,Y.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!0))})}Ke.displayName="DialogTrigger";0&&(module.exports={Dialog,DialogAction,DialogCancel,DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogProvider,DialogRoot,DialogStateProvider,DialogTitle,DialogTrigger,Dialogs,OverlayPortal,createDialogs,useDialogContext,useDialogs});
2
+ "use strict";var $e=Object.create;var I=Object.defineProperty;var je=Object.getOwnPropertyDescriptor;var eo=Object.getOwnPropertyNames;var oo=Object.getPrototypeOf,to=Object.prototype.hasOwnProperty;var ao=(e,o)=>{for(var t in o)I(e,t,{get:o[t],enumerable:!0})},le=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let l of eo(o))!to.call(e,l)&&l!==t&&I(e,l,{get:()=>o[l],enumerable:!(a=je(o,l))||a.enumerable});return e};var T=(e,o,t)=>(t=e!=null?$e(oo(e)):{},le(o||!e||!e.__esModule?I(t,"default",{value:e,enumerable:!0}):t,e)),io=e=>le(I({},"__esModule",{value:!0}),e);var so={};ao(so,{Dialog:()=>q,DialogAction:()=>M,DialogCancel:()=>w,DialogClose:()=>F,DialogContent:()=>B,DialogDescription:()=>V,DialogOverlay:()=>G,DialogPortal:()=>W,DialogProvider:()=>Fe,DialogRoot:()=>oe,DialogStateProvider:()=>ee,DialogTitle:()=>_,DialogTrigger:()=>Ge,Dialogs:()=>ae,OverlayPortal:()=>ke,createDialogs:()=>ie.createDialogs,useDialogContext:()=>r,useDialogs:()=>te});module.exports=io(so);var R=T(require("react"),1),Xe=require("../utils/createContext.cjs"),j=require("../utils/recipeAxis.cjs"),we=require("../utils/useControllableState.cjs"),Ae=require("../utils/useOpenChangeComplete.cjs");var Je=require("../utils/Glyph.cjs");var re=require("../utils/appearance.cjs"),se=require("../utils/part.cjs"),J=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime");function M({ref:e,...o}){let t=r("DialogAction"),{disabled:a=!1}=o;return(0,pe.jsx)(J.Primitive.button,{type:"button",...o,...(0,re.appearanceAttrs)({status:t.status},o),...(0,se.skdxPart)("dialog","action",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:(0,J.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}M.displayName="DialogAction";var me=require("../utils/part.cjs"),X=require("../utils/primitive.cjs");var ce=require("react/jsx-runtime");function w({ref:e,...o}){let t=r("DialogCancel"),{disabled:a=!1}=o;return(0,ce.jsx)(X.Primitive.button,{type:"button","data-skdx-dialog-cancel":"",...o,...(0,me.skdxPart)("dialog","cancel",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:(0,X.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}w.displayName="DialogCancel";var de=require("../utils/part.cjs"),A=require("../utils/primitive.cjs");var fe=require("react/jsx-runtime");function F({ref:e,...o}){let t=r("DialogClose");return(0,fe.jsx)(A.Primitive.button,{type:"button",...o,...(0,de.skdxPart)(t.family,"close",o.className),ref:e,onClick:(0,A.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!1))})}F.displayName="DialogClose";var K=T(require("react"),1),ge=require("../utils/appearance.cjs"),ue=require("../utils/composeRefs.cjs"),v=require("../utils/dismissal.cjs"),z=require("../utils/focus-targets.cjs"),De=require("../utils/part.cjs"),O=require("../utils/primitive.cjs"),ye=require("../utils/tabbable.cjs"),Ce=require("../utils/useBodyScrollLock.cjs"),k=require("../utils/useCallbackRef.cjs"),Re=require("../utils/useDismiss.cjs");var Pe=require("react/jsx-runtime");function B({ref:e,initialFocus:o,finalFocus:t,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:s,onOpenAutoFocus:D,onCloseAutoFocus:d,onCancel:P,onClose:f,onPointerDown:y,size:g,...u}){let i=r("DialogContent"),{open:C,modal:p,onOpenChange:E,contentRef:h}=i,b=h,_e=(0,ue.useComposedRefs)(e,b),qe=i.dismiss==="any"||i.dismiss==="escape",Z=i.dismiss==="any"||i.dismiss==="outside";(0,Ce.useBodyScrollLock)(C&&p);let H=K.useRef(!1),L=(0,k.useCallbackRef)(()=>{H.current=!(0,v.autoFocusEvent)("close-auto-focus",d),b.current?.close?.()}),ne=(0,k.useCallbackRef)(()=>{let n=b.current;if(n)if(C&&!n.open){let x=document.activeElement;p?(0,v.focusOnOpen)(()=>n.showModal?.()):(0,v.focusOnOpen)(()=>n.show?.()),(0,z.applyOpenAutoFocus)(n,o,"Dialog",D,x)}else!C&&n.open&&L()});K.useEffect(()=>{ne()},[C,p,ne]),(0,Re.useDismiss)({enabled:C,onInteractOutside:s,onPointerDownOutside:n=>{l?.(n),!n.defaultPrevented&&p&&Z&&L()},onFocusOutside:n=>{c?.(n),!n.defaultPrevented&&p&&Z&&L()}},[b,i.triggerRef]);let Qe=(0,k.useCallbackRef)(n=>{let x=n.nativeEvent;if(a?.(x),!qe){n.preventDefault();return}x.defaultPrevented||(H.current=!(0,v.autoFocusEvent)("close-auto-focus",d))}),Ue=(0,k.useCallbackRef)(()=>{H.current?(H.current=!1,document.activeElement?.blur?.()):(0,z.applyFinalFocus)(t,"Dialog"),E(!1)});function Ye(n){p&&(0,ye.wrapTabWithin)(n.currentTarget,n.nativeEvent)}function Ze(n){let x=(0,v.backdropPointerDown)(n.nativeEvent,n.currentTarget);x&&(s?.(x),l?.(x),!x.defaultPrevented&&p&&Z&&L())}return(0,Pe.jsx)("dialog",{role:i.role,"aria-modal":p||void 0,"aria-labelledby":i.hasTitle?i.titleId:void 0,"aria-describedby":i.hasDescription?i.descriptionId:void 0,id:i.contentId,"data-state":C?"open":"closed","data-dismiss":i.dismiss,...u,...(0,ge.appearanceAttrs)({size:g,status:i.status},u),...(0,De.skdxPart)("dialog","content",u.className),ref:_e,onCancel:(0,O.composeEventHandlers)(P,Qe),onClose:(0,O.composeEventHandlers)(f,Ue),onPointerDown:(0,O.composeEventHandlers)(y,Ze),onKeyDown:(0,O.composeEventHandlers)(u.onKeyDown,Ye)})}B.displayName="DialogContent";var xe=T(require("react"),1),ve=require("../utils/part.cjs"),he=require("../utils/primitive.cjs");var Ee=require("react/jsx-runtime");function V({ref:e,...o}){let t=r("DialogDescription"),{setHasDescription:a}=t;return xe.useEffect(()=>(a(!0),()=>a(!1)),[a]),(0,Ee.jsx)(he.Primitive.p,{id:t.descriptionId,...o,...(0,ve.skdxPart)(t.family,"description",o.className),ref:e})}V.displayName="DialogDescription";var be=require("../utils/part.cjs"),Se=require("../utils/primitive.cjs");var Te=require("react/jsx-runtime");function G({ref:e,forceMount:o,...t}){let a=r("DialogOverlay");return o||a.open?(0,Te.jsx)(Se.Primitive.div,{"data-state":a.open?"open":"closed",...t,...(0,be.skdxPart)(a.family,"overlay",t.className),ref:e,style:{pointerEvents:a.modal&&a.open?"auto":"none",...t.style}}):null}G.displayName="DialogOverlay";var Oe=require("../utils/portal.cjs");var $=require("react/jsx-runtime"),ke=({forceMount:e,children:o,...t})=>{let a=r("Portal");return a.family==="dialog"||e||a.open?(0,$.jsx)(Oe.Portal,{...t,children:o}):null},W=({children:e,...o})=>(0,$.jsx)(ke,{...o,children:e});W.displayName="DialogPortal";var Ne=T(require("react"),1),He=require("../utils/part.cjs"),Le=require("../utils/primitive.cjs");var Ie=require("react/jsx-runtime");function _({ref:e,...o}){let t=r("DialogTitle"),{setHasTitle:a}=t;return Ne.useEffect(()=>(a(!0),()=>a(!1)),[a]),(0,Ie.jsx)(Le.Primitive.h2,{id:t.titleId,...o,...(0,He.skdxPart)(t.family,"title",o.className),ref:e})}_.displayName="DialogTitle";var m=require("react/jsx-runtime"),no=()=>(0,m.jsx)(Je.Glyph,{name:"close"}),Me=({size:e,title:o,description:t,footer:a,dismissible:l,role:c,confirmLabel:s,cancelLabel:D,onConfirm:d,onCancel:P,children:f,passThrough:y})=>{let g=c==="alertdialog",u=g?s??"Confirm":s,i=g?D??"Cancel":D;return(0,m.jsxs)(W,{children:[(0,m.jsx)(G,{}),(0,m.jsxs)(B,{...y,size:e,children:[o?(0,m.jsx)(_,{children:o}):null,t?(0,m.jsx)(V,{children:t}):null,f,a,i?(0,m.jsx)(w,{onClick:P,children:i}):null,u?(0,m.jsx)(M,{onClick:d,children:u}):null,l&&!g?(0,m.jsx)(F,{"aria-label":"Close",children:(0,m.jsx)(no,{})}):null]})]})};var N=require("react/jsx-runtime"),[Fe,r]=(0,Xe.createSafeContext)("Dialog");function ee({children:e,family:o,open:t,defaultOpen:a=!1,onOpenChange:l,onOpenChangeComplete:c,modal:s,dismiss:D,role:d="dialog",status:P,placement:f="end"}){let y=R.useRef(null),g=R.useRef(null),[u,i]=R.useState(!1),[C,p]=R.useState(!1),[E=!1,h]=(0,we.useControllableState)({prop:t,defaultProp:a,onChange:l});return(0,Ae.useOpenChangeComplete)(E,g,c),(0,N.jsx)(Fe,{family:o,triggerRef:y,contentRef:g,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),hasTitle:u,setHasTitle:i,hasDescription:C,setHasDescription:p,open:E,onOpenChange:h,modal:s,dismiss:D,role:d,status:P,placement:f,children:e})}ee.displayName="DialogStateProvider";var lo={any:"escape",escape:"escape",outside:"none",none:"none"};function oe({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:l,modal:c=!0,dismiss:s="any",dismissible:D=!0,role:d="dialog",status:P}){let f=d==="alertdialog",y=f?lo[s]:s;return D||(y="none"),(0,N.jsx)(ee,{family:"dialog",open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:l,modal:f||c,dismiss:y,role:d,status:P,children:e})}oe.displayName="DialogRoot";function q({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:l,modal:c,dismiss:s,title:D,description:d,footer:P,dismissible:f=!0,size:y,role:g="dialog",status:u,confirmLabel:i,cancelLabel:C,onConfirm:p,onCancel:E,...h}){let b=(0,j.recipeAxis)(u,h,"data-status");return(0,N.jsx)(oe,{open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:l,modal:c,dismiss:s,dismissible:f,role:g,status:b,children:(0,N.jsx)(Me,{size:(0,j.recipeAxis)(y,h,"data-size"),title:D,description:d,footer:P,dismissible:f,role:g,confirmLabel:i,cancelLabel:C,onConfirm:p,onCancel:E,passThrough:h,children:e})})}q.displayName="Dialog";var Q=T(require("react"),1),Ke=require("../label/Label.cjs"),ze=require("../text-field/TextField.cjs"),U=require("../utils/dialogs.cjs");var ie=require("../utils/dialogs.cjs"),S=require("react/jsx-runtime");function te(e){return Q.useSyncExternalStore(e.subscribe,e.getCurrent,e.getCurrent)}function ro({entry:e,dialogs:o}){let[t,a]=Q.useState(e.defaultValue??""),l=()=>o.settle(e.id,(0,U.dialogsCancelResult)(e));return(0,S.jsx)(q,{open:!0,role:e.kind==="confirm"?"alertdialog":"dialog",title:e.title,description:e.description,status:e.status,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,"data-kind":e.kind,onConfirm:()=>o.settle(e.id,(0,U.dialogsConfirmResult)(e,t)),onCancel:l,onOpenChange:c=>{c||l()},children:e.kind==="prompt"?(0,S.jsxs)(Ke.Label,{style:{display:"grid",gap:"0.5rem"},children:[e.label??"Value",(0,S.jsx)(ze.TextField,{value:t,onValueChange:a,placeholder:e.placeholder})]}):null})}function ae({dialogs:e}){let o=te(e);return o?(0,S.jsx)(ro,{entry:o,dialogs:e},o.id):null}ae.displayName="Dialogs";var Be=require("../utils/composeRefs.cjs"),Ve=require("../utils/part.cjs"),Y=require("../utils/primitive.cjs");var We=require("react/jsx-runtime");function Ge({ref:e,...o}){let t=r("DialogTrigger"),a=(0,Be.useComposedRefs)(e,t.triggerRef);return(0,We.jsx)(Y.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed",...o,...(0,Ve.skdxPart)(t.family,"trigger",o.className),ref:a,onClick:(0,Y.composeEventHandlers)(o.onClick,()=>t.onOpenChange(!0))})}Ge.displayName="DialogTrigger";0&&(module.exports={Dialog,DialogAction,DialogCancel,DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogProvider,DialogRoot,DialogStateProvider,DialogTitle,DialogTrigger,Dialogs,OverlayPortal,createDialogs,useDialogContext,useDialogs});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import*as C from"react";import{createSafeContext as Ve}from"../utils/createContext.js";import{recipeAxis as Z}from"../utils/recipeAxis.js";import{useControllableState as Ke}from"../utils/useControllableState.js";import{useOpenChangeComplete as Ge}from"../utils/useOpenChangeComplete.js";import{Glyph as ze}from"../utils/Glyph.js";import{appearanceAttrs as re}from"../utils/appearance.js";import{skdxPart as se}from"../utils/part.js";import{composeEventHandlers as pe,Primitive as me}from"../utils/primitive.js";import{jsx as ce}from"react/jsx-runtime";function L({ref:e,...o}){let t=l("DialogAction"),{disabled:a=!1}=o;return ce(me.button,{type:"button",...o,...re({status:t.status},o),...se("dialog","action",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:pe(o.onClick,()=>t.onOpenChange(!1))})}L.displayName="DialogAction";import{skdxPart as de}from"../utils/part.js";import{composeEventHandlers as fe,Primitive as ge}from"../utils/primitive.js";import{jsx as ue}from"react/jsx-runtime";function I({ref:e,...o}){let t=l("DialogCancel"),{disabled:a=!1}=o;return ue(ge.button,{type:"button","data-skdx-dialog-cancel":"",...o,...de("dialog","cancel",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:fe(o.onClick,()=>t.onOpenChange(!1))})}I.displayName="DialogCancel";import{skdxPart as De}from"../utils/part.js";import{composeEventHandlers as ye,Primitive as Ce}from"../utils/primitive.js";import{jsx as Pe}from"react/jsx-runtime";function J({ref:e,...o}){let t=l("DialogClose");return Pe(Ce.button,{type:"button",...o,...De(t.family,"close",o.className),ref:e,onClick:ye(o.onClick,()=>t.onOpenChange(!1))})}J.displayName="DialogClose";import*as T from"react";import{appearanceAttrs as Re}from"../utils/appearance.js";import{useComposedRefs as xe}from"../utils/composeRefs.js";import{autoFocusEvent as G,backdropPointerDown as he,focusOnOpen as _}from"../utils/dismissal.js";import{applyFinalFocus as ve,applyOpenAutoFocus as Ee}from"../utils/focus-targets.js";import{skdxPart as be}from"../utils/part.js";import{composeEventHandlers as X}from"../utils/primitive.js";import{useBodyScrollLock as Se}from"../utils/useBodyScrollLock.js";import{useCallbackRef as O}from"../utils/useCallbackRef.js";import{useDismiss as Oe}from"../utils/useDismiss.js";import{jsx as Te}from"react/jsx-runtime";function A({ref:e,initialFocus:o,finalFocus:t,onEscapeKeyDown:a,onPointerDownOutside:r,onFocusOutside:p,onInteractOutside:s,onOpenAutoFocus:g,onCloseAutoFocus:m,onCancel:P,onClose:c,onPointerDown:u,size:d,...D}){let i=l("DialogContent"),{open:y,modal:f,onOpenChange:v,contentRef:h}=i,E=h,te=xe(e,E),ae=i.dismiss==="any"||i.dismiss==="escape",H=i.dismiss==="any"||i.dismiss==="outside";Se(y&&f);let b=T.useRef(!1),S=O(()=>{b.current=!G("close-auto-focus",m),E.current?.close?.()}),K=O(()=>{let n=E.current;if(n)if(y&&!n.open){let R=document.activeElement;f?_(()=>n.showModal?.()):_(()=>n.show?.()),Ee(n,o,"Dialog",g,R)}else!y&&n.open&&S()});T.useEffect(()=>{K()},[y,f,K]),Oe({enabled:y,onInteractOutside:s,onPointerDownOutside:n=>{r?.(n),!n.defaultPrevented&&f&&H&&S()},onFocusOutside:n=>{p?.(n),!n.defaultPrevented&&f&&H&&S()}},[E,i.triggerRef]);let ie=O(n=>{let R=n.nativeEvent;if(a?.(R),!ae){n.preventDefault();return}R.defaultPrevented||(b.current=!G("close-auto-focus",m))}),ne=O(()=>{b.current?(b.current=!1,document.activeElement?.blur?.()):ve(t,"Dialog"),v(!1)});function le(n){let R=he(n.nativeEvent,n.currentTarget);R&&(s?.(R),r?.(R),!R.defaultPrevented&&f&&H&&S())}return Te("dialog",{role:i.role,"aria-modal":f||void 0,"aria-labelledby":i.hasTitle?i.titleId:void 0,"aria-describedby":i.hasDescription?i.descriptionId:void 0,id:i.contentId,"data-state":y?"open":"closed","data-dismiss":i.dismiss,...D,...Re({size:d,status:i.status},D),...be("dialog","content",D.className),ref:te,onCancel:X(P,ie),onClose:X(c,ne),onPointerDown:X(u,le)})}A.displayName="DialogContent";import*as q from"react";import{skdxPart as ke}from"../utils/part.js";import{Primitive as Ne}from"../utils/primitive.js";import{jsx as He}from"react/jsx-runtime";function M({ref:e,...o}){let t=l("DialogDescription"),{setHasDescription:a}=t;return q.useEffect(()=>(a(!0),()=>a(!1)),[a]),He(Ne.p,{id:t.descriptionId,...o,...ke(t.family,"description",o.className),ref:e})}M.displayName="DialogDescription";import{skdxPart as Le}from"../utils/part.js";import{Primitive as Ie}from"../utils/primitive.js";import{jsx as Je}from"react/jsx-runtime";function w({ref:e,forceMount:o,...t}){let a=l("DialogOverlay");return o||a.open?Je(Ie.div,{"data-state":a.open?"open":"closed",...t,...Le(a.family,"overlay",t.className),ref:e,style:{pointerEvents:a.modal&&a.open?"auto":"none",...t.style}}):null}w.displayName="DialogOverlay";import{Portal as Xe}from"../utils/portal.js";import{jsx as Q}from"react/jsx-runtime";var Ae=({forceMount:e,children:o,...t})=>{let a=l("Portal");return a.family==="dialog"||e||a.open?Q(Xe,{...t,children:o}):null},F=({children:e,...o})=>Q(Ae,{...o,children:e});F.displayName="DialogPortal";import*as U from"react";import{skdxPart as Me}from"../utils/part.js";import{Primitive as we}from"../utils/primitive.js";import{jsx as Fe}from"react/jsx-runtime";function z({ref:e,...o}){let t=l("DialogTitle"),{setHasTitle:a}=t;return U.useEffect(()=>(a(!0),()=>a(!1)),[a]),Fe(we.h2,{id:t.titleId,...o,...Me(t.family,"title",o.className),ref:e})}z.displayName="DialogTitle";import{jsx as x,jsxs as W}from"react/jsx-runtime";var Be=()=>x(ze,{name:"close"}),Y=({size:e,title:o,description:t,footer:a,dismissible:r,role:p,confirmLabel:s,cancelLabel:g,onConfirm:m,onCancel:P,children:c,passThrough:u})=>{let d=p==="alertdialog",D=d?s??"Confirm":s,i=d?g??"Cancel":g;return W(F,{children:[x(w,{}),W(A,{...u,size:e,children:[o?x(z,{children:o}):null,t?x(M,{children:t}):null,c,a,i?x(I,{onClick:P,children:i}):null,D?x(L,{onClick:m,children:D}):null,r&&!d?x(J,{"aria-label":"Close",children:x(Be,{})}):null]})]})};import{jsx as k}from"react/jsx-runtime";var[_e,l]=Ve("Dialog");function $({children:e,family:o,open:t,defaultOpen:a=!1,onOpenChange:r,onOpenChangeComplete:p,modal:s,dismiss:g,role:m="dialog",status:P,placement:c="end"}){let u=C.useRef(null),d=C.useRef(null),[D,i]=C.useState(!1),[y,f]=C.useState(!1),[v=!1,h]=Ke({prop:t,defaultProp:a,onChange:r});return Ge(v,d,p),k(_e,{family:o,triggerRef:u,contentRef:d,contentId:C.useId(),titleId:C.useId(),descriptionId:C.useId(),hasTitle:D,setHasTitle:i,hasDescription:y,setHasDescription:f,open:v,onOpenChange:h,modal:s,dismiss:g,role:m,status:P,placement:c,children:e})}$.displayName="DialogStateProvider";var qe={any:"escape",escape:"escape",outside:"none",none:"none"};function j({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:p=!0,dismiss:s="any",dismissible:g=!0,role:m="dialog",status:P}){let c=m==="alertdialog",u=c?qe[s]:s;return g||(u="none"),k($,{family:"dialog",open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:c||p,dismiss:u,role:m,status:P,children:e})}j.displayName="DialogRoot";function B({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:p,dismiss:s,title:g,description:m,footer:P,dismissible:c=!0,size:u,role:d="dialog",status:D,confirmLabel:i,cancelLabel:y,onConfirm:f,onCancel:v,...h}){let E=Z(D,h,"data-status");return k(j,{open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:p,dismiss:s,dismissible:c,role:d,status:E,children:k(Y,{size:Z(u,h,"data-size"),title:g,description:m,footer:P,dismissible:c,role:d,confirmLabel:i,cancelLabel:y,onConfirm:f,onCancel:v,passThrough:h,children:e})})}B.displayName="Dialog";import*as N from"react";import{Label as Qe}from"../label/Label.js";import{TextField as Ue}from"../text-field/TextField.js";import{dialogsCancelResult as We,dialogsConfirmResult as Ye}from"../utils/dialogs.js";import{createDialogs as $e}from"../utils/dialogs.js";import{jsx as V,jsxs as je}from"react/jsx-runtime";function ee(e){return N.useSyncExternalStore(e.subscribe,e.getCurrent,e.getCurrent)}function Ze({entry:e,dialogs:o}){let[t,a]=N.useState(e.defaultValue??""),r=()=>o.settle(e.id,We(e));return V(B,{open:!0,role:e.kind==="confirm"?"alertdialog":"dialog",title:e.title,description:e.description,status:e.status,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,"data-kind":e.kind,onConfirm:()=>o.settle(e.id,Ye(e,t)),onCancel:r,onOpenChange:p=>{p||r()},children:e.kind==="prompt"?je(Qe,{style:{display:"grid",gap:"0.5rem"},children:[e.label??"Value",V(Ue,{value:t,onValueChange:a,placeholder:e.placeholder})]}):null})}function oe({dialogs:e}){let o=ee(e);return o?V(Ze,{entry:o,dialogs:e},o.id):null}oe.displayName="Dialogs";import{useComposedRefs as eo}from"../utils/composeRefs.js";import{skdxPart as oo}from"../utils/part.js";import{composeEventHandlers as to,Primitive as ao}from"../utils/primitive.js";import{jsx as no}from"react/jsx-runtime";function io({ref:e,...o}){let t=l("DialogTrigger"),a=eo(e,t.triggerRef);return no(ao.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed",...o,...oo(t.family,"trigger",o.className),ref:a,onClick:to(o.onClick,()=>t.onOpenChange(!0))})}io.displayName="DialogTrigger";export{B as Dialog,L as DialogAction,I as DialogCancel,J as DialogClose,A as DialogContent,M as DialogDescription,w as DialogOverlay,F as DialogPortal,_e as DialogProvider,j as DialogRoot,$ as DialogStateProvider,z as DialogTitle,io as DialogTrigger,oe as Dialogs,Ae as OverlayPortal,$e as createDialogs,l as useDialogContext,ee as useDialogs};
2
+ import*as C from"react";import{createSafeContext as Ge}from"../utils/createContext.js";import{recipeAxis as Z}from"../utils/recipeAxis.js";import{useControllableState as We}from"../utils/useControllableState.js";import{useOpenChangeComplete as _e}from"../utils/useOpenChangeComplete.js";import{Glyph as Be}from"../utils/Glyph.js";import{appearanceAttrs as se}from"../utils/appearance.js";import{skdxPart as pe}from"../utils/part.js";import{composeEventHandlers as me,Primitive as ce}from"../utils/primitive.js";import{jsx as de}from"react/jsx-runtime";function I({ref:e,...o}){let t=l("DialogAction"),{disabled:a=!1}=o;return de(ce.button,{type:"button",...o,...se({status:t.status},o),...pe("dialog","action",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:me(o.onClick,()=>t.onOpenChange(!1))})}I.displayName="DialogAction";import{skdxPart as fe}from"../utils/part.js";import{composeEventHandlers as ge,Primitive as ue}from"../utils/primitive.js";import{jsx as De}from"react/jsx-runtime";function J({ref:e,...o}){let t=l("DialogCancel"),{disabled:a=!1}=o;return De(ue.button,{type:"button","data-skdx-dialog-cancel":"",...o,...fe("dialog","cancel",o.className),ref:e,disabled:a,"data-disabled":a?"":void 0,onClick:ge(o.onClick,()=>t.onOpenChange(!1))})}J.displayName="DialogCancel";import{skdxPart as ye}from"../utils/part.js";import{composeEventHandlers as Ce,Primitive as Re}from"../utils/primitive.js";import{jsx as Pe}from"react/jsx-runtime";function M({ref:e,...o}){let t=l("DialogClose");return Pe(Re.button,{type:"button",...o,...ye(t.family,"close",o.className),ref:e,onClick:Ce(o.onClick,()=>t.onOpenChange(!1))})}M.displayName="DialogClose";import*as k from"react";import{appearanceAttrs as xe}from"../utils/appearance.js";import{useComposedRefs as ve}from"../utils/composeRefs.js";import{autoFocusEvent as G,backdropPointerDown as he,focusOnOpen as W}from"../utils/dismissal.js";import{applyFinalFocus as Ee,applyOpenAutoFocus as be}from"../utils/focus-targets.js";import{skdxPart as Se}from"../utils/part.js";import{composeEventHandlers as T}from"../utils/primitive.js";import{wrapTabWithin as Te}from"../utils/tabbable.js";import{useBodyScrollLock as Oe}from"../utils/useBodyScrollLock.js";import{useCallbackRef as O}from"../utils/useCallbackRef.js";import{useDismiss as ke}from"../utils/useDismiss.js";import{jsx as Ne}from"react/jsx-runtime";function X({ref:e,initialFocus:o,finalFocus:t,onEscapeKeyDown:a,onPointerDownOutside:r,onFocusOutside:m,onInteractOutside:s,onOpenAutoFocus:u,onCloseAutoFocus:c,onCancel:R,onClose:d,onPointerDown:D,size:f,...g}){let i=l("DialogContent"),{open:y,modal:p,onOpenChange:h,contentRef:v}=i,E=v,te=ve(e,E),ae=i.dismiss==="any"||i.dismiss==="escape",L=i.dismiss==="any"||i.dismiss==="outside";Oe(y&&p);let b=k.useRef(!1),S=O(()=>{b.current=!G("close-auto-focus",c),E.current?.close?.()}),V=O(()=>{let n=E.current;if(n)if(y&&!n.open){let P=document.activeElement;p?W(()=>n.showModal?.()):W(()=>n.show?.()),be(n,o,"Dialog",u,P)}else!y&&n.open&&S()});k.useEffect(()=>{V()},[y,p,V]),ke({enabled:y,onInteractOutside:s,onPointerDownOutside:n=>{r?.(n),!n.defaultPrevented&&p&&L&&S()},onFocusOutside:n=>{m?.(n),!n.defaultPrevented&&p&&L&&S()}},[E,i.triggerRef]);let ie=O(n=>{let P=n.nativeEvent;if(a?.(P),!ae){n.preventDefault();return}P.defaultPrevented||(b.current=!G("close-auto-focus",c))}),ne=O(()=>{b.current?(b.current=!1,document.activeElement?.blur?.()):Ee(t,"Dialog"),h(!1)});function le(n){p&&Te(n.currentTarget,n.nativeEvent)}function re(n){let P=he(n.nativeEvent,n.currentTarget);P&&(s?.(P),r?.(P),!P.defaultPrevented&&p&&L&&S())}return Ne("dialog",{role:i.role,"aria-modal":p||void 0,"aria-labelledby":i.hasTitle?i.titleId:void 0,"aria-describedby":i.hasDescription?i.descriptionId:void 0,id:i.contentId,"data-state":y?"open":"closed","data-dismiss":i.dismiss,...g,...xe({size:f,status:i.status},g),...Se("dialog","content",g.className),ref:te,onCancel:T(R,ie),onClose:T(d,ne),onPointerDown:T(D,re),onKeyDown:T(g.onKeyDown,le)})}X.displayName="DialogContent";import*as _ from"react";import{skdxPart as He}from"../utils/part.js";import{Primitive as Le}from"../utils/primitive.js";import{jsx as Ie}from"react/jsx-runtime";function w({ref:e,...o}){let t=l("DialogDescription"),{setHasDescription:a}=t;return _.useEffect(()=>(a(!0),()=>a(!1)),[a]),Ie(Le.p,{id:t.descriptionId,...o,...He(t.family,"description",o.className),ref:e})}w.displayName="DialogDescription";import{skdxPart as Je}from"../utils/part.js";import{Primitive as Me}from"../utils/primitive.js";import{jsx as Xe}from"react/jsx-runtime";function A({ref:e,forceMount:o,...t}){let a=l("DialogOverlay");return o||a.open?Xe(Me.div,{"data-state":a.open?"open":"closed",...t,...Je(a.family,"overlay",t.className),ref:e,style:{pointerEvents:a.modal&&a.open?"auto":"none",...t.style}}):null}A.displayName="DialogOverlay";import{Portal as we}from"../utils/portal.js";import{jsx as q}from"react/jsx-runtime";var Ae=({forceMount:e,children:o,...t})=>{let a=l("Portal");return a.family==="dialog"||e||a.open?q(we,{...t,children:o}):null},F=({children:e,...o})=>q(Ae,{...o,children:e});F.displayName="DialogPortal";import*as Q from"react";import{skdxPart as Fe}from"../utils/part.js";import{Primitive as Ke}from"../utils/primitive.js";import{jsx as ze}from"react/jsx-runtime";function K({ref:e,...o}){let t=l("DialogTitle"),{setHasTitle:a}=t;return Q.useEffect(()=>(a(!0),()=>a(!1)),[a]),ze(Ke.h2,{id:t.titleId,...o,...Fe(t.family,"title",o.className),ref:e})}K.displayName="DialogTitle";import{jsx as x,jsxs as U}from"react/jsx-runtime";var Ve=()=>x(Be,{name:"close"}),Y=({size:e,title:o,description:t,footer:a,dismissible:r,role:m,confirmLabel:s,cancelLabel:u,onConfirm:c,onCancel:R,children:d,passThrough:D})=>{let f=m==="alertdialog",g=f?s??"Confirm":s,i=f?u??"Cancel":u;return U(F,{children:[x(A,{}),U(X,{...D,size:e,children:[o?x(K,{children:o}):null,t?x(w,{children:t}):null,d,a,i?x(J,{onClick:R,children:i}):null,g?x(I,{onClick:c,children:g}):null,r&&!f?x(M,{"aria-label":"Close",children:x(Ve,{})}):null]})]})};import{jsx as N}from"react/jsx-runtime";var[qe,l]=Ge("Dialog");function $({children:e,family:o,open:t,defaultOpen:a=!1,onOpenChange:r,onOpenChangeComplete:m,modal:s,dismiss:u,role:c="dialog",status:R,placement:d="end"}){let D=C.useRef(null),f=C.useRef(null),[g,i]=C.useState(!1),[y,p]=C.useState(!1),[h=!1,v]=We({prop:t,defaultProp:a,onChange:r});return _e(h,f,m),N(qe,{family:o,triggerRef:D,contentRef:f,contentId:C.useId(),titleId:C.useId(),descriptionId:C.useId(),hasTitle:g,setHasTitle:i,hasDescription:y,setHasDescription:p,open:h,onOpenChange:v,modal:s,dismiss:u,role:c,status:R,placement:d,children:e})}$.displayName="DialogStateProvider";var Qe={any:"escape",escape:"escape",outside:"none",none:"none"};function j({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:m=!0,dismiss:s="any",dismissible:u=!0,role:c="dialog",status:R}){let d=c==="alertdialog",D=d?Qe[s]:s;return u||(D="none"),N($,{family:"dialog",open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:d||m,dismiss:D,role:c,status:R,children:e})}j.displayName="DialogRoot";function z({children:e,open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:m,dismiss:s,title:u,description:c,footer:R,dismissible:d=!0,size:D,role:f="dialog",status:g,confirmLabel:i,cancelLabel:y,onConfirm:p,onCancel:h,...v}){let E=Z(g,v,"data-status");return N(j,{open:o,defaultOpen:t,onOpenChange:a,onOpenChangeComplete:r,modal:m,dismiss:s,dismissible:d,role:f,status:E,children:N(Y,{size:Z(D,v,"data-size"),title:u,description:c,footer:R,dismissible:d,role:f,confirmLabel:i,cancelLabel:y,onConfirm:p,onCancel:h,passThrough:v,children:e})})}z.displayName="Dialog";import*as H from"react";import{Label as Ue}from"../label/Label.js";import{TextField as Ye}from"../text-field/TextField.js";import{dialogsCancelResult as Ze,dialogsConfirmResult as $e}from"../utils/dialogs.js";import{createDialogs as eo}from"../utils/dialogs.js";import{jsx as B,jsxs as oo}from"react/jsx-runtime";function ee(e){return H.useSyncExternalStore(e.subscribe,e.getCurrent,e.getCurrent)}function je({entry:e,dialogs:o}){let[t,a]=H.useState(e.defaultValue??""),r=()=>o.settle(e.id,Ze(e));return B(z,{open:!0,role:e.kind==="confirm"?"alertdialog":"dialog",title:e.title,description:e.description,status:e.status,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,"data-kind":e.kind,onConfirm:()=>o.settle(e.id,$e(e,t)),onCancel:r,onOpenChange:m=>{m||r()},children:e.kind==="prompt"?oo(Ue,{style:{display:"grid",gap:"0.5rem"},children:[e.label??"Value",B(Ye,{value:t,onValueChange:a,placeholder:e.placeholder})]}):null})}function oe({dialogs:e}){let o=ee(e);return o?B(je,{entry:o,dialogs:e},o.id):null}oe.displayName="Dialogs";import{useComposedRefs as to}from"../utils/composeRefs.js";import{skdxPart as ao}from"../utils/part.js";import{composeEventHandlers as io,Primitive as no}from"../utils/primitive.js";import{jsx as ro}from"react/jsx-runtime";function lo({ref:e,...o}){let t=l("DialogTrigger"),a=to(e,t.triggerRef);return ro(no.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":t.open?"open":"closed",...o,...ao(t.family,"trigger",o.className),ref:a,onClick:io(o.onClick,()=>t.onOpenChange(!0))})}lo.displayName="DialogTrigger";export{z as Dialog,I as DialogAction,J as DialogCancel,M as DialogClose,X as DialogContent,w as DialogDescription,A as DialogOverlay,F as DialogPortal,qe as DialogProvider,j as DialogRoot,$ as DialogStateProvider,K as DialogTitle,lo as DialogTrigger,oe as Dialogs,Ae as OverlayPortal,eo as createDialogs,l as useDialogContext,ee as useDialogs};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var l=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},n=(o,e,t,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of b(e))!d.call(o,r)&&r!==t&&l(o,r,{get:()=>e[r],enumerable:!(p=i(e,r))||p.enumerable});return o};var y=o=>n(l({},"__esModule",{value:!0}),o);var P={};c(P,{Label:()=>s});module.exports=y(P);var m=require("../utils/part.cjs"),a=require("../utils/primitive.cjs"),f=require("react/jsx-runtime"),s=({ref:o,...e})=>(0,f.jsx)(a.Primitive.label,{...e,...(0,m.skdxPart)("label","root",e.className),ref:o,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,t=>{!t.defaultPrevented&&t.detail>1&&t.preventDefault()})});s.displayName="Label";0&&(module.exports={Label});
2
+ "use strict";var l=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var o in e)l(t,o,{get:e[o],enumerable:!0})},u=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of s(e))!b.call(t,a)&&a!==o&&l(t,a,{get:()=>e[a],enumerable:!(i=f(e,a))||i.enumerable});return t};var y=t=>u(l({},"__esModule",{value:!0}),t);var L={};d(L,{Label:()=>p});module.exports=y(L);var m=require("../utils/label-activation.cjs"),n=require("../utils/part.cjs"),r=require("../utils/primitive.cjs"),c=require("react/jsx-runtime"),p=({ref:t,...e})=>(0,c.jsx)(r.Primitive.label,{...e,...(0,n.skdxPart)("label","root",e.className),ref:t,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,o=>{!o.defaultPrevented&&o.detail>1&&o.preventDefault()}),onClick:(0,r.composeEventHandlers)(e.onClick,o=>(0,m.activateLabelledButton)(o.currentTarget,o.nativeEvent))});p.displayName="Label";0&&(module.exports={Label});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{skdxPart as r}from"../utils/part.js";import{composeEventHandlers as a,Primitive as l}from"../utils/primitive.js";import{jsx as m}from"react/jsx-runtime";var p=({ref:t,...e})=>m(l.label,{...e,...r("label","root",e.className),ref:t,onMouseDown:a(e.onMouseDown,o=>{!o.defaultPrevented&&o.detail>1&&o.preventDefault()})});p.displayName="Label";export{p as Label};
2
+ import{activateLabelledButton as r}from"../utils/label-activation.js";import{skdxPart as l}from"../utils/part.js";import{composeEventHandlers as t,Primitive as i}from"../utils/primitive.js";import{jsx as n}from"react/jsx-runtime";var m=({ref:a,...o})=>n(i.label,{...o,...l("label","root",o.className),ref:a,onMouseDown:t(o.onMouseDown,e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}),onClick:t(o.onClick,e=>r(e.currentTarget,e.nativeEvent))});m.displayName="Label";export{m as Label};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var d=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var h=(e,n)=>{for(var t in n)d(e,t,{get:n[t],enumerable:!0})},N=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of p(n))!y.call(e,a)&&a!==t&&d(e,a,{get:()=>n[a],enumerable:!(r=g(n,a))||r.enumerable});return e};var x=e=>N(d({},"__esModule",{value:!0}),e);var L={};h(L,{resetMalformedDateWarning:()=>Y,toCalendarString:()=>$,toCalendarValue:()=>A,toDate:()=>i,toISODateValue:()=>o,toTimeValue:()=>V});module.exports=x(L);var s=require("./date-segments.cjs"),M=/^(\d{4,})-(\d{2})$/,I=/^(\d{4,}-\d{2}-\d{2})/,D=!1;function Y(){D=!1}function c(e,n){D||(D=!0,console.warn(`[skdx] ${n?`\`${n}\``:"A date property"} was given ${JSON.stringify(e)}, which is not an ISO-8601 date. Expected \`YYYY-MM-DD\`, \`YYYY-MM-DDTHH:mm[:ss]\`, or a bare \`YYYY-MM\` for a month. The value is ignored \u2014 the property behaves as if it had not been supplied \u2014 rather than being coerced to today, to the epoch, or to an \`Invalid Date\` that would then poison every comparison after it.`))}function i(e,n){if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=(0,s.parseDateFormValue)(t);if(r!==null){let l=I.exec(t)?.[1];return l!==void 0&&o(r)!==l?(c(t,n),null):r}let a=b(t);return a||(c(t,n),null)}function b(e){let n=M.exec(e);if(!n)return null;let t=Number(n[2])-1;if(t<0||t>11)return null;let r=Number(n[1]),a=new Date(r,t,1);return r<100&&a.setFullYear(r),Number.isNaN(a.getTime())?null:a}function o(e,n="day"){return(0,s.dateToFormValue)(e,n)}function A(e,n,t){if(e===void 0)return;if(e===null)return n==="multiple"?[]:null;if(typeof e=="string"){let l=S(e,t);return f(l,n)}if(Array.isArray(e)){let l=e.map(u=>i(u,t)).filter(u=>u!==null);return f(l,n)}if(e instanceof Date)return f(i(e,t),n);let r=e,a=i(r.start,t);return a===null?n==="multiple"?[]:null:{start:a,end:i(r.end,t)}}function f(e,n){return n!=="multiple"?e:e===null?[]:Array.isArray(e)?e:e instanceof Date?[e]:[]}function S(e,n){let t=e.trim();if(t==="")return null;if(t.includes("/")){let[r="",a=""]=t.split("/"),l=i(r,n);return l===null?null:{start:l,end:a===""?null:i(a,n)}}return t.includes(",")?t.split(",").map(r=>i(r,n)).filter(r=>r!==null):i(t,n)}function $(e){return e==null?null:Array.isArray(e)?e.length===0?null:e.map(n=>o(n)).join(","):e instanceof Date?o(e):`${o(e.start)}/${e.end===null?"":o(e.end)}`}var T=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function V(e,n){if(e==null)return null;if(e instanceof Date){if(Number.isNaN(e.getTime()))return null;let a=m=>String(m).padStart(2,"0"),l=e.getSeconds(),u=`${a(e.getHours())}:${a(e.getMinutes())}`;return l===0?u:`${u}:${a(l)}`}if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=T.exec(t);return!r||Number(r[1])>23||Number(r[2])>59||r[3]!==void 0&&Number(r[3])>59?(c(t,n),null):t}0&&(module.exports={resetMalformedDateWarning,toCalendarString,toCalendarValue,toDate,toISODateValue,toTimeValue});
2
+ "use strict";var s=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var N=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of p(t))!y.call(e,a)&&a!==n&&s(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e};var I=e=>h(s({},"__esModule",{value:!0}),e);var L={};N(L,{resetMalformedDateWarning:()=>Y,toCalendarString:()=>$,toCalendarValue:()=>S,toDate:()=>l,toISODateValue:()=>o,toTimeValue:()=>V});module.exports=I(L);var d=require("./date-segments.cjs"),x=/^(\d{4,})-(\d{2})$/,M=/^(\d{4,}-\d{2}-\d{2})/,b=/^\d{4,}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:?\d{2})$/,D=!1;function Y(){D=!1}function c(e,t){D||(D=!0,console.warn(`[skdx] ${t?`\`${t}\``:"A date property"} was given ${JSON.stringify(e)}, which is not an ISO-8601 date. Expected \`YYYY-MM-DD\`, \`YYYY-MM-DDTHH:mm[:ss]\`, an instant with \`Z\` or a \`\xB1HH:mm\` offset, or a bare \`YYYY-MM\` for a month. The value is ignored \u2014 the property behaves as if it had not been supplied \u2014 rather than being coerced to today, to the epoch, or to an \`Invalid Date\` that would then poison every comparison after it.`))}function l(e,t){if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e!="string")return null;let n=e.trim();if(n==="")return null;let r=(0,d.parseDateFormValue)(n);if(r!==null){let i=M.exec(n)?.[1];return i!==void 0&&o(r)!==i?(c(n,t),null):r}if(b.test(n)){let i=new Date(n);if(!Number.isNaN(i.getTime()))return i}let a=T(n);return a||(c(n,t),null)}function T(e){let t=x.exec(e);if(!t)return null;let n=Number(t[2])-1;if(n<0||n>11)return null;let r=Number(t[1]),a=new Date(r,n,1);return r<100&&a.setFullYear(r),Number.isNaN(a.getTime())?null:a}function o(e,t="day"){return(0,d.dateToFormValue)(e,t)}function S(e,t,n){if(e===void 0)return;if(e===null)return t==="multiple"?[]:null;if(typeof e=="string"){let i=A(e,n);return f(i,t)}if(Array.isArray(e)){let i=e.map(u=>l(u,n)).filter(u=>u!==null);return f(i,t)}if(e instanceof Date)return f(l(e,n),t);let r=e,a=l(r.start,n);return a===null?t==="multiple"?[]:null:{start:a,end:l(r.end,n)}}function f(e,t){return t!=="multiple"?e:e===null?[]:Array.isArray(e)?e:e instanceof Date?[e]:[]}function A(e,t){let n=e.trim();if(n==="")return null;if(n.includes("/")){let[r="",a=""]=n.split("/"),i=l(r,t);return i===null?null:{start:i,end:a===""?null:l(a,t)}}return n.includes(",")?n.split(",").map(r=>l(r,t)).filter(r=>r!==null):l(n,t)}function $(e){return e==null?null:Array.isArray(e)?e.length===0?null:e.map(t=>o(t)).join(","):e instanceof Date?o(e):`${o(e.start)}/${e.end===null?"":o(e.end)}`}var w=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function V(e,t){if(e==null)return null;if(e instanceof Date){if(Number.isNaN(e.getTime()))return null;let a=m=>String(m).padStart(2,"0"),i=e.getSeconds(),u=`${a(e.getHours())}:${a(e.getMinutes())}`;return i===0?u:`${u}:${a(i)}`}if(typeof e!="string")return null;let n=e.trim();if(n==="")return null;let r=w.exec(n);return!r||Number(r[1])>23||Number(r[2])>59||r[3]!==void 0&&Number(r[3])>59?(c(n,t),null):n}0&&(module.exports={resetMalformedDateWarning,toCalendarString,toCalendarValue,toDate,toISODateValue,toTimeValue});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{dateToFormValue as c,parseDateFormValue as m}from"./date-segments.js";var g=/^(\d{4,})-(\d{2})$/,p=/^(\d{4,}-\d{2}-\d{2})/,d=!1;function M(){d=!1}function f(e,n){d||(d=!0,console.warn(`[skdx] ${n?`\`${n}\``:"A date property"} was given ${JSON.stringify(e)}, which is not an ISO-8601 date. Expected \`YYYY-MM-DD\`, \`YYYY-MM-DDTHH:mm[:ss]\`, or a bare \`YYYY-MM\` for a month. The value is ignored \u2014 the property behaves as if it had not been supplied \u2014 rather than being coerced to today, to the epoch, or to an \`Invalid Date\` that would then poison every comparison after it.`))}function i(e,n){if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=m(t);if(r!==null){let l=p.exec(t)?.[1];return l!==void 0&&o(r)!==l?(f(t,n),null):r}let a=y(t);return a||(f(t,n),null)}function y(e){let n=g.exec(e);if(!n)return null;let t=Number(n[2])-1;if(t<0||t>11)return null;let r=Number(n[1]),a=new Date(r,t,1);return r<100&&a.setFullYear(r),Number.isNaN(a.getTime())?null:a}function o(e,n="day"){return c(e,n)}function I(e,n,t){if(e===void 0)return;if(e===null)return n==="multiple"?[]:null;if(typeof e=="string"){let l=h(e,t);return s(l,n)}if(Array.isArray(e)){let l=e.map(u=>i(u,t)).filter(u=>u!==null);return s(l,n)}if(e instanceof Date)return s(i(e,t),n);let r=e,a=i(r.start,t);return a===null?n==="multiple"?[]:null:{start:a,end:i(r.end,t)}}function s(e,n){return n!=="multiple"?e:e===null?[]:Array.isArray(e)?e:e instanceof Date?[e]:[]}function h(e,n){let t=e.trim();if(t==="")return null;if(t.includes("/")){let[r="",a=""]=t.split("/"),l=i(r,n);return l===null?null:{start:l,end:a===""?null:i(a,n)}}return t.includes(",")?t.split(",").map(r=>i(r,n)).filter(r=>r!==null):i(t,n)}function Y(e){return e==null?null:Array.isArray(e)?e.length===0?null:e.map(n=>o(n)).join(","):e instanceof Date?o(e):`${o(e.start)}/${e.end===null?"":o(e.end)}`}var N=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function b(e,n){if(e==null)return null;if(e instanceof Date){if(Number.isNaN(e.getTime()))return null;let a=D=>String(D).padStart(2,"0"),l=e.getSeconds(),u=`${a(e.getHours())}:${a(e.getMinutes())}`;return l===0?u:`${u}:${a(l)}`}if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=N.exec(t);return!r||Number(r[1])>23||Number(r[2])>59||r[3]!==void 0&&Number(r[3])>59?(f(t,n),null):t}export{M as resetMalformedDateWarning,Y as toCalendarString,I as toCalendarValue,i as toDate,o as toISODateValue,b as toTimeValue};
2
+ import{dateToFormValue as c,parseDateFormValue as m}from"./date-segments.js";var g=/^(\d{4,})-(\d{2})$/,p=/^(\d{4,}-\d{2}-\d{2})/,y=/^\d{4,}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:?\d{2})$/,s=!1;function M(){s=!1}function f(e,n){s||(s=!0,console.warn(`[skdx] ${n?`\`${n}\``:"A date property"} was given ${JSON.stringify(e)}, which is not an ISO-8601 date. Expected \`YYYY-MM-DD\`, \`YYYY-MM-DDTHH:mm[:ss]\`, an instant with \`Z\` or a \`\xB1HH:mm\` offset, or a bare \`YYYY-MM\` for a month. The value is ignored \u2014 the property behaves as if it had not been supplied \u2014 rather than being coerced to today, to the epoch, or to an \`Invalid Date\` that would then poison every comparison after it.`))}function l(e,n){if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=m(t);if(r!==null){let i=p.exec(t)?.[1];return i!==void 0&&o(r)!==i?(f(t,n),null):r}if(y.test(t)){let i=new Date(t);if(!Number.isNaN(i.getTime()))return i}let a=N(t);return a||(f(t,n),null)}function N(e){let n=g.exec(e);if(!n)return null;let t=Number(n[2])-1;if(t<0||t>11)return null;let r=Number(n[1]),a=new Date(r,t,1);return r<100&&a.setFullYear(r),Number.isNaN(a.getTime())?null:a}function o(e,n="day"){return c(e,n)}function b(e,n,t){if(e===void 0)return;if(e===null)return n==="multiple"?[]:null;if(typeof e=="string"){let i=h(e,t);return d(i,n)}if(Array.isArray(e)){let i=e.map(u=>l(u,t)).filter(u=>u!==null);return d(i,n)}if(e instanceof Date)return d(l(e,t),n);let r=e,a=l(r.start,t);return a===null?n==="multiple"?[]:null:{start:a,end:l(r.end,t)}}function d(e,n){return n!=="multiple"?e:e===null?[]:Array.isArray(e)?e:e instanceof Date?[e]:[]}function h(e,n){let t=e.trim();if(t==="")return null;if(t.includes("/")){let[r="",a=""]=t.split("/"),i=l(r,n);return i===null?null:{start:i,end:a===""?null:l(a,n)}}return t.includes(",")?t.split(",").map(r=>l(r,n)).filter(r=>r!==null):l(t,n)}function Y(e){return e==null?null:Array.isArray(e)?e.length===0?null:e.map(n=>o(n)).join(","):e instanceof Date?o(e):`${o(e.start)}/${e.end===null?"":o(e.end)}`}var I=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function T(e,n){if(e==null)return null;if(e instanceof Date){if(Number.isNaN(e.getTime()))return null;let a=D=>String(D).padStart(2,"0"),i=e.getSeconds(),u=`${a(e.getHours())}:${a(e.getMinutes())}`;return i===0?u:`${u}:${a(i)}`}if(typeof e!="string")return null;let t=e.trim();if(t==="")return null;let r=I.exec(t);return!r||Number(r[1])>23||Number(r[2])>59||r[3]!==void 0&&Number(r[3])>59?(f(t,n),null):t}export{M as resetMalformedDateWarning,Y as toCalendarString,b as toCalendarValue,l as toDate,o as toISODateValue,T as toTimeValue};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)l(t,n,{get:e[n],enumerable:!0})},E=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!a.call(t,r)&&r!==n&&l(t,r,{get:()=>e[r],enumerable:!(o=u(e,r))||o.enumerable});return t};var d=t=>E(l({},"__esModule",{value:!0}),t);var h={};f(h,{activateLabelledButton:()=>p});module.exports=d(h);var i='a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])',m="radio, checkbox, switch, menuitemcheckbox, menuitemradio",b='button, [role="radio"], [role="checkbox"], [role="switch"]';function T(t){let n=t instanceof HTMLButtonElement||m.split(", ").includes(t.getAttribute("role")??"")?t:t.querySelector(b);return!(n instanceof HTMLElement)||n instanceof HTMLInputElement||n.disabled||n.getAttribute("aria-disabled")==="true"?null:n}function L(t,e){let n=`#${CSS.escape(e)}`;for(let o=t.parentElement;o;o=o.parentElement){let r=o.querySelector(n);if(r)return r}return t.getRootNode().getElementById(e)}function p(t,e){if(e.defaultPrevented)return;let n=t.getAttribute("for");if(!n)return;let o=e.target instanceof Element?e.target:null;if(o&&o!==t&&o.closest(i)!==t.closest(i))return;let r=L(t,n),c=r&&T(r);c&&(e.preventDefault(),c.focus(),c.click())}0&&(module.exports={activateLabelledButton});
@@ -0,0 +1 @@
1
+ export declare function activateLabelledButton(label: HTMLElement, event: Event): void;
@@ -0,0 +1 @@
1
+ export declare function activateLabelledButton(label: HTMLElement, event: Event): void;
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ var l='a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])',i="radio, checkbox, switch, menuitemcheckbox, menuitemradio",u='button, [role="radio"], [role="checkbox"], [role="switch"]';function s(t){let e=t instanceof HTMLButtonElement||i.split(", ").includes(t.getAttribute("role")??"")?t:t.querySelector(u);return!(e instanceof HTMLElement)||e instanceof HTMLInputElement||e.disabled||e.getAttribute("aria-disabled")==="true"?null:e}function a(t,n){let e=`#${CSS.escape(n)}`;for(let o=t.parentElement;o;o=o.parentElement){let r=o.querySelector(e);if(r)return r}return t.getRootNode().getElementById(n)}function f(t,n){if(n.defaultPrevented)return;let e=t.getAttribute("for");if(!e)return;let o=n.target instanceof Element?n.target:null;if(o&&o!==t&&o.closest(l)!==t.closest(l))return;let r=a(t,e),c=r&&s(r);c&&(n.preventDefault(),c.focus(),c.click())}export{f as activateLabelledButton};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var s=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},E=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of r(e))!b.call(t,n)&&n!==o&&i(t,n,{get:()=>e[n],enumerable:!(a=l(e,n))||a.enumerable});return t};var u=t=>E(i({},"__esModule",{value:!0}),t);var c={};s(c,{TABBABLE_SELECTOR:()=>d,tabbablesWithin:()=>x});module.exports=u(c);var d=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function x(t){return Array.from(t.querySelectorAll(d))}0&&(module.exports={TABBABLE_SELECTOR,tabbablesWithin});
2
+ "use strict";var i=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of c(t))!f.call(e,o)&&o!==n&&i(e,o,{get:()=>t[o],enumerable:!(a=b(t,o))||a.enumerable});return e};var m=e=>h(i({},"__esModule",{value:!0}),e);var T={};E(T,{TABBABLE_SELECTOR:()=>l,tabbablesWithin:()=>r,wrapTabWithin:()=>p});module.exports=m(T);var l=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function r(e){return Array.from(e.querySelectorAll("*")).filter(t=>t.matches(l)||t.shadowRoot?.delegatesFocus===!0)}function p(e,t){if(t.key!=="Tab"||t.defaultPrevented)return;let n=r(e);if(n.length===0){t.preventDefault();return}let a=n[0],o=n[n.length-1],s=document.activeElement,d=s===null||s===e||!e.contains(s),u=t.shiftKey?s===a:s===o;!d&&!u||(t.preventDefault(),(t.shiftKey?o:a).focus())}0&&(module.exports={TABBABLE_SELECTOR,tabbablesWithin,wrapTabWithin});
@@ -6,3 +6,12 @@ export declare const TABBABLE_SELECTOR: string;
6
6
  * small subtrees only in the DOM while open.
7
7
  */
8
8
  export declare function tabbablesWithin(container: Element): HTMLElement[];
9
+ /**
10
+ * Keeps Tab cycling inside `container` while it is the modal surface: Tab from the last tabbable
11
+ * lands on the first and Shift+Tab from the first on the last. A native `showModal()` leaves the
12
+ * loop through the browser chrome instead, which assistive technology reads as focus escaping.
13
+ *
14
+ * @param container the modal surface, typically the open `<dialog>`
15
+ * @param event the keydown to act on; anything but an unhandled Tab is ignored
16
+ */
17
+ export declare function wrapTabWithin(container: Element, event: KeyboardEvent): void;
@@ -6,3 +6,12 @@ export declare const TABBABLE_SELECTOR: string;
6
6
  * small subtrees only in the DOM while open.
7
7
  */
8
8
  export declare function tabbablesWithin(container: Element): HTMLElement[];
9
+ /**
10
+ * Keeps Tab cycling inside `container` while it is the modal surface: Tab from the last tabbable
11
+ * lands on the first and Shift+Tab from the first on the last. A native `showModal()` leaves the
12
+ * loop through the browser chrome instead, which assistive technology reads as focus escaping.
13
+ *
14
+ * @param container the modal surface, typically the open `<dialog>`
15
+ * @param event the keydown to act on; anything but an unhandled Tab is ignored
16
+ */
17
+ export declare function wrapTabWithin(container: Element, event: KeyboardEvent): void;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- var e=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function n(t){return Array.from(t.querySelectorAll(e))}export{e as TABBABLE_SELECTOR,n as tabbablesWithin};
2
+ var r=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function d(e){return Array.from(e.querySelectorAll("*")).filter(t=>t.matches(r)||t.shadowRoot?.delegatesFocus===!0)}function u(e,t){if(t.key!=="Tab"||t.defaultPrevented)return;let o=d(e);if(o.length===0){t.preventDefault();return}let a=o[0],s=o[o.length-1],n=document.activeElement,i=n===null||n===e||!e.contains(n),l=t.shiftKey?n===a:n===s;!i&&!l||(t.preventDefault(),(t.shiftKey?s:a).focus())}export{r as TABBABLE_SELECTOR,d as tabbablesWithin,u as wrapTabWithin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skdx/react",
3
- "version": "0.35.0",
3
+ "version": "0.37.0",
4
4
  "description": "Accessible React components for the SkandaDX design system — the core layer, styled by @skdx/skins and @skdx/tokens or by your own CSS",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -1605,7 +1605,7 @@
1605
1605
  "tsup": "^8.5.1",
1606
1606
  "typescript": "^6.0.3",
1607
1607
  "vitest": "^4.1.10",
1608
- "@skdx/shared": "0.35.0"
1608
+ "@skdx/shared": "0.37.0"
1609
1609
  },
1610
1610
  "scripts": {
1611
1611
  "lint": "eslint . --cache --cache-location node_modules/.cache/eslint/",