@jamsrui/drawer 0.0.13 → 0.0.15

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 +1 @@
1
- import{a}from"./chunk-KWIHRWXQ.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerBody};
1
+ import{useRenderElement as o}from"@jamsrui/hooks";import{useDrawerContext as t}from"./drawer-context.mjs";const m=r=>{const{getBodyProps:e}=t();return o("div",{props:[e(r)]})};export{m as DrawerBody};
@@ -1 +1 @@
1
- import{a}from"./chunk-NNSYUUJ2.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerCloseButton};
1
+ import{jsx as o}from"react/jsx-runtime";import{IconButton as r}from"@jamsrui/icon-button";import{CloseIcon as n}from"@jamsrui/icons";import{useDrawerContext as s}from"./drawer-context.mjs";const c=t=>{const{getCloseButtonProps:e}=s();return o(r,{label:"Close Drawer",...e(t),children:o(n,{className:"size-4"})})};export{c as DrawerCloseButton};
@@ -1 +1 @@
1
- import{a}from"./chunk-MIPPECRL.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerCloseTrigger};
1
+ import{cloneElement as t,isValidElement as n}from"react";import{useDrawerContext as l}from"./drawer-context.mjs";const a=r=>{const{children:e}=r,{getTriggerCloseProps:o}=l();return n(e)?t(e,o()):(console.warn("Invalid children passed to DialogCloseTrigger"),null)};export{a as DrawerCloseTrigger};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-GUMSFI7G.mjs";export{a as DrawerConfig,b as useDrawerConfig};
1
+ import{createConfigContext as r}from"@jamsrui/utils";const[e,a]=r({displayName:"DrawerConfig"});export{e as DrawerConfig,a as useDrawerConfig};
@@ -1 +1 @@
1
- import{a}from"./chunk-US7XAPGP.mjs";import"./chunk-WBBF5BOV.mjs";import"./chunk-NNSYUUJ2.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerContent};
1
+ import{jsx as o,jsxs as f}from"react/jsx-runtime";import{FloatingOverlay as p,FloatingPortal as m}from"@floating-ui/react";import{AnimatePresence as l,motion as s}from"motion/react";import{DrawerCloseButton as c}from"./drawer-close-button.mjs";import{useDrawerContext as P}from"./drawer-context.mjs";import{DrawerPopover as d}from"./drawer-popover.mjs";const h=r=>{const{children:e}=r,{getContentProps:t,isOpen:n,getBackdropProps:i,hideCloseButton:a}=P();return o(l,{children:n?o(m,{children:o(p,{...i(),children:o(d,{children:f(s.div,{...t(r),children:[!a&&o(c,{}),e]})})})}):null})};export{h as DrawerContent};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-6XYRR3IV.mjs";export{a as DrawerContext,b as useDrawerContext};
1
+ import{createContext as r,use as t}from"react";const o=r(null),s=()=>{const e=t(o);if(!e)throw new Error("useDrawerContext must be used within DrawerContext");return e};export{o as DrawerContext,s as useDrawerContext};
@@ -1 +1 @@
1
- import{a}from"./chunk-BP77MJVR.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerFooter};
1
+ import{useRenderElement as o}from"@jamsrui/hooks";import{useDrawerContext as t}from"./drawer-context.mjs";const m=r=>{const{getFooterProps:e}=t();return o("div",{props:[e(r)]})};export{m as DrawerFooter};
@@ -1 +1 @@
1
- import{a}from"./chunk-KNT3NBAB.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerHeader};
1
+ import{useRenderElement as t}from"@jamsrui/hooks";import{useDrawerContext as o}from"./drawer-context.mjs";const a=e=>{const{getHeaderProps:r}=o();return t("div",{props:[r(e)]})};export{a as DrawerHeader};
@@ -1 +1 @@
1
- import{a}from"./chunk-WBBF5BOV.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerPopover};
1
+ import{useRenderElement as o}from"@jamsrui/hooks";import{useDrawerContext as t}from"./drawer-context.mjs";const m=r=>{const{getPopoverProps:e}=t();return o("div",{props:[e(r)]})};export{m as DrawerPopover};
@@ -1 +1 @@
1
- import{a}from"./chunk-ILBTUKZ5.mjs";import"./chunk-6XYRR3IV.mjs";export{a as DrawerTrigger};
1
+ import{cloneElement as n,isValidElement as o}from"react";import{useDrawerContext as i}from"./drawer-context.mjs";const c=e=>{const{children:r}=e,{getTriggerProps:t}=i();return o(r)?n(r,t()):(console.warn("Invalid children passed to DialogTrigger"),null)};export{c as DrawerTrigger};
package/dist/drawer.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-Z5RXHI6Z.mjs";import"./chunk-LTBC2UAW.mjs";import"./chunk-VT4SUQ2S.mjs";import"./chunk-GUMSFI7G.mjs";import"./chunk-6XYRR3IV.mjs";export{a as Drawer};
1
+ import{jsx as m}from"react/jsx-runtime";import{mergeConfigProps as a}from"@jamsrui/utils";import{useDrawerConfig as s}from"./drawer-config.mjs";import{DrawerContext as c}from"./drawer-context.mjs";import{useDrawer as p}from"./use-drawer.mjs";const x=r=>{const{children:o}=r,e=s(),t=a(e,e,r),n=p(t);return m(c,{value:n,children:o})};export{x as Drawer};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{a as m}from"./chunk-ILBTUKZ5.mjs";import{a as p}from"./chunk-Z5RXHI6Z.mjs";import"./chunk-LTBC2UAW.mjs";import"./chunk-VT4SUQ2S.mjs";import{a as r}from"./chunk-KWIHRWXQ.mjs";import{a as o}from"./chunk-MIPPECRL.mjs";import{a as t,b as a}from"./chunk-GUMSFI7G.mjs";import{a as f}from"./chunk-US7XAPGP.mjs";import"./chunk-WBBF5BOV.mjs";import{a as e}from"./chunk-NNSYUUJ2.mjs";import{a as w}from"./chunk-BP77MJVR.mjs";import{a as D}from"./chunk-KNT3NBAB.mjs";import"./chunk-6XYRR3IV.mjs";export{p as Drawer,r as DrawerBody,e as DrawerCloseButton,o as DrawerCloseTrigger,t as DrawerConfig,f as DrawerContent,w as DrawerFooter,D as DrawerHeader,m as DrawerTrigger,a as useDrawerConfig};
1
+ "use client";import{Drawer as o}from"./drawer.mjs";import{DrawerBody as a}from"./drawer-body.mjs";import{DrawerCloseButton as w}from"./drawer-close-button.mjs";import{DrawerCloseTrigger as m}from"./drawer-close-trigger.mjs";import{DrawerConfig as x,useDrawerConfig as g}from"./drawer-config.mjs";import{DrawerContent as i}from"./drawer-content.mjs";import{DrawerFooter as s}from"./drawer-footer.mjs";import{DrawerHeader as u}from"./drawer-header.mjs";import{DrawerTrigger as B}from"./drawer-trigger.mjs";export{o as Drawer,a as DrawerBody,w as DrawerCloseButton,m as DrawerCloseTrigger,x as DrawerConfig,i as DrawerContent,s as DrawerFooter,u as DrawerHeader,B as DrawerTrigger,g as useDrawerConfig};
package/dist/styles.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-VT4SUQ2S.mjs";export{a as drawerVariants};
1
+ import{radiusVariant as o,tv as t}from"@jamsrui/utils";const e=t({slots:{backdrop:"z-backdrop !overflow-hidden",popover:"z-dialog",content:"absolute flex w-full flex-col overflow-y-auto bg-surface shadow-sm",header:"p-4",footer:"flex justify-end gap-2 p-4",body:"grow p-4",closeButton:"absolute right-4 top-4"},variants:{anchor:{left:{content:"left-0 top-0 h-dvh"},right:{content:"right-0 top-0 h-dvh"},top:{content:"left-0 top-0"},bottom:{content:"bottom-0 left-0"}},size:{xs:{content:"max-w-xs"},sm:{content:"max-w-sm"},md:{content:"max-w-md"},lg:{content:"max-w-lg"},xl:{content:"max-w-xl"},"2xl":{content:"max-w-2xl"},"3xl":{content:"max-w-3xl"},"4xl":{content:"max-w-4xl"},"5xl":{content:"max-w-5xl"},full:{content:"m-0 h-dvh max-w-full !rounded-none sm:m-0"}},isBordered:{true:{header:"border-b border-divider",footer:"border-t border-storke-primary"}},scrollBehavior:{inside:{body:"overflow-y-auto"},outside:{}},backdrop:{transparent:{backdrop:""},opaque:{backdrop:"bg-black/50"},blur:{backdrop:"bg-black/30 backdrop-blur-md backdrop-saturate-150"}},radius:o("content")},compoundVariants:[{anchor:["top","bottom"],className:{content:"w-full !max-w-full"}}],defaultVariants:{scrollBehavior:"inside",size:"lg",isBordered:!1,backdrop:"opaque",anchor:"right",radius:"none"}});export{e as drawerVariants};
@@ -1 +1 @@
1
- import{a}from"./chunk-LTBC2UAW.mjs";import"./chunk-VT4SUQ2S.mjs";export{a as useDrawer};
1
+ import{useCallback as t,useMemo as j}from"react";import{useClick as z,useDismiss as A,useFloating as E,useInteractions as $,useRole as q}from"@floating-ui/react";import{useControlledState as J}from"@jamsrui/hooks";import{cn as a,dataAttrDev as n,mapPropsVariants as L,mergeProps as p}from"@jamsrui/utils";import{drawerVariants as O}from"./styles.mjs";const _=k=>{const[x,G]=L(k,O.variantKeys),{classNames:s,slotProps:e,defaultOpen:S,isOpen:T,onOpenChange:H,isDismissible:I,isKeyboardDismissible:K,hideCloseButton:d=!1}=x,r=O(G),[i,m]=J({defaultProp:S,onChange:H,prop:T}),{context:l,refs:{setFloating:P,setReference:u}}=E({open:i,onOpenChange:m}),M=z(l,{enabled:!0}),V=A(l,{escapeKey:K,outsidePressEvent:"click",outsidePress:I}),R=q(l),U=$([M,V,R]),{getFloatingProps:f,getReferenceProps:g}=U,c=t(()=>{m(!1)},[m]),y=t(o=>({...p(e?.header,o),"data-slot":n("header"),className:r.header({className:a(e?.header?.className,s?.header,o.className)})}),[s?.header,e?.header,r]),w=t(o=>({...p(e?.footer,o),"data-slot":n("footer"),className:r.footer({className:a(e?.footer?.className,s?.footer,o.className)})}),[s?.footer,e?.footer,r]),D=t(o=>({...p(e?.body,o),"data-slot":n("body"),className:r.body({className:a(e?.body?.className,s?.body,o.className)})}),[s?.body,e?.body,r]),N=t(o=>({...p(e?.popover,o),"data-slot":n("popover"),className:r.popover({className:a(e?.popover?.className,s?.popover,o.className)}),ref:P,...f()}),[s?.popover,f,P,e?.popover,r]),b=t(o=>({...p(e?.content,o),"data-slot":n("content"),className:r.content({className:a(e?.content?.className,s?.content,o.className)}),initial:{opacity:0,x:"100%",transition:{type:"spring",stiffness:180,damping:30,mass:.9}},animate:{opacity:1,x:0,transition:{type:"spring",stiffness:120,damping:20,mass:.8}},exit:{opacity:0,x:"100%",transition:{type:"spring",stiffness:300,damping:30,mass:.6}}}),[s?.content,e?.content,r]),C=t(o=>({...p(e?.closeButton,o),"data-slot":n("closeButton"),className:r.closeButton({className:a(e?.closeButton?.className,s?.closeButton,o.className)}),radius:"full",size:"sm",onClick:c}),[s?.closeButton,c,e?.closeButton,r]),v=t(()=>({lockScroll:!0,"data-slot":n("backdrop"),className:r.backdrop({className:a(s?.backdrop)})}),[s?.backdrop,r]),B=t(()=>({context:l,modal:!0}),[l]),h=t(()=>({...g({ref:u})}),[g,u]),F=t(()=>({onClick:c}),[c]);return j(()=>({getHeaderProps:y,getFooterProps:w,getBodyProps:D,getContentProps:b,getCloseButtonProps:C,getBackdropProps:v,getFocusManagerProps:B,getTriggerProps:h,getTriggerCloseProps:F,isOpen:i,getPopoverProps:N,hideCloseButton:d}),[y,w,D,b,C,v,B,h,F,i,N,d])};export{_ as useDrawer};
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@jamsrui/drawer",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "peerDependencies": {
5
5
  "motion": ">=12",
6
6
  "react": ">=19"
7
7
  },
8
8
  "dependencies": {
9
9
  "@floating-ui/react": ">=0.27",
10
- "@jamsrui/hooks": "^0.0.13",
11
- "@jamsrui/core": "^0.0.11",
12
- "@jamsrui/icon-button": "^0.0.13",
13
- "@jamsrui/utils": "^0.0.13",
14
- "@jamsrui/icons": "^0.0.11"
10
+ "@jamsrui/hooks": "^0.0.15",
11
+ "@jamsrui/core": "^0.0.13",
12
+ "@jamsrui/utils": "^0.0.15",
13
+ "@jamsrui/icons": "^0.0.13",
14
+ "@jamsrui/icon-button": "^0.0.15"
15
15
  },
16
16
  "exports": {
17
17
  ".": {
@@ -1 +0,0 @@
1
- import{createContext as r,use as t}from"react";var o=r(null),s=()=>{let e=t(o);if(!e)throw new Error("useDrawerContext must be used within DrawerContext");return e};export{o as a,s as b};
@@ -1 +0,0 @@
1
- import{b as r}from"./chunk-6XYRR3IV.mjs";import{useRenderElement as t}from"@jamsrui/hooks";var m=e=>{let{getFooterProps:o}=r();return t("div",{props:[o(e)]})};export{m as a};
@@ -1 +0,0 @@
1
- import{createConfigContext as r}from"@jamsrui/utils";var[e,a]=r({displayName:"DrawerConfig"});export{e as a,a as b};
@@ -1 +0,0 @@
1
- import{b as e}from"./chunk-6XYRR3IV.mjs";import{cloneElement as o,isValidElement as i}from"react";var c=t=>{let{children:r}=t,{getTriggerProps:n}=e();return i(r)?o(r,n()):(console.warn("Invalid children passed to DialogTrigger"),null)};export{c as a};
@@ -1 +0,0 @@
1
- import{b as e}from"./chunk-6XYRR3IV.mjs";import{useRenderElement as o}from"@jamsrui/hooks";var a=r=>{let{getHeaderProps:t}=e();return o("div",{props:[t(r)]})};export{a};
@@ -1 +0,0 @@
1
- import{b as r}from"./chunk-6XYRR3IV.mjs";import{useRenderElement as t}from"@jamsrui/hooks";var m=e=>{let{getBodyProps:o}=r();return t("div",{props:[o(e)]})};export{m as a};
@@ -1 +0,0 @@
1
- import{a as d}from"./chunk-VT4SUQ2S.mjs";import{useCallback as t,useMemo as j}from"react";import{useClick as z,useDismiss as A,useFloating as E,useInteractions as $,useRole as q}from"@floating-ui/react";import{useControlledState as J}from"@jamsrui/hooks";import{cn as a,dataAttrDev as n,mapPropsVariants as L,mergeProps as p}from"@jamsrui/utils";var _=k=>{let[x,G]=L(k,d.variantKeys),{classNames:s,slotProps:e,defaultOpen:S,isOpen:T,onOpenChange:H,isDismissible:I,isKeyboardDismissible:K,hideCloseButton:P=!1}=x,r=d(G),[i,m]=J({defaultProp:S,onChange:H,prop:T}),{context:l,refs:{setFloating:u,setReference:f}}=E({open:i,onOpenChange:m}),M=z(l,{enabled:!0}),V=A(l,{escapeKey:K,outsidePressEvent:"click",outsidePress:I}),R=q(l),U=$([M,V,R]),{getFloatingProps:g,getReferenceProps:y}=U,c=t(()=>{m(!1)},[m]),w=t(o=>({...p(e?.header,o),"data-slot":n("header"),className:r.header({className:a(e?.header?.className,s?.header,o.className)})}),[s?.header,e?.header,r]),D=t(o=>({...p(e?.footer,o),"data-slot":n("footer"),className:r.footer({className:a(e?.footer?.className,s?.footer,o.className)})}),[s?.footer,e?.footer,r]),N=t(o=>({...p(e?.body,o),"data-slot":n("body"),className:r.body({className:a(e?.body?.className,s?.body,o.className)})}),[s?.body,e?.body,r]),b=t(o=>({...p(e?.popover,o),"data-slot":n("popover"),className:r.popover({className:a(e?.popover?.className,s?.popover,o.className)}),ref:u,...g()}),[s?.popover,g,u,e?.popover,r]),C=t(o=>({...p(e?.content,o),"data-slot":n("content"),className:r.content({className:a(e?.content?.className,s?.content,o.className)}),initial:{opacity:0,x:"100%",transition:{type:"spring",stiffness:180,damping:30,mass:.9}},animate:{opacity:1,x:0,transition:{type:"spring",stiffness:120,damping:20,mass:.8}},exit:{opacity:0,x:"100%",transition:{type:"spring",stiffness:300,damping:30,mass:.6}}}),[s?.content,e?.content,r]),v=t(o=>({...p(e?.closeButton,o),"data-slot":n("closeButton"),className:r.closeButton({className:a(e?.closeButton?.className,s?.closeButton,o.className)}),radius:"full",size:"sm",onClick:c}),[s?.closeButton,c,e?.closeButton,r]),B=t(()=>({lockScroll:!0,"data-slot":n("backdrop"),className:r.backdrop({className:a(s?.backdrop)})}),[s?.backdrop,r]),h=t(()=>({context:l,modal:!0}),[l]),F=t(()=>({...y({ref:f})}),[y,f]),O=t(()=>({onClick:c}),[c]);return j(()=>({getHeaderProps:w,getFooterProps:D,getBodyProps:N,getContentProps:C,getCloseButtonProps:v,getBackdropProps:B,getFocusManagerProps:h,getTriggerProps:F,getTriggerCloseProps:O,isOpen:i,getPopoverProps:b,hideCloseButton:P}),[w,D,N,C,v,B,h,F,O,i,b,P])};export{_ as a};
@@ -1 +0,0 @@
1
- import{b as r}from"./chunk-6XYRR3IV.mjs";import{cloneElement as n,isValidElement as l}from"react";var a=o=>{let{children:e}=o,{getTriggerCloseProps:t}=r();return l(e)?n(e,t()):(console.warn("Invalid children passed to DialogCloseTrigger"),null)};export{a};
@@ -1 +0,0 @@
1
- import{b as o}from"./chunk-6XYRR3IV.mjs";import{IconButton as n}from"@jamsrui/icon-button";import{CloseIcon as s}from"@jamsrui/icons";import{jsx as t}from"react/jsx-runtime";var c=e=>{let{getCloseButtonProps:r}=o();return t(n,{label:"Close Drawer",...r(e),children:t(s,{className:"size-4"})})};export{c as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-WBBF5BOV.mjs";import{a as t}from"./chunk-NNSYUUJ2.mjs";import{b as e}from"./chunk-6XYRR3IV.mjs";import{FloatingOverlay as s,FloatingPortal as c}from"@floating-ui/react";import{AnimatePresence as P,motion as d}from"motion/react";import{jsx as o,jsxs as f}from"react/jsx-runtime";var h=r=>{let{children:i}=r,{getContentProps:a,isOpen:p,getBackdropProps:m,hideCloseButton:l}=e();return o(P,{children:p?o(c,{children:o(s,{...m(),children:o(n,{children:f(d.div,{...a(r),children:[!l&&o(t,{}),i]})})})}):null})};export{h as a};
@@ -1 +0,0 @@
1
- import{radiusVariant as o,tv as t}from"@jamsrui/utils";var e=t({slots:{backdrop:"z-backdrop !overflow-hidden",popover:"z-dialog",content:"absolute flex w-full flex-col overflow-y-auto bg-surface shadow-sm",header:"p-4",footer:"flex justify-end gap-2 p-4",body:"grow p-4",closeButton:"absolute right-4 top-4"},variants:{anchor:{left:{content:"left-0 top-0 h-dvh"},right:{content:"right-0 top-0 h-dvh"},top:{content:"left-0 top-0"},bottom:{content:"bottom-0 left-0"}},size:{xs:{content:"max-w-xs"},sm:{content:"max-w-sm"},md:{content:"max-w-md"},lg:{content:"max-w-lg"},xl:{content:"max-w-xl"},"2xl":{content:"max-w-2xl"},"3xl":{content:"max-w-3xl"},"4xl":{content:"max-w-4xl"},"5xl":{content:"max-w-5xl"},full:{content:"m-0 h-dvh max-w-full !rounded-none sm:m-0"}},isBordered:{true:{header:"border-b border-divider",footer:"border-t border-storke-primary"}},scrollBehavior:{inside:{body:"overflow-y-auto"},outside:{}},backdrop:{transparent:{backdrop:""},opaque:{backdrop:"bg-black/50"},blur:{backdrop:"bg-black/30 backdrop-blur-md backdrop-saturate-150"}},radius:o("content")},compoundVariants:[{anchor:["top","bottom"],className:{content:"w-full !max-w-full"}}],defaultVariants:{scrollBehavior:"inside",size:"lg",isBordered:!1,backdrop:"opaque",anchor:"right",radius:"none"}});export{e as a};
@@ -1 +0,0 @@
1
- import{b as r}from"./chunk-6XYRR3IV.mjs";import{useRenderElement as t}from"@jamsrui/hooks";var m=e=>{let{getPopoverProps:o}=r();return t("div",{props:[o(e)]})};export{m as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-LTBC2UAW.mjs";import{b as t}from"./chunk-GUMSFI7G.mjs";import{a as o}from"./chunk-6XYRR3IV.mjs";import{mergeConfigProps as p}from"@jamsrui/utils";import{jsx as m}from"react/jsx-runtime";var x=r=>{let{children:a}=r,e=t(),s=p(e,e,r),c=n(s);return m(o,{value:c,children:a})};export{x as a};