@primereact/headless 11.0.0-alpha.7 → 11.0.0-alpha.9
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/breadcrumb/index.d.ts +2 -0
- package/breadcrumb/index.mjs +2 -0
- package/breadcrumb/index.mjs.map +1 -0
- package/breadcrumb/useBreadcrumb.d.ts +3 -0
- package/breadcrumb/useBreadcrumb.props.d.ts +2 -0
- package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
- package/carousel/index.mjs +1 -1
- package/carousel/index.mjs.map +1 -1
- package/carousel/useCarousel.d.ts +18 -18
- package/colorpicker/colorManager.d.ts +101 -0
- package/colorpicker/index.d.ts +3 -0
- package/colorpicker/index.mjs +2 -0
- package/colorpicker/index.mjs.map +1 -0
- package/colorpicker/input/index.d.ts +2 -0
- package/colorpicker/input/index.mjs +2 -0
- package/colorpicker/input/index.mjs.map +1 -0
- package/colorpicker/input/useColorPickerInput.d.ts +11 -0
- package/colorpicker/input/useColorPickerInput.props.d.ts +2 -0
- package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
- package/colorpicker/slider/index.d.ts +2 -0
- package/colorpicker/slider/index.mjs +2 -0
- package/colorpicker/slider/index.mjs.map +1 -0
- package/colorpicker/slider/useColorPickerSlider.d.ts +13 -0
- package/colorpicker/slider/useColorPickerSlider.props.d.ts +2 -0
- package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
- package/colorpicker/useColorPicker.d.ts +26 -0
- package/colorpicker/useColorPicker.props.d.ts +2 -0
- package/colorpicker/useColorPicker.test.d.ts +0 -0
- package/commandmenu/index.d.ts +2 -0
- package/commandmenu/index.mjs +2 -0
- package/commandmenu/index.mjs.map +1 -0
- package/commandmenu/useCommandMenu.d.ts +11 -0
- package/commandmenu/useCommandMenu.props.d.ts +2 -0
- package/commandmenu/useCommandMenu.test.d.ts +0 -0
- package/contextmenu/index.d.ts +2 -0
- package/contextmenu/index.mjs +2 -0
- package/contextmenu/index.mjs.map +1 -0
- package/contextmenu/useContextMenu.d.ts +1 -0
- package/contextmenu/useContextMenu.props.d.ts +2 -0
- package/contextmenu/useContextMenu.test.d.ts +0 -0
- package/datepicker/index.d.ts +2 -0
- package/datepicker/index.mjs +2 -0
- package/datepicker/index.mjs.map +1 -0
- package/datepicker/useDatePicker.d.ts +114 -0
- package/datepicker/useDatePicker.props.d.ts +2 -0
- package/datepicker/useDatePicker.test.d.ts +0 -0
- package/gallery/index.mjs +1 -1
- package/gallery/index.mjs.map +1 -1
- package/gallery/item/index.mjs +1 -1
- package/gallery/item/index.mjs.map +1 -1
- package/gallery/useGallery.d.ts +2 -8
- package/inputtags/index.d.ts +2 -0
- package/inputtags/index.mjs +2 -0
- package/inputtags/index.mjs.map +1 -0
- package/inputtags/useInputTags.d.ts +20 -0
- package/inputtags/useInputTags.props.d.ts +2 -0
- package/inputtags/useInputTags.test.d.ts +0 -0
- package/listbox/index.d.ts +2 -0
- package/listbox/index.mjs +2 -0
- package/listbox/index.mjs.map +1 -0
- package/listbox/useListbox.d.ts +45 -0
- package/listbox/useListbox.props.d.ts +2 -0
- package/listbox/useListbox.test.d.ts +0 -0
- package/menu/index.d.ts +2 -0
- package/menu/index.mjs +2 -0
- package/menu/index.mjs.map +1 -0
- package/menu/sub/index.d.ts +2 -0
- package/menu/sub/index.mjs +2 -0
- package/menu/sub/index.mjs.map +1 -0
- package/menu/sub/useMenuSub.d.ts +19 -0
- package/menu/sub/useMenuSub.props.d.ts +2 -0
- package/menu/useMenu.d.ts +34 -0
- package/menu/useMenu.props.d.ts +2 -0
- package/menu/useMenu.test.d.ts +0 -0
- package/orgchart/index.d.ts +2 -0
- package/orgchart/index.mjs +2 -0
- package/orgchart/index.mjs.map +1 -0
- package/orgchart/useOrgChart.d.ts +20 -0
- package/orgchart/useOrgChart.props.d.ts +2 -0
- package/orgchart/useOrgChart.test.d.ts +0 -0
- package/overlay/index.d.ts +2 -0
- package/overlay/index.mjs +2 -0
- package/overlay/index.mjs.map +1 -0
- package/overlay/useOverlay.d.ts +16 -0
- package/overlay/useOverlay.props.d.ts +2 -0
- package/overlay/useOverlay.test.d.ts +0 -0
- package/package.json +4 -4
- package/password/index.d.ts +2 -0
- package/password/index.mjs +2 -0
- package/password/index.mjs.map +1 -0
- package/password/usePassword.d.ts +35 -0
- package/password/usePassword.props.d.ts +2 -0
- package/password/usePassword.test.d.ts +0 -0
- package/placer/index.mjs +1 -1
- package/placer/index.mjs.map +1 -1
- package/toast/index.d.ts +1 -0
- package/toast/index.mjs +1 -1
- package/toast/index.mjs.map +1 -1
- package/toast/item/index.css +1 -1
- package/toast/item/index.css.map +1 -1
- package/toast/item/index.mjs +1 -1
- package/toast/item/index.mjs.map +1 -1
- package/toast/item/useToastItem.d.ts +12 -8
- package/toast/toastStore.d.ts +40 -0
- package/toast/useToast.d.ts +12 -4
- package/tree/TreeDragDropService.d.ts +24 -0
- package/tree/index.d.ts +3 -0
- package/tree/index.mjs +2 -0
- package/tree/index.mjs.map +1 -0
- package/tree/useTree.d.ts +27 -0
- package/tree/useTree.props.d.ts +2 -0
- package/tree/useTree.test.d.ts +0 -0
- package/toast/index.css +0 -2
- package/toast/index.css.map +0 -1
package/toast/item/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var zt=Object.defineProperty,Xt=Object.defineProperties;var Ft=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var Ut=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable;var J=(a,o,t)=>o in a?zt(a,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[o]=t,i=(a,o)=>{for(var t in o||(o={}))Ut.call(o,t)&&J(a,t,o[t]);if(B)for(var t of B(o))Kt.call(o,t)&&J(a,t,o[t]);return a},c=(a,o)=>Xt(a,Ft(o));var G=(a,o,t)=>new Promise((e,r)=>{var n=T=>{try{v(t.next(T))}catch(E){r(E)}},u=T=>{try{v(t.throw(T))}catch(E){r(E)}},v=T=>T.done?e(T.value):Promise.resolve(T.value).then(n,u);v((t=t.apply(a,o)).next())});import{withHeadless as So}from"@primereact/core/headless";import{useMountEffect as ko}from"@primereact/hooks/use-mount-effect";import{useUnmountEffect as Mo}from"@primereact/hooks/use-unmount-effect";import{Component as Ro}from"@primereact/core/component";import{useToast as Do}from"@primereact/headless/toast";import{styles as Eo}from"@primereact/styles/toast";import{withComponent as Vt}from"@primereact/core/component";import{styles as $t}from"@primereact/styles/base";var d=({name:a="UnknownComponent",defaultProps:o,styles:t=c(i({},$t),{name:"global"}),components:e,setup:r,render:n})=>Vt({name:a,defaultProps:o,styles:t,components:e,setup:r,render:n});import*as z from"react";import{createOptionalContext as _t}from"@primereact/core/utils";var[W,f]=_t();import*as Q from"@primereact/headless/toast";var Z=c(i({},Q.defaultProps),{richColors:!1});import{Component as qt}from"@primereact/core/component";import{styles as Bt}from"@primereact/styles/toast";import{mergeProps as Jt}from"@primeuix/utils";import*as et from"react";import{createOptionalContext as jt}from"@primereact/core/utils";var[tt,b]=jt();var ot={as:"button"};var rt=d({name:"ToastAction",defaultProps:ot,styles:Bt,setup(){let a=b();return{toast:f(),toastItem:a}},render(a){var v,T;let{id:o,props:t,ptmi:e,toastItem:r}=a,n=(v=r==null?void 0:r.props.data.action)!=null?v:{},u=Jt(i({id:o},n),e("root"));return et.createElement(qt,{pIf:!!(r!=null&&r.props.data.action),instance:a,attrs:u,children:(T=n==null?void 0:n.children)!=null?T:t.children})}});import{Component as Gt}from"@primereact/core/component";import{styles as Wt}from"@primereact/styles/toast";import{mergeProps as Qt}from"@primeuix/utils";import*as st from"react";var at={as:"button"};var nt=d({name:"ToastClose",defaultProps:at,styles:Wt,setup(){let a=b();return{toast:f(),toastItem:a}},render(a){let{id:o,props:t,ptmi:e,toastItem:r}=a,n=Qt({id:o,onClick:r==null?void 0:r.handleCloseOnClick},e("root"));return st.createElement(Gt,{pIf:(r==null?void 0:r.props.data.variant)!=="loading"&&(r==null?void 0:r.props.data.dismissible)!==!1,instance:a,attrs:n,children:t.children})}});import{Component as Zt}from"@primereact/core/component";import{styles as to}from"@primereact/styles/toast";import{mergeProps as oo}from"@primeuix/utils";import*as pt from"react";var it={as:"div"};var ct=d({name:"ToastDescription",defaultProps:it,styles:to,setup(){let a=b();return{toast:f(),toastItem:a}},render(a){var r;let{props:o,toastItem:t}=a,e=oo({className:"p-toast-description"});return pt.createElement(Zt,{instance:a,attrs:e,children:(r=o.children)!=null?r:t==null?void 0:t.props.data.description})}});import{Component as eo}from"@primereact/core/component";import{Icon as ro}from"@primereact/core/icon";import{CheckIcon as ao,ExclamationTriangleIcon as so,InfoCircleIcon as no,SpinnerIcon as io,TimesCircleIcon as po}from"@primereact/icons";import{mergeProps as co}from"@primeuix/utils";import*as S from"react";import*as mt from"@primereact/core/icon";var lt=i({},mt.defaultIconProps);var dt={danger:S.createElement(po,null),warn:S.createElement(so,null),info:S.createElement(no,null),success:S.createElement(ao,null),loading:S.createElement(io,null)},ut=d({name:"ToastIcon",defaultProps:lt,setup(){let a=f(),o=b();return{toast:a,toastItem:o}},render(a){var u,v;let{props:o,ptmi:t,toast:e,toastItem:r}=a,n=co(i({className:e==null?void 0:e.cx("icon")},(r==null?void 0:r.props.data.variant)==="loading"&&{spin:!0}),e==null?void 0:e.ptm("icon"),t("root"));return S.createElement(eo,{pIf:!!(r!=null&&r.props.data.icon)||!!dt[r==null?void 0:r.props.data.variant],as:ro,instance:a,attrs:n,children:(v=(u=r==null?void 0:r.props.data.icon)!=null?u:dt[r==null?void 0:r.props.data.variant])!=null?v:o.children})}});import{Component as mo}from"@primereact/core/component";import{useToastItem as lo}from"@primereact/headless/toast/item";import{styles as uo}from"@primereact/styles/toast";import{cn as fo,mergeProps as vo}from"@primeuix/utils";import*as _ from"react";import*as ft from"@primereact/headless/toast/item";var vt=c(i({},ft.defaultProps),{as:"div"});var Tt=d({name:"ToastItem",defaultProps:vt,styles:uo,setup(a){let o=lo(a.inProps),t=f();return c(i({},o),{toast:t})},render(a){var M;let{id:o,props:t,ptmi:e,toast:r,state:n,offset:u,onPointerDown:v,onPointerMove:T,onPointerUp:E,onDragEnd:U,index:k,onKeyDown:C}=a,{data:P}=t,K=vo({id:o,className:fo("p-toast"),tabIndex:0,role:"alert","aria-live":"assertive","aria-atomic":"true",style:{"--p-toast-index":k,"--p-toast-offset":u+"px","--p-swipe-amount-x":"0px","--p-swipe-amount-y":"0px","--p-real-height":n.realHeight+"px"},"data-overflow":k>2,"data-removed":P.removed,"data-expanded":r==null?void 0:r.state.isExpanded,"data-mounted":n==null?void 0:n.isMounted,"data-front":k===0,"data-swiping":n==null?void 0:n.isSwiping,"data-swipe-out":n==null?void 0:n.isSwipeOut,"data-swipe-out-direction":n==null?void 0:n.swipeOutDirection,"data-variant":P.variant,"data-id":P.id,"data-rich-colors":r==null?void 0:r.props.richColors,onPointerDown:v,onPointerMove:T,onPointerUp:E,onDragEnd:U,onKeyDown:C},e("root"));return _.createElement(tt,{value:a},_.createElement(mo,{instance:a,attrs:K,children:(M=P.jsx)!=null?M:t.children}))}});import{usePortal as To}from"@primereact/headless/portal";import{resolve as ho}from"@primeuix/utils";import{createPortal as go}from"react-dom";import*as ht from"@primereact/headless/portal";var gt=c(i({},ht.defaultProps),{element:void 0,appendTo:"body"});var xt=d({name:"Portal",defaultProps:gt,setup(a){return To(a.inProps)},render(a){let{props:o,mountedState:t}=a,e=o.element||o.children;if(!e||!t)return null;let r=ho(o.appendTo,a);if(r==="self")return e;let n=r?typeof r=="string"?document.querySelector(r)||document.body:r:document.body;return go(e,n)}});import{createOptionalContext as xo}from"@primereact/core/utils";var[pr,cr]=xo();var yt=xt;import{Component as yo}from"@primereact/core/component";import{styles as bo}from"@primereact/styles/toast";import{mergeProps as Po}from"@primeuix/utils";import*as Pt from"react";var bt={as:"div"};var wt=d({name:"ToastRegion",defaultProps:bt,styles:bo,setup(){return{toast:f()}},render(a){var r,n;let{props:o,toast:t}=a,e=Po({role:"region",className:"p-toast-region",tabIndex:-1,onMouseEnter:t==null?void 0:t.onRegionMouseEnter,onMouseLeave:t==null?void 0:t.onRegionMouseLeave,onMouseMove:t==null?void 0:t.onRegionMouseMove,onDragEnd:t==null?void 0:t.onRegionDragEnd,onPointerDown:t==null?void 0:t.onRegionPointerDown,onPointerUp:t==null?void 0:t.onRegionPointerUp,"data-position":t==null?void 0:t.props.position,"data-expanded":t==null?void 0:t.state.isExpanded,style:{"--gap":`${t==null?void 0:t.props.gap}px`,"--raise-factor":(r=t==null?void 0:t.props.position)!=null&&r.includes("top")?1:-1,"--front-toast-height":`${((n=t==null?void 0:t.toasts[0])==null?void 0:n.height)||0}px`}});return Pt.createElement(yo,{instance:a,attrs:e,children:o.children})}});import{Component as wo}from"@primereact/core/component";import{styles as Io}from"@primereact/styles/toast";import{mergeProps as Co}from"@primeuix/utils";import*as Ct from"react";var It={as:"div"};var Rt=d({name:"ToastTitle",defaultProps:It,styles:Io,setup(){let a=b();return{toast:f(),toastItem:a}},render(a){var r;let{props:o,toastItem:t}=a,e=Co({className:"p-toast-title"});return Ct.createElement(wo,{instance:a,attrs:e,children:(r=o.children)!=null?r:t==null?void 0:t.props.data.title})}});var ta=d({name:"Toast",defaultProps:Z,styles:Eo,setup(a){return Do(a.inProps)},render(a){let{props:o}=a;return z.createElement(W,{value:a},z.createElement(Ro,{as:z.Fragment,instance:a,attrs:{},children:o.children}))},components:{Portal:yt,Region:wt,Item:Tt,Close:nt,Title:Rt,Description:ct,Icon:ut,Action:rt}});var j=class{constructor(){this.toasts=[];this.listeners=new Set;this.toastCounter=0;this.add=(o,t)=>(this.toasts.push(c(i({},t),{id:o})),this.emit({type:"add",toast:c(i({},t),{id:o})}),o);this.create=o=>{let t=o.id||this.generateId();return this.toasts.find(r=>r.id===t)?(this.update(t,o),t):this.add(t,o)};this.remove=o=>{if(o){let t=this.toasts.findIndex(e=>e.id===o);t>-1&&(this.toasts[t].removed=!0,this.toasts[t].height=0,this.emit({type:"remove",toastId:o}))}else this.toasts.forEach(t=>{this.remove(t.id)})};this.delete=o=>{o?(this.toasts=this.toasts.filter(t=>t.id!==o),this.emit({type:"delete",toastId:o})):(this.toasts=[],this.emit({type:"clear"}))};this.update=(o,t)=>{let e=this.toasts.findIndex(r=>r.id===o);e>-1&&(this.toasts[e]=i(i({},this.toasts[e]),t),this.emit({type:"update",toast:this.toasts[e]}))};this.success=o=>this.create(c(i({},o),{variant:"success"}));this.danger=o=>this.create(c(i({},o),{variant:"danger"}));this.warn=o=>this.create(c(i({},o),{variant:"warn"}));this.info=o=>this.create(c(i({},o),{variant:"info"}));this.loading=o=>this.create(c(i({},o),{variant:"loading"}));this.custom=(o,t)=>{let e=(t==null?void 0:t.id)||this.generateId(),r=i({id:e,variant:"custom",jsx:typeof o=="function"?o(e):o},t);return this.create(r)};this.promise=(o,t)=>G(this,null,function*(){var r;let e=i({id:(r=t.loading.id)!=null?r:this.generateId(),variant:"loading"},t.loading);return this.create(e),o.then(n=>{let u=typeof t.success=="function"?t.success(n):t.success;return u?this.update(e.id,c(i({},u),{id:e.id,variant:"success"})):this.remove(e.id),n}).catch(n=>{let u=typeof t.error=="function"?t.error(n):t.error;throw u?this.update(e.id,c(i({},u),{id:e.id,variant:"danger"})):this.remove(e.id),n})});this.toasts=[],this.listeners=new Set}generateId(){return`toast-${++this.toastCounter}-${Date.now()}`}emit(o){this.listeners.forEach(t=>t(o))}subscribe(o){return this.listeners.add(o),()=>this.listeners.delete(o)}getToasts(){return[...this.toasts]}},h=new j,ea=Object.assign(h.create,{success:h.success,danger:h.danger,warn:h.warn,info:h.info,loading:h.loading,remove:h.remove,clear:h.delete,promise:h.promise,custom:h.custom,update:h.update});import*as p from"react";var Dt={data:{}};var Oo=50,Ao=.11,Ho=1.5,Ta=So({name:"useToastItem",defaultProps:Dt,setup:({props:a,elementRef:o})=>{let{data:t}=a,e=f(),[r,n]=p.useState(!1),[u,v]=p.useState(!1),[T,E]=p.useState(!1),[U,k]=p.useState(null),[C,P]=p.useState(null),[K,M]=p.useState(0),X=p.useRef(null),O=p.useRef(null),F=p.useRef(t.duration||(e==null?void 0:e.props.timeout)||6e3),V=p.useRef(0),q=p.useRef(0),A=p.useRef(()=>{}),H=p.useRef(null),Y=p.useRef(null),Et={isMounted:r,isSwipeOut:T,isSwiping:u,swipeOutDirection:U,swipeDirection:C,realHeight:K},{index:St,offset:kt}=p.useMemo(()=>{if(!(e!=null&&e.toasts)||!Array.isArray(e.toasts))return{index:0,offset:0};let s=e.toasts,m=s.indexOf(t);if(m===-1)return{index:0,offset:0};let g=(t.removed?s:s.filter(x=>!x.removed)).indexOf(t),w=s.slice(0,m).reduce((x,I)=>x+(I.height||0),0);return{index:g,offset:w}},[e==null?void 0:e.toasts,t.id,t.removed]),R=p.useCallback(()=>{var m;h.remove(t.id),e==null||e.handleFocusElement(o.current),A.current=l=>{l.propertyName==="transform"&&(s(),h.delete(t.id))},H.current=setTimeout(()=>{s(),h.delete(t.id)},500);let s=()=>{var l;H.current&&clearTimeout(H.current),(l=o.current)==null||l.removeEventListener("transitionend",A.current)};(m=o.current)==null||m.addEventListener("transitionend",A.current)},[t,o,e==null?void 0:e.setToasts,T]),Mt=s=>{var m;s.key==="Escape"&&t.dismissible!==!1&&t.variant!=="loading"&&(R(),(m=t.onDismiss)==null||m.call(t))},Ot=()=>{var s;(s=e==null?void 0:e.handleToastFocus)==null||s.call(e)},At=s=>{s.button===2||t.variant==="loading"||t.dismissible===!1||(X.current=new Date,s.target.setPointerCapture(s.pointerId),v(!0),O.current={x:s.clientX,y:s.clientY})},Ht=s=>{var L,N;if(!O.current||t.variant==="loading"||t.dismissible===!1)return;let m=s.clientY-O.current.y,l=s.clientX-O.current.x;C||(Math.abs(m)>Math.abs(l)?P("y"):P("x"));let g=y=>{let D=Math.abs(y)/20;return y*(1/(Ho+D))},w=(e==null?void 0:e.props.position)||"",x={x:0,y:0},I=w.split("-");if(C==="y"){let y=m<0,D=I.includes("top"),$=I.includes("bottom");D&&y||$&&!y?x.y=m:x.y=g(m)}else if(C==="x"){let y=l<0,D=I.includes("left"),$=I.includes("right");D&&y||$&&!y?x.x=l:x.x=g(l)}o.current&&((L=o.current)==null||L.style.setProperty("--p-swipe-amount-x",`${x.x}px`),(N=o.current)==null||N.style.setProperty("--p-swipe-amount-y",`${x.y}px`))},Yt=()=>{var x,I,L,N,y,D;if(t.variant==="loading"||t.dismissible===!1)return;O.current=null,v(!1);let s=Number(((x=o.current)==null?void 0:x.style.getPropertyValue("--p-swipe-amount-x").replace("px",""))||0),m=Number(((I=o.current)==null?void 0:I.style.getPropertyValue("--p-swipe-amount-y").replace("px",""))||0),l=new Date().getTime()-(((L=X.current)==null?void 0:L.getTime())||0),g=C==="x"?s:m,w=Math.abs(g)/l;if(Math.abs(g)>=Oo||w>Ao){k(C==="x"?s<0?"left":"right":m<0?"up":"down"),R(),E(!0),(N=t.onDismiss)==null||N.call(t);return}else(y=o.current)==null||y.style.setProperty("--p-swipe-amount-x","0px"),(D=o.current)==null||D.style.setProperty("--p-swipe-amount-y","0px");P(null),X.current=null},Lt=()=>{v(!1),P(null),X.current=null},Nt=()=>{var s;R(),(s=t.onDismiss)==null||s.call(t)};return ko(()=>{n(!0)}),Mo(()=>{var s;H.current&&clearTimeout(H.current),A.current&&((s=o.current)==null||s.removeEventListener("transitionend",A.current))}),p.useEffect(()=>{t.removed&&R()},[t.removed,R]),p.useEffect(()=>{if(t.variant==="loading"||t.duration===1/0)return;let s=null,m=()=>{F.current!==1/0&&(V.current=new Date().getTime(),s=setTimeout(()=>{var g;R(),(g=t.onTimeout)==null||g.call(t)},F.current))},l=()=>{if(q.current<V.current){let g=new Date().getTime()-V.current;F.current=F.current-g}q.current=new Date().getTime()};return e!=null&&e.state.isExpanded||e!=null&&e.state.isInteracting?l():m(),()=>{s&&clearTimeout(s)}},[e==null?void 0:e.state.isExpanded,e==null?void 0:e.state.isInteracting,R]),p.useEffect(()=>{if(!(o!=null&&o.current)||!(e!=null&&e.setToasts))return;let s=o.current.getBoundingClientRect().height;M(s),e.setToasts(m=>m.map(l=>l.id===t.id?c(i({},l),{height:s}):l))},[e==null?void 0:e.setToasts,t.id]),p.useLayoutEffect(()=>{if(!(!r||!(o!=null&&o.current)||!(e!=null&&e.setToasts)))return Y.current&&cancelAnimationFrame(Y.current),Y.current=requestAnimationFrame(()=>{let s=o.current;if(!s)return;let m=s.style.height;s.style.height="auto";let l=s.offsetHeight;s.style.height=m,M(l),e.setToasts(g=>g.map(w=>w.id===t.id?c(i({},w),{height:l}):w))}),()=>{Y.current&&cancelAnimationFrame(Y.current)}},[r,t.variant,t.title,t.description,t.action,t.icon,t.jsx]),{state:Et,offset:kt,index:St,deleteToast:R,onPointerDown:At,onPointerMove:Ht,onPointerUp:Yt,onDragEnd:Lt,handleCloseOnClick:Nt,onKeyDown:Mt,onFocus:Ot}}});export{Dt as defaultProps,Ta as useToastItem};
|
|
1
|
+
var Gt=Object.defineProperty,Qt=Object.defineProperties;var Zt=Object.getOwnPropertyDescriptors;var pt=Object.getOwnPropertySymbols;var te=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var ct=(s,r,t)=>r in s?Gt(s,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[r]=t,n=(s,r)=>{for(var t in r||(r={}))te.call(r,t)&&ct(s,t,r[t]);if(pt)for(var t of pt(r))ee.call(r,t)&&ct(s,t,r[t]);return s},m=(s,r)=>Qt(s,Zt(r));var mt=(s,r,t)=>new Promise((e,o)=>{var a=l=>{try{f(t.next(l))}catch(h){o(h)}},c=l=>{try{f(t.throw(l))}catch(h){o(h)}},f=l=>l.done?e(l.value):Promise.resolve(l.value).then(a,c);f((t=t.apply(s,r)).next())});import{withHeadless as ze}from"@primereact/core/headless";import{useMountEffect as Ue}from"@primereact/hooks/use-mount-effect";import{useVisibilityChange as je}from"@primereact/hooks/use-visibility-change";import{Component as Ne}from"@primereact/core/component";import{useToast as Ve}from"@primereact/headless/toast";import{styles as Fe}from"@primereact/styles/toast";import{withComponent as re}from"@primereact/core/component";import{styles as oe}from"@primereact/styles/base";var g=({name:s="UnknownComponent",defaultProps:r,styles:t=m(n({},oe),{name:"global"}),components:e,setup:o,render:a})=>re({name:s,defaultProps:r,styles:t,components:e,setup:o,render:a});import*as A from"react";import{createOptionalContext as se}from"@primereact/core/utils";var[lt,T]=se();import*as dt from"@primereact/headless/toast";var ut=m(n({},dt.defaultProps),{richColors:!1});import{Component as ie}from"@primereact/core/component";import{styles as ne}from"@primereact/styles/toast";import{mergeProps as pe}from"@primeuix/utils";import*as gt from"react";import{createOptionalContext as ae}from"@primereact/core/utils";var[ft,x]=ae();var ht={as:"button"};var Tt=g({name:"ToastAction",defaultProps:ht,styles:ne,setup(){let s=x();return{toast:T(),toastItem:s}},render(s){var l,h;let{id:r,props:t,ptmi:e,toastItem:o,toast:a}=s,c=(l=o==null?void 0:o.props.toast.action)!=null?l:{},f=pe(m(n({id:r},c),{className:a==null?void 0:a.cx("action")}),a==null?void 0:a.ptm("action"),e("root"));return gt.createElement(ie,{pIf:!!(o!=null&&o.props.toast.action),instance:s,attrs:f,children:(h=c==null?void 0:c.children)!=null?h:t.children})}});import{Component as ce}from"@primereact/core/component";import{styles as me}from"@primereact/styles/toast";import{mergeProps as le}from"@primeuix/utils";import*as yt from"react";var vt={as:"button"};var Pt=g({name:"ToastClose",defaultProps:vt,styles:me,setup(){let s=x();return{toast:T(),toastItem:s}},render(s){let{id:r,props:t,ptmi:e,toastItem:o,toast:a}=s,c=le({id:r,onClick:o==null?void 0:o.handleCloseOnClick,className:a==null?void 0:a.cx("close")},a==null?void 0:a.ptm("close"),e("root"));return yt.createElement(ce,{pIf:(o==null?void 0:o.props.toast.variant)!=="loading"&&(o==null?void 0:o.props.toast.dismissible)!==!1,instance:s,attrs:c,children:t.children})}});import{Component as de}from"@primereact/core/component";import{styles as ue}from"@primereact/styles/toast";import{mergeProps as fe}from"@primeuix/utils";import*as xt from"react";var bt={as:"div"};var wt=g({name:"ToastDescription",defaultProps:bt,styles:ue,setup(){let s=x();return{toast:T(),toastItem:s}},render(s){var c;let{props:r,toastItem:t,toast:e,ptmi:o}=s,a=fe({className:e==null?void 0:e.cx("description")},e==null?void 0:e.ptm("description"),o("root"));return xt.createElement(de,{instance:s,attrs:a,children:(c=r.children)!=null?c:t==null?void 0:t.props.toast.description})}});import{Component as he}from"@primereact/core/component";import{Icon as ge}from"@primereact/core/icon";import{CheckIcon as Te,ExclamationTriangleIcon as ve,InfoCircleIcon as ye,SpinnerIcon as Pe,TimesCircleIcon as be}from"@primereact/icons";import{mergeProps as xe}from"@primeuix/utils";import*as I from"react";import*as It from"@primereact/core/icon";var Rt=m(n({},It.defaultIconProps),{icons:void 0});var we={danger:I.createElement(be,null),warn:I.createElement(ve,null),info:I.createElement(ye,null),success:I.createElement(Te,null),loading:I.createElement(Pe,null)},kt=g({name:"ToastIcon",defaultProps:Rt,setup(){let s=T(),r=x();return{toast:s,toastItem:r}},render(s){var f,l;let{props:r,ptmi:t,toast:e,toastItem:o}=s,a=xe(n({className:e==null?void 0:e.cx("icon")},(o==null?void 0:o.props.toast.variant)==="loading"&&{spin:!0}),e==null?void 0:e.ptm("icon"),t("root")),c=n(n({},we),r.icons);return I.createElement(he,{pIf:!!(o!=null&&o.props.toast.icon)||!!c[o==null?void 0:o.props.toast.variant],as:ge,instance:s,attrs:a,children:(l=(f=o==null?void 0:o.props.toast.icon)!=null?f:c[o==null?void 0:o.props.toast.variant])!=null?l:r.children})}});import{Component as Ie}from"@primereact/core/component";import{useToastItem as Re}from"@primereact/headless/toast/item";import{styles as ke}from"@primereact/styles/toast";import{mergeProps as Se}from"@primeuix/utils";import*as j from"react";import*as St from"@primereact/headless/toast/item";var Dt=m(n({},St.defaultProps),{as:"div"});var Et=g({name:"ToastItem",defaultProps:Dt,styles:ke,setup(s){let r=Re(s.inProps),t=T();return m(n({},r),{toast:t})},render(s){var X,Y;let{id:r,props:t,ptmi:e,state:o,toast:a,offset:c,onPointerDown:f,onPointerMove:l,onPointerUp:h,onDragEnd:V,index:R,visibleIndex:M,isVisible:k,isFront:F}=s,{toast:v}=t,C=Se({id:r,className:a==null?void 0:a.cx("item"),tabIndex:k?0:-1,role:"alert",inert:!k,"aria-live":"assertive","aria-atomic":"true","aria-hidden":!k,style:{"--initial-height":o!=null&&o.initialHeight?`${o==null?void 0:o.initialHeight}px`:void 0,"--toast-index":o.removed?R:M,"--toast-z-index":(((X=a==null?void 0:a.toasts)==null?void 0:X.length)||0)-R,"--toast-offset":(o.removed?o.offsetBeforeRemove:c)+"px","--swipe-amount-x":"0px","--swipe-amount-y":"0px"},"data-id":v==null?void 0:v.id,"data-variant":v==null?void 0:v.variant,"data-rich-colors":a==null?void 0:a.props.richColors,"data-mounted":o==null?void 0:o.mounted,"data-swiped":o.isSwiped,"data-removed":o.removed,"data-visible":k,"data-index":R,"data-front":F,"data-swiping":o.swiping,"data-dismissible":v.dismissible,"data-swipe-out":o.swipeOut,"data-swipe-direction":o.swipeOutDirection,"data-expanded":a==null?void 0:a.state.isExpanded,onPointerDown:f,onPointerMove:l,onPointerUp:h,onDragEnd:V},a==null?void 0:a.ptm("item"),e("root"));return j.createElement(ft,{value:s},j.createElement(Ie,{instance:s,attrs:C,children:(Y=v==null?void 0:v.jsx)!=null?Y:t.children}))}});import{usePortal as De}from"@primereact/headless/portal";import{resolve as Ee}from"@primeuix/utils";import{createPortal as Me}from"react-dom";import*as Mt from"@primereact/headless/portal";var Ht=m(n({},Mt.defaultProps),{element:void 0,appendTo:"body"});var Ot=g({name:"Portal",defaultProps:Ht,setup(s){return De(s.inProps)},render(s){let{props:r,mountedState:t}=s,e=r.element||r.children;if(!e||!t)return null;let o=Ee(r.appendTo,s);if(o==="self")return e;let a=o?typeof o=="string"?document.querySelector(o)||document.body:o:document.body;return Me(e,a)}});import{createOptionalContext as He}from"@primereact/core/utils";var[Ro,ko]=He();var At=Ot;import{Component as Oe}from"@primereact/core/component";import{styles as Ae}from"@primereact/styles/toast";import{mergeProps as Ce}from"@primeuix/utils";import*as Xt from"react";var Ct={as:"div"};var Yt=g({name:"ToastRegion",defaultProps:Ct,styles:Ae,setup(){return{toast:T()}},render(s){var a,c;let{props:r,toast:t,ptmi:e}=s,o=Ce({role:"region",className:t==null?void 0:t.cx("region"),tabIndex:0,onMouseEnter:t==null?void 0:t.onRegionMouseEnter,onMouseLeave:t==null?void 0:t.onRegionMouseLeave,onMouseMove:t==null?void 0:t.onRegionMouseMove,onDragEnd:t==null?void 0:t.onRegionDragEnd,onPointerDown:t==null?void 0:t.onRegionPointerDown,onPointerUp:t==null?void 0:t.onRegionPointerUp,onFocus:t==null?void 0:t.onRegionFocus,onBlur:t==null?void 0:t.onRegionBlur,"data-position":t==null?void 0:t.props.position,"data-expanded":t==null?void 0:t.state.isExpanded,style:{"--gap":`${t==null?void 0:t.props.gap}px`,"--front-toast-height":`${((c=(a=t==null?void 0:t.state.heights)==null?void 0:a[0])==null?void 0:c.height)||0}px`}},t==null?void 0:t.ptm("region"),e("root"));return Xt.createElement(Oe,{instance:s,attrs:o,children:r.children})}});import{Component as Xe}from"@primereact/core/component";import{styles as Ye}from"@primereact/styles/toast";import{mergeProps as Le}from"@primeuix/utils";import*as Nt from"react";var Lt={as:"div"};var Vt=g({name:"ToastTitle",defaultProps:Lt,styles:Ye,setup(){let s=x();return{toast:T(),toastItem:s}},render(s){var c;let{props:r,toastItem:t,toast:e,ptmi:o}=s,a=Le({className:e==null?void 0:e.cx("title")},e==null?void 0:e.ptm("title"),o("root"));return Nt.createElement(Xe,{instance:s,attrs:a,children:(c=r.children)!=null?c:t==null?void 0:t.props.toast.title})}});var Ts=g({name:"Toast",defaultProps:ut,styles:Fe,setup(s){return Ve(s.inProps)},render(s){let{props:r}=s;return A.createElement(lt,{value:s},A.createElement(Ne,{as:A.Fragment,instance:s,attrs:{},children:r.children}))},components:{Portal:At,Region:Yt,Item:Et,Close:Pt,Title:Vt,Description:wt,Icon:kt,Action:Tt}});import*as p from"react";var Be=0,Ft=()=>`toast-${++Be}-${Date.now()}`,q=class{constructor(){this.listeners=new Set;this.snapshot=()=>this.toasts;this.subscribe=r=>(this.listeners.add(r),()=>{this.listeners.delete(r)});this.add=r=>this.create(r);this.update=(r,t)=>{this.commit(e=>e.map(o=>o.id===r?m(n(n({},o),t),{id:r}):o))};this.dismiss=r=>{if(r===void 0){this.commit(e=>e.map(o=>m(n({},o),{removed:!0})));return}if(this.toasts.some(e=>e.id===r))return this.commit(e=>e.map(o=>o.id===r?m(n({},o),{removed:!0}):o)),r};this.remove=r=>{if(this.toasts.some(e=>e.id===r))return this.commit(e=>e.filter(o=>o.id!==r)),r};this.clear=r=>{if(this.toasts.length){if(r){this.commit(t=>t.filter(e=>e.group!==r));return}this.commit([])}};this.get=r=>this.toasts.find(t=>t.id===r);this.success=r=>this.create(m(n({},r),{variant:"success"}));this.danger=r=>this.create(m(n({},r),{variant:"danger"}));this.warn=r=>this.create(m(n({},r),{variant:"warn"}));this.info=r=>this.create(m(n({},r),{variant:"info"}));this.loading=r=>{var t;return this.create(m(n({},r),{variant:"loading",dismissible:(t=r.dismissible)!=null?t:!1}))};this.custom=(r,t)=>{let e=this.ensureId(t==null?void 0:t.id),o=typeof r=="function"?r(e):r;return this.create(m(n({},t),{id:e,variant:"custom",jsx:o}))};this.promise=(r,t)=>mt(this,null,function*(){var a,c,f;let e=m(n({},t.loading),{id:(a=t.loading.id)!=null?a:Ft(),variant:"loading"}),o=this.create(e);try{let l=yield r,h=typeof t.success=="function"?t.success(l):t.success;return h?this.update(o,m(n({},h),{id:o,variant:(c=h.variant)!=null?c:"success",removed:!1})):this.remove(o),l}catch(l){let h=typeof t.error=="function"?t.error(l):t.error;throw h?this.update(o,m(n({},h),{id:o,variant:(f=h.variant)!=null?f:"danger",removed:!1})):this.remove(o),l}});this.toasts=[]}emit(){this.listeners.forEach(r=>r())}commit(r){let t=typeof r=="function"?r(this.snapshot()):[...r];this.toasts=t,this.emit()}ensureId(r){return typeof r=="number"&&!Number.isNaN(r)||typeof r=="string"&&r.length>0?r:Ft()}create(r){var o;let t=this.ensureId(r.id),e=(o=r.dismissible)!=null?o:!0;return this.commit(a=>{let c=a.findIndex(f=>f.id===t);if(c!==-1){let f=[...a];return f[c]=m(n(n({},f[c]),r),{id:t,dismissible:e,removed:!1}),f}return[m(n({},r),{id:t,dismissible:e,removed:!1}),...a]}),t}},P=new q,$e=s=>P.add(s),ws=Object.assign($e,{success:P.success,danger:P.danger,warn:P.warn,info:P.info,loading:P.loading,dismiss:P.dismiss,custom:P.custom,remove:P.remove,clear:P.clear,promise:P.promise});var Bt={toast:{}};var qe=50,Ke=.11,As=ze({name:"useToastItem",defaultProps:Bt,setup:({props:s,elementRef:r})=>{var tt,et;let{toast:t}=s,e=T(),o=p.useMemo(()=>!(e!=null&&e.toasts)||!Array.isArray(e==null?void 0:e.toasts)?0:(e==null?void 0:e.toasts.findIndex(i=>i.id===t.id))||0,[e==null?void 0:e.toasts,t.id]),a=je(),[c,f]=p.useState(!1),[l,h]=p.useState(null),[V,R]=p.useState(null),[M,k]=p.useState(!1),[F,v]=p.useState(!1),[C,X]=p.useState(!1),[Y,K]=p.useState(!1),[_,B]=p.useState(0),[$t,J]=p.useState(0),L=t.dismissible!==!1&&t.variant!=="loading",H=p.useRef(t.duration||(e==null?void 0:e.props.timeout)||6e3),W=p.useRef(0),S=p.useRef(null),$=p.useRef(null),z=p.useRef(0),G=p.useRef(0),U=p.useMemo(()=>{var i,u;return(u=(i=e==null?void 0:e.state.heights)==null?void 0:i.findIndex(d=>d.toastId===t.id))!=null?u:0},[e==null?void 0:e.state.heights,t.id]),Q=p.useMemo(()=>t.duration||(e==null?void 0:e.props.timeout)||6e3,[t.duration,e==null?void 0:e.props.timeout]),O=p.useRef(0);O.current=(et=(tt=e==null?void 0:e.state.heights)==null?void 0:tt.reduce((i,u,d)=>d>=U?i:i+u.height,0))!=null?et:0;let Z=t.variant==="loading";p.useEffect(()=>{H.current=Q},[Q]),Ue(()=>{k(!0)}),p.useEffect(()=>{let i=r.current;if(!i||!t.id)return;let u=i.getBoundingClientRect().height;return J(u),e==null||e.setHeights(d=>[{toastId:t.id,height:u},...d]),()=>e==null?void 0:e.setHeights(d=>d.filter(y=>y.toastId!==t.id))},[e==null?void 0:e.setHeights,t.id]),p.useLayoutEffect(()=>{if(!M||!t.id||!(e!=null&&e.setHeights))return;let i=r.current;if(!i)return;let u=i.style.height;i.style.height="auto";let d=i==null?void 0:i.getBoundingClientRect().height;i.style.height=u,J(d),e==null||e.setHeights(y=>y.find(b=>b.toastId===t.id)?y.map(b=>b.toastId===t.id?m(n({},b),{height:d}):b):[{toastId:t.id,height:d},...y])},[M,t.title,t.description,t.id,t.jsx,t.action,t.icon,e==null?void 0:e.setHeights]);let w=p.useCallback(()=>{e==null||e.handleFocusManagement(r.current),f(!0),B(O.current),e==null||e.setHeights(i=>i.filter(u=>u.toastId!==t.id)),requestAnimationFrame(()=>{let i=r.current;if(!i)return;let d=getComputedStyle(i).transitionDuration,y=parseFloat(d)*(d.includes("ms")?1:1e3);setTimeout(()=>{P.remove(t.id)},y!=null?y:10)})},[t,e==null?void 0:e.setHeights]);p.useEffect(()=>{var i;t.removed&&(w(),(i=t.onDismiss)==null||i.call(t,t))},[t.removed,w]);let zt=p.useCallback(()=>{if(G.current<z.current){let i=new Date().getTime()-z.current;H.current=H.current-i}G.current=new Date().getTime()},[]),Ut=p.useCallback(()=>{H.current!==1/0&&(z.current=new Date().getTime(),$.current=setTimeout(()=>{var i;(i=t.onTimeout)==null||i.call(t,t),w()},H.current))},[t,w]);p.useEffect(()=>{if(!(t.variant==="loading"||t.duration===1/0))return e!=null&&e.state.isExpanded||e!=null&&e.state.isInteracting||!a?zt():Ut(),()=>{$.current&&clearTimeout($.current)}},[e==null?void 0:e.state.isExpanded,e==null?void 0:e.state.isInteracting,t,w,a]);let jt=()=>{v(!1),h(null),S.current=null},qt=i=>{i.button===0&&(Z||!L||(W.current=new Date().getTime(),B(O.current),i.target.setPointerCapture(i.pointerId),v(!0),S.current={x:i.clientX,y:i.clientY}))},Kt=i=>{var st,at,it;if(!S.current||!L||((at=(st=window.getSelection())==null?void 0:st.toString().length)!=null?at:0)>0)return;let u=i.clientY-S.current.y,d=i.clientX-S.current.x,y=Math.abs(d)>1||Math.abs(u)>1,D=((it=e==null?void 0:e.props.position)!=null?it:"bottom-right").split("-"),b=D[0],rt=D[1];!l&&y&&h(Math.abs(d)>Math.abs(u)?"x":"y");let E={x:0,y:0},ot=N=>{let nt=N*(Wt=>1/(1.5+Math.abs(Wt)/20))(N);return Math.abs(nt)<Math.abs(N)?nt:N};l==="x"?E.x=rt==="left"&&d<0||rt==="right"&&d>0?d:ot(d):l==="y"&&(E.y=b==="top"&&u<0||b==="bottom"&&u>0?u:ot(u)),(Math.abs(E.x)>0||Math.abs(E.y)>0)&&K(!0),r.current.style.setProperty("--swipe-amount-x",`${E.x}px`),r.current.style.setProperty("--swipe-amount-y",`${E.y}px`)},_t=()=>{var D,b;if(C||!L)return;v(!1),S.current=null;let i=Number(r.current.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),u=Number(r.current.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),d=l==="x"?i:u,y=Math.abs(d)/(new Date().getTime()-((D=W.current)!=null?D:0));if(Math.abs(d)>=qe||y>Ke){B(O.current),R(l==="x"?i>0?"right":"left":u>0?"down":"up"),w(),(b=t.onDismiss)==null||b.call(t,t),X(!0);return}else r.current.style.setProperty("--swipe-amount-x","0px"),r.current.style.setProperty("--swipe-amount-y","0px");K(!1),h(null)},Jt=()=>{var i;Z||!L||(w(),(i=t.onDismiss)==null||i.call(t,t))};return{state:{mounted:M,swiping:F,swipeOut:C,swipeOutDirection:V,swipeDirection:l,initialHeight:$t,isSwiped:Y,offsetBeforeRemove:_,removed:c},offset:O.current,offsetBeforeRemove:_,index:o,visibleIndex:U,isVisible:U+1<=((e==null?void 0:e.props.limit)||3),isFront:o===0,onPointerDown:qt,onPointerMove:Kt,onPointerUp:_t,onDragEnd:jt,handleCloseOnClick:Jt}}});export{Bt as defaultProps,As as useToastItem};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/toast/item/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/toast/item/useToastItem.ts","../../../../primereact/src/toast/Toast.tsx","../../../../primereact/src/base/index.ts","../../../../primereact/src/toast/Toast.context.ts","../../../../primereact/src/toast/Toast.props.ts","../../../../primereact/src/toast/action/ToastAction.tsx","../../../../primereact/src/toast/item/ToastItem.context.ts","../../../../primereact/src/toast/action/ToastAction.props.ts","../../../../primereact/src/toast/close/ToastClose.tsx","../../../../primereact/src/toast/close/ToastClose.props.ts","../../../../primereact/src/toast/description/ToastDescription.tsx","../../../../primereact/src/toast/description/ToastDescription.props.ts","../../../../primereact/src/toast/icon/ToastIcon.tsx","../../../../primereact/src/toast/icon/ToastIcon.props.ts","../../../../primereact/src/toast/item/ToastItem.tsx","../../../../primereact/src/toast/item/ToastItem.props.ts","../../../../primereact/src/portal/Portal.tsx","../../../../primereact/src/portal/Portal.props.ts","../../../../primereact/src/portal/Portal.context.ts","../../../../primereact/src/toast/portal/ToastPortal.tsx","../../../../primereact/src/toast/region/ToastRegion.tsx","../../../../primereact/src/toast/region/ToastRegion.props.ts","../../../../primereact/src/toast/title/ToastTitle.tsx","../../../../primereact/src/toast/title/ToastTitle.props.ts","../../../../primereact/src/toast/toastManager.ts","../../../src/toast/item/useToastItem.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useUnmountEffect } from '@primereact/hooks/use-unmount-effect';\nimport type { ToastType } from '@primereact/types/shared/toast';\nimport { ToastManagerInstance, useToastContext } from 'primereact/toast';\nimport * as React from 'react';\nimport { defaultProps } from './useToastItem.props';\n\nconst SWIPE_THRESHOLD = 50;\nconst VELOCITY_THRESHOLD = 0.11;\nconst DAMPENING_FACTOR = 1.5;\n\nexport const useToastItem = withHeadless({\n name: 'useToastItem',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { data } = props;\n const toast = useToastContext();\n const [isMounted, setIsMounted] = React.useState(false);\n const [isSwiping, setIsSwiping] = React.useState(false);\n const [isSwipeOut, setIsSwipeOut] = React.useState(false);\n const [swipeOutDirection, setSwipeOutDirection] = React.useState<'up' | 'down' | 'left' | 'right' | null>(null);\n const [swipeDirection, setSwipeDirection] = React.useState<'y' | 'x' | null>(null);\n const [realHeight, setRealHeight] = React.useState(0);\n const swipeStartTimeRef = React.useRef<Date | null>(null);\n const swipeStartPointerRef = React.useRef<{ x: number; y: number } | null>(null);\n const remainingTimeRef = React.useRef<number>(data.duration || toast?.props.timeout || 6000);\n const timeoutStartTimeRef = React.useRef<number>(0);\n const lastTimeoutStartTimeRef = React.useRef<number>(0);\n const onTransitionEndRef = React.useRef<(event: TransitionEvent) => void>(() => {});\n const fallbackTimeoutRef = React.useRef<NodeJS.Timeout | null>(null);\n const rafRef = React.useRef<number | null>(null);\n\n const state = {\n isMounted,\n isSwipeOut,\n isSwiping,\n swipeOutDirection,\n swipeDirection,\n realHeight\n };\n\n const { index, offset } = React.useMemo(() => {\n if (!toast?.toasts || !Array.isArray(toast.toasts)) return { index: 0, offset: 0 };\n\n const toasts = toast.toasts as ToastType[];\n const dataIndex = toasts.indexOf(data);\n\n if (dataIndex === -1) return { index: 0, offset: 0 };\n\n const visibleToasts = data.removed ? toasts : toasts.filter((toast) => !toast.removed);\n const index = visibleToasts.indexOf(data);\n\n const offset = toasts.slice(0, dataIndex).reduce((acc, toast) => acc + (toast.height || 0), 0);\n\n return { index, offset };\n }, [toast?.toasts, data.id, data.removed]);\n\n const deleteToast = React.useCallback(() => {\n ToastManagerInstance.remove(data.id);\n\n toast?.handleFocusElement(elementRef.current);\n\n onTransitionEndRef.current = (event: TransitionEvent) => {\n if (event.propertyName === 'transform') {\n cleanup();\n ToastManagerInstance.delete(data.id);\n }\n };\n\n fallbackTimeoutRef.current = setTimeout(() => {\n cleanup();\n ToastManagerInstance.delete(data.id);\n }, 500);\n\n const cleanup = () => {\n if (fallbackTimeoutRef.current) {\n clearTimeout(fallbackTimeoutRef.current);\n }\n\n elementRef.current?.removeEventListener('transitionend', onTransitionEndRef.current);\n };\n\n elementRef.current?.addEventListener('transitionend', onTransitionEndRef.current);\n }, [data, elementRef, toast?.setToasts, isSwipeOut]);\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && data.dismissible !== false && data.variant !== 'loading') {\n deleteToast();\n data.onDismiss?.();\n }\n };\n\n const onFocus = () => {\n toast?.handleToastFocus?.();\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n if (event.button === 2 || data.variant === 'loading' || data.dismissible === false) return;\n\n swipeStartTimeRef.current = new Date();\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n\n setIsSwiping(true);\n\n swipeStartPointerRef.current = { x: event.clientX, y: event.clientY };\n };\n\n const onPointerMove = (event: React.PointerEvent<HTMLDivElement>) => {\n if (!swipeStartPointerRef.current || data.variant === 'loading' || data.dismissible === false) return;\n\n const yDelta = event.clientY - swipeStartPointerRef.current.y;\n const xDelta = event.clientX - swipeStartPointerRef.current.x;\n\n if (!swipeDirection) {\n if (Math.abs(yDelta) > Math.abs(xDelta)) {\n setSwipeDirection('y');\n } else {\n setSwipeDirection('x');\n }\n }\n\n const applyDampening = (delta: number) => {\n const factor = Math.abs(delta) / 20;\n\n return delta * (1 / (DAMPENING_FACTOR + factor));\n };\n\n const position = toast?.props.position || '';\n\n const swipeAmount = { x: 0, y: 0 };\n\n const swipeDirections = position.split('-');\n\n if (swipeDirection === 'y') {\n const isSwipingUp = yDelta < 0;\n const isTop = swipeDirections.includes('top');\n const isBottom = swipeDirections.includes('bottom');\n\n if ((isTop && isSwipingUp) || (isBottom && !isSwipingUp)) {\n swipeAmount.y = yDelta;\n } else {\n swipeAmount.y = applyDampening(yDelta);\n }\n } else if (swipeDirection === 'x') {\n const isSwipingLeft = xDelta < 0;\n const isLeft = swipeDirections.includes('left');\n const isRight = swipeDirections.includes('right');\n\n if ((isLeft && isSwipingLeft) || (isRight && !isSwipingLeft)) {\n swipeAmount.x = xDelta;\n } else {\n swipeAmount.x = applyDampening(xDelta);\n }\n }\n\n if (elementRef.current) {\n elementRef.current?.style.setProperty('--p-swipe-amount-x', `${swipeAmount.x}px`);\n elementRef.current?.style.setProperty('--p-swipe-amount-y', `${swipeAmount.y}px`);\n }\n };\n\n const onPointerUp = () => {\n if (data.variant === 'loading' || data.dismissible === false) return;\n\n swipeStartPointerRef.current = null;\n setIsSwiping(false);\n const swipeAmountX = Number(elementRef.current?.style.getPropertyValue('--p-swipe-amount-x').replace('px', '') || 0);\n const swipeAmountY = Number(elementRef.current?.style.getPropertyValue('--p-swipe-amount-y').replace('px', '') || 0);\n\n const timeTaken = new Date().getTime() - (swipeStartTimeRef.current?.getTime() || 0);\n\n const swipeAmount = swipeDirection === 'x' ? swipeAmountX : swipeAmountY;\n const velocity = Math.abs(swipeAmount) / timeTaken;\n\n if (Math.abs(swipeAmount) >= SWIPE_THRESHOLD || velocity > VELOCITY_THRESHOLD) {\n if (swipeDirection === 'x') {\n setSwipeOutDirection(swipeAmountX < 0 ? 'left' : 'right');\n } else {\n setSwipeOutDirection(swipeAmountY < 0 ? 'up' : 'down');\n }\n\n deleteToast();\n setIsSwipeOut(true);\n data.onDismiss?.();\n\n return;\n } else {\n elementRef.current?.style.setProperty('--p-swipe-amount-x', `0px`);\n elementRef.current?.style.setProperty('--p-swipe-amount-y', `0px`);\n }\n\n setSwipeDirection(null);\n swipeStartTimeRef.current = null;\n };\n\n const onDragEnd = () => {\n setIsSwiping(false);\n setSwipeDirection(null);\n swipeStartTimeRef.current = null;\n };\n\n const handleCloseOnClick = () => {\n deleteToast();\n data.onDismiss?.();\n };\n\n useMountEffect(() => {\n setIsMounted(true);\n });\n\n useUnmountEffect(() => {\n if (fallbackTimeoutRef.current) {\n clearTimeout(fallbackTimeoutRef.current);\n }\n\n if (onTransitionEndRef.current) {\n elementRef.current?.removeEventListener('transitionend', onTransitionEndRef.current);\n }\n });\n\n React.useEffect(() => {\n if (data.removed) {\n deleteToast();\n }\n }, [data.removed, deleteToast]);\n\n React.useEffect(() => {\n if (data.variant === 'loading' || data.duration === Infinity) return;\n\n let timeoutId: NodeJS.Timeout | null = null;\n\n const startTimer = () => {\n if (remainingTimeRef.current === Infinity) return;\n\n timeoutStartTimeRef.current = new Date().getTime();\n\n timeoutId = setTimeout(() => {\n deleteToast();\n data.onTimeout?.();\n }, remainingTimeRef.current);\n };\n\n const pauseTimer = () => {\n if (lastTimeoutStartTimeRef.current < timeoutStartTimeRef.current) {\n const elapsedTime = new Date().getTime() - timeoutStartTimeRef.current;\n\n remainingTimeRef.current = remainingTimeRef.current - elapsedTime;\n }\n\n lastTimeoutStartTimeRef.current = new Date().getTime();\n };\n\n if (toast?.state.isExpanded || toast?.state.isInteracting) {\n pauseTimer();\n } else {\n startTimer();\n }\n\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [toast?.state.isExpanded, toast?.state.isInteracting, deleteToast]);\n\n React.useEffect(() => {\n if (!elementRef?.current || !toast?.setToasts) return;\n\n const height = elementRef.current.getBoundingClientRect().height;\n\n setRealHeight(height);\n toast.setToasts((prev) => prev.map((t) => (t.id === data.id ? { ...t, height } : t)));\n }, [toast?.setToasts, data.id]);\n\n React.useLayoutEffect(() => {\n if (!isMounted || !elementRef?.current || !toast?.setToasts) return;\n\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n\n rafRef.current = requestAnimationFrame(() => {\n const el = elementRef.current;\n\n if (!el) return;\n\n const originalHeight = el.style.height;\n\n el.style.height = 'auto';\n const newHeight = el.offsetHeight;\n\n el.style.height = originalHeight;\n\n setRealHeight(newHeight);\n toast.setToasts((prev) => prev.map((t) => (t.id === data.id ? { ...t, height: newHeight } : t)));\n });\n\n return () => {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, [isMounted, data.variant, data.title, data.description, data.action, data.icon, data.jsx]);\n\n return {\n state,\n offset,\n index,\n deleteToast,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onDragEnd,\n handleCloseOnClick,\n onKeyDown,\n onFocus\n };\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useToast } from '@primereact/headless/toast';\nimport { styles } from '@primereact/styles/toast';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ToastProvider } from './Toast.context';\nimport { defaultProps } from './Toast.props';\nimport { ToastAction } from './action';\nimport { ToastClose } from './close/ToastClose';\nimport { ToastDescription } from './description';\nimport { ToastIcon } from './icon/ToastIcon';\nimport { ToastItem } from './item';\nimport { ToastPortal } from './portal/ToastPortal';\nimport { ToastRegion } from './region/ToastRegion';\nimport './styles.css';\nimport { ToastTitle } from './title';\n\nexport const Toast = withComponent({\n name: 'Toast',\n defaultProps,\n styles,\n setup(instance) {\n const toast = useToast(instance.inProps);\n\n return toast;\n },\n render(instance) {\n const { props } = instance;\n\n return (\n <ToastProvider value={instance}>\n <Component as={React.Fragment} instance={instance} attrs={{}} children={props.children} />\n </ToastProvider>\n );\n },\n components: {\n Portal: ToastPortal,\n Region: ToastRegion,\n Item: ToastItem,\n Close: ToastClose,\n Title: ToastTitle,\n Description: ToastDescription,\n Icon: ToastIcon,\n Action: ToastAction\n }\n});\n","import { withComponent as withComponentInCore } from '@primereact/core/component';\nimport { styles as baseStyles } from '@primereact/styles/base';\nimport type { withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\n\nexport const withComponent = <IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles = {\n ...baseStyles,\n name: 'global'\n } as Styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) => {\n return withComponentInCore<IProps, DProps, Exposes, Styles, CData>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n });\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ToastInstance } from '@primereact/types/shared/toast';\n\nexport const [ToastProvider, useToastContext] = createOptionalContext<ToastInstance>();\n","import * as HeadlessToast from '@primereact/headless/toast';\nimport type { ToastProps } from '@primereact/types/shared/toast';\n\nexport const defaultProps: ToastProps = {\n ...HeadlessToast.defaultProps,\n richColors: false\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultActionProps } from './ToastAction.props';\n\nexport const ToastAction = withComponent({\n name: 'ToastAction',\n defaultProps: defaultActionProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { id, props, ptmi, toastItem } = instance;\n\n const actionProps = toastItem?.props.data.action ?? {};\n\n const rootProps = mergeProps(\n {\n id,\n ...actionProps\n },\n ptmi('root')\n );\n\n return <Component pIf={!!toastItem?.props.data.action} instance={instance} attrs={rootProps} children={actionProps?.children ?? props.children} />;\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ToastItemInstance } from '@primereact/types/shared/toast';\n\nexport const [ToastItemProvider, useToastItemContext] = createOptionalContext<ToastItemInstance>();\n","import type { ToastActionProps } from '@primereact/types/shared/toast';\n\nexport const defaultActionProps: ToastActionProps = {\n as: 'button'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultCloseProps } from './ToastClose.props';\n\nexport const ToastClose = withComponent({\n name: 'ToastClose',\n defaultProps: defaultCloseProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { id, props, ptmi, toastItem } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n onClick: toastItem?.handleCloseOnClick\n },\n ptmi('root')\n );\n\n return <Component pIf={toastItem?.props.data.variant !== 'loading' && toastItem?.props.data.dismissible !== false} instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ToastCloseProps } from '@primereact/types/shared/toast';\n\nexport const defaultCloseProps: ToastCloseProps = {\n as: 'button'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultDescriptionProps } from './ToastDescription.props';\n\nexport const ToastDescription = withComponent({\n name: 'ToastDescription',\n defaultProps: defaultDescriptionProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, toastItem } = instance;\n\n const rootProps = mergeProps({\n className: 'p-toast-description'\n });\n\n return <Component instance={instance} attrs={rootProps} children={props.children ?? toastItem?.props.data.description} />;\n }\n});\n","import type { ToastDescriptionProps } from '@primereact/types/shared/toast';\n\nexport const defaultDescriptionProps: ToastDescriptionProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { Icon } from '@primereact/core/icon';\nimport { CheckIcon, ExclamationTriangleIcon, InfoCircleIcon, SpinnerIcon, TimesCircleIcon } from '@primereact/icons';\nimport { ToastVariant, useToastProps } from '@primereact/types/shared/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultIconProps } from './ToastIcon.props';\n\nconst defaultIcons: useToastProps['icons'] = {\n danger: <TimesCircleIcon />,\n warn: <ExclamationTriangleIcon />,\n info: <InfoCircleIcon />,\n success: <CheckIcon />,\n loading: <SpinnerIcon />\n};\n\nexport const ToastIcon = withComponent({\n name: 'ToastIcon',\n defaultProps: defaultIconProps,\n setup() {\n const toast = useToastContext();\n\n const toastItem = useToastItemContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, ptmi, toast, toastItem } = instance;\n\n const rootProps = mergeProps(\n {\n className: toast?.cx('icon'),\n ...(toastItem?.props.data.variant === 'loading' && { spin: true })\n },\n toast?.ptm('icon'),\n ptmi('root')\n );\n\n return (\n <Component\n pIf={!!toastItem?.props.data.icon || !!defaultIcons[toastItem?.props.data.variant as ToastVariant]}\n as={Icon}\n instance={instance}\n attrs={rootProps}\n children={toastItem?.props.data.icon ?? defaultIcons[toastItem?.props.data.variant as ToastVariant] ?? props.children}\n />\n );\n }\n});\n","import * as Icon from '@primereact/core/icon';\nimport type { ToastIconProps } from '@primereact/types/shared/toast';\n\nexport const defaultIconProps: ToastIconProps = {\n ...(Icon.defaultIconProps as ToastIconProps)\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useToastItem } from '@primereact/headless/toast/item';\nimport { styles } from '@primereact/styles/toast';\nimport { cn, mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastContext } from '../Toast.context';\nimport { ToastItemProvider } from './ToastItem.context';\nimport { defaultItemProps } from './ToastItem.props';\n\nexport const ToastItem = withComponent({\n name: 'ToastItem',\n defaultProps: defaultItemProps,\n styles,\n setup(instance) {\n const toastItem = useToastItem(instance.inProps);\n\n const toast = useToastContext();\n\n return { ...toastItem, toast };\n },\n render(instance) {\n const { id, props, ptmi, toast, state, offset, onPointerDown, onPointerMove, onPointerUp, onDragEnd, index, onKeyDown } = instance;\n\n const { data } = props;\n\n const rootProps = mergeProps(\n {\n id,\n className: cn('p-toast'),\n tabIndex: 0,\n role: 'alert',\n 'aria-live': 'assertive',\n 'aria-atomic': 'true',\n style: { '--p-toast-index': index, '--p-toast-offset': offset + 'px', '--p-swipe-amount-x': '0px', '--p-swipe-amount-y': '0px', '--p-real-height': state.realHeight + 'px' } as React.CSSProperties,\n 'data-overflow': index > 2,\n 'data-removed': data.removed,\n 'data-expanded': toast?.state.isExpanded,\n 'data-mounted': state?.isMounted,\n 'data-front': index === 0,\n 'data-swiping': state?.isSwiping,\n 'data-swipe-out': state?.isSwipeOut,\n 'data-swipe-out-direction': state?.swipeOutDirection,\n 'data-variant': data.variant,\n 'data-id': data.id,\n 'data-rich-colors': toast?.props.richColors,\n onPointerDown: onPointerDown,\n onPointerMove: onPointerMove,\n onPointerUp: onPointerUp,\n onDragEnd: onDragEnd,\n onKeyDown: onKeyDown\n },\n ptmi('root')\n );\n\n return (\n <ToastItemProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={data.jsx ?? props.children}></Component>\n </ToastItemProvider>\n );\n }\n});\n","import * as HeadlessToastItem from '@primereact/headless/toast/item';\nimport type { ToastItemProps } from '@primereact/types/shared/toast';\n\nexport const defaultItemProps: ToastItemProps = {\n ...HeadlessToastItem.defaultProps,\n as: 'div'\n};\n","'use client';\nimport { usePortal } from '@primereact/headless/portal';\nimport { PortalProps } from '@primereact/types/shared/portal';\nimport { resolve } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport { createPortal } from 'react-dom';\nimport { defaultProps } from './Portal.props';\n\nexport const Portal = withComponent({\n name: 'Portal',\n defaultProps,\n setup(instance) {\n const portal = usePortal(instance.inProps);\n\n return portal;\n },\n render(instance) {\n const { props, mountedState } = instance;\n const element = props.element || (props.children as React.ReactNode);\n\n if (!element || !mountedState) {\n return null;\n }\n\n const appendTo = resolve(props.appendTo, instance) as PortalProps['appendTo'];\n\n if (appendTo === 'self') {\n return element;\n }\n\n const container = !appendTo ? document.body : typeof appendTo === 'string' ? document.querySelector(appendTo) || document.body : appendTo;\n\n return createPortal(element, container);\n }\n});\n","import * as HeadlessPortal from '@primereact/headless/portal';\nimport type { PortalProps } from '@primereact/types/shared/portal';\n\nexport const defaultProps: PortalProps = {\n ...HeadlessPortal.defaultProps,\n element: undefined,\n appendTo: 'body'\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { PortalInstance } from '@primereact/types/shared/portal';\n\nexport const [PortalProvider, usePortalContext] = createOptionalContext<PortalInstance>();\n","'use client';\nimport { Portal } from 'primereact/portal';\n\nexport const ToastPortal = Portal;\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastContext } from '../Toast.context';\nimport { defaultRegionProps } from './ToastRegion.props';\n\nexport const ToastRegion = withComponent({\n name: 'ToastRegion',\n defaultProps: defaultRegionProps,\n styles,\n setup() {\n const toast = useToastContext();\n\n return { toast };\n },\n render(instance) {\n const { props, toast } = instance;\n\n const rootProps = mergeProps({\n role: 'region',\n className: 'p-toast-region',\n tabIndex: -1,\n onMouseEnter: toast?.onRegionMouseEnter,\n onMouseLeave: toast?.onRegionMouseLeave,\n onMouseMove: toast?.onRegionMouseMove,\n onDragEnd: toast?.onRegionDragEnd,\n onPointerDown: toast?.onRegionPointerDown,\n onPointerUp: toast?.onRegionPointerUp,\n 'data-position': toast?.props.position,\n 'data-expanded': toast?.state.isExpanded,\n style: {\n '--gap': `${toast?.props.gap}px`,\n '--raise-factor': toast?.props.position?.includes('top') ? 1 : -1,\n '--front-toast-height': `${toast?.toasts[0]?.height || 0}px`\n } as React.CSSProperties\n });\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ToastRegionProps } from '@primereact/types/shared/toast';\n\nexport const defaultRegionProps: ToastRegionProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultTitleProps } from './ToastTitle.props';\n\nexport const ToastTitle = withComponent({\n name: 'ToastTitle',\n defaultProps: defaultTitleProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, toastItem } = instance;\n\n const rootProps = mergeProps({\n className: 'p-toast-title'\n });\n\n return <Component instance={instance} attrs={rootProps} children={props.children ?? toastItem?.props.data.title} />;\n }\n});\n","import type { ToastTitleProps } from '@primereact/types/shared/toast';\n\nexport const defaultTitleProps: ToastTitleProps = {\n as: 'div'\n};\n","import type { ToastEvent, ToastId, ToastListener, ToastPromiseType, ToastType } from '@primereact/types/shared/toast';\n\nclass ToastManager {\n private toasts: ToastType[] = [];\n private listeners: Set<ToastListener> = new Set();\n private toastCounter = 0;\n\n constructor() {\n this.toasts = [];\n this.listeners = new Set();\n }\n\n private generateId(): string {\n return `toast-${++this.toastCounter}-${Date.now()}`;\n }\n\n private emit(event: ToastEvent): void {\n this.listeners.forEach((listener) => listener(event));\n }\n\n // Subscribe to toast events\n subscribe(listener: ToastListener): () => void {\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n // Get all current toasts\n getToasts(): ToastType[] {\n return [...this.toasts];\n }\n\n // Add a new toast\n add = (id: ToastId, toast: ToastType): ToastId => {\n this.toasts.push({ ...toast, id });\n this.emit({ type: 'add', toast: { ...toast, id } });\n\n return id;\n };\n\n create = (toast: ToastType): ToastId => {\n const id = toast.id || this.generateId();\n\n const isAlreadyExists = this.toasts.find((t) => t.id === id);\n\n if (isAlreadyExists) {\n this.update(id, toast);\n\n return id;\n }\n\n return this.add(id, toast);\n };\n\n // Remove a toast by id or all toasts\n remove = (id?: ToastId): void => {\n if (id) {\n const toastIndex = this.toasts.findIndex((toast) => toast.id === id);\n\n if (toastIndex > -1) {\n this.toasts[toastIndex].removed = true;\n this.toasts[toastIndex].height = 0;\n\n this.emit({ type: 'remove', toastId: id });\n }\n } else {\n this.toasts.forEach((toast) => {\n this.remove(toast.id);\n });\n }\n };\n\n // Clear all toasts\n delete = (id?: ToastId): void => {\n if (id) {\n this.toasts = this.toasts.filter((toast) => toast.id !== id);\n this.emit({ type: 'delete', toastId: id });\n } else {\n this.toasts = [];\n this.emit({ type: 'clear' });\n }\n };\n\n // Update an existing toast\n update = (id: ToastId, updates: Partial<ToastType>): void => {\n const toastIndex = this.toasts.findIndex((toast) => toast.id === id);\n\n if (toastIndex > -1) {\n this.toasts[toastIndex] = { ...this.toasts[toastIndex], ...updates };\n this.emit({ type: 'update', toast: this.toasts[toastIndex] });\n }\n };\n\n // Helper methods for different toast types\n success = (toast: ToastType): ToastId => {\n return this.create({\n ...toast,\n variant: 'success'\n });\n };\n\n danger = (toast: ToastType): ToastId => {\n return this.create({\n ...toast,\n variant: 'danger'\n });\n };\n\n warn = (toast: ToastType): ToastId => {\n return this.create({\n ...toast,\n variant: 'warn'\n });\n };\n\n info = (toast: ToastType): ToastId => {\n return this.create({\n ...toast,\n variant: 'info'\n });\n };\n\n loading = (toast: ToastType): ToastId => {\n return this.create({\n ...toast,\n variant: 'loading'\n });\n };\n\n custom = (jsx: React.ReactElement | ((id: ToastId) => React.ReactElement), options?: Partial<ToastType>): ToastId => {\n const id = options?.id || this.generateId();\n\n const customToast: ToastType = {\n id,\n variant: 'custom',\n jsx: typeof jsx === 'function' ? jsx(id) : jsx,\n ...options\n };\n\n return this.create(customToast);\n };\n\n promise = async <T>(promise: Promise<T>, options: ToastPromiseType<T>): Promise<T> => {\n const loadingToast: ToastType = {\n id: options.loading.id ?? this.generateId(),\n variant: 'loading',\n ...options.loading\n };\n\n this.create(loadingToast);\n\n return promise\n .then((data) => {\n const successToast = typeof options.success === 'function' ? options.success(data) : options.success;\n\n if (successToast) {\n this.update(loadingToast.id!, {\n ...successToast,\n id: loadingToast.id,\n variant: 'success'\n });\n } else {\n this.remove(loadingToast.id);\n }\n\n return data;\n })\n .catch((error) => {\n const errorToast = typeof options.error === 'function' ? options.error(error) : options.error;\n\n if (errorToast) {\n this.update(loadingToast.id!, {\n ...errorToast,\n id: loadingToast.id,\n variant: 'danger'\n });\n } else {\n this.remove(loadingToast.id);\n }\n\n throw error;\n });\n };\n}\n\nexport const ToastManagerInstance = new ToastManager();\n\nexport const toast = Object.assign(ToastManagerInstance.create, {\n success: ToastManagerInstance.success,\n danger: ToastManagerInstance.danger,\n warn: ToastManagerInstance.warn,\n info: ToastManagerInstance.info,\n loading: ToastManagerInstance.loading,\n remove: ToastManagerInstance.remove,\n clear: ToastManagerInstance.delete,\n promise: ToastManagerInstance.promise,\n custom: ToastManagerInstance.custom,\n update: ToastManagerInstance.update\n});\n","import type { useToastItemProps } from '@primereact/types/shared/toast';\n\nexport const defaultProps: useToastItemProps = {\n data: {}\n};\n"],"mappings":"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","names":["withHeadless","useMountEffect","useUnmountEffect","Component","useToast","styles","withComponentInCore","baseStyles","withComponent","name","defaultProps","styles","__spreadProps","__spreadValues","baseStyles","components","setup","render","withComponentInCore","React","createOptionalContext","ToastProvider","useToastContext","HeadlessToast","defaultProps","__spreadProps","__spreadValues","Component","styles","mergeProps","React","createOptionalContext","ToastItemProvider","useToastItemContext","defaultActionProps","ToastAction","withComponent","defaultActionProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","_b","id","props","ptmi","actionProps","rootProps","mergeProps","__spreadValues","Component","Component","styles","mergeProps","React","defaultCloseProps","ToastClose","withComponent","defaultCloseProps","styles","toastItem","useToastItemContext","useToastContext","instance","id","props","ptmi","rootProps","mergeProps","Component","Component","styles","mergeProps","React","defaultDescriptionProps","ToastDescription","withComponent","defaultDescriptionProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","props","rootProps","mergeProps","Component","Component","Icon","CheckIcon","ExclamationTriangleIcon","InfoCircleIcon","SpinnerIcon","TimesCircleIcon","mergeProps","React","Icon","defaultIconProps","__spreadValues","defaultIcons","TimesCircleIcon","ExclamationTriangleIcon","InfoCircleIcon","CheckIcon","SpinnerIcon","ToastIcon","withComponent","defaultIconProps","toast","useToastContext","toastItem","useToastItemContext","instance","_a","_b","props","ptmi","rootProps","mergeProps","__spreadValues","Component","Icon","Component","useToastItem","styles","cn","mergeProps","React","HeadlessToastItem","defaultItemProps","__spreadProps","__spreadValues","ToastItem","withComponent","defaultItemProps","styles","instance","toastItem","useToastItem","toast","useToastContext","__spreadProps","__spreadValues","_a","id","props","ptmi","state","offset","onPointerDown","onPointerMove","onPointerUp","onDragEnd","index","onKeyDown","data","rootProps","mergeProps","cn","ToastItemProvider","Component","usePortal","resolve","createPortal","HeadlessPortal","defaultProps","__spreadProps","__spreadValues","Portal","withComponent","defaultProps","instance","usePortal","props","mountedState","element","appendTo","resolve","container","createPortal","createOptionalContext","PortalProvider","usePortalContext","ToastPortal","Portal","Component","styles","mergeProps","React","defaultRegionProps","ToastRegion","withComponent","defaultRegionProps","styles","useToastContext","instance","_a","_b","props","toast","rootProps","mergeProps","Component","Component","styles","mergeProps","React","defaultTitleProps","ToastTitle","withComponent","defaultTitleProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","props","rootProps","mergeProps","Component","Toast","withComponent","defaultProps","styles","instance","useToast","props","ToastProvider","Component","ToastPortal","ToastRegion","ToastItem","ToastClose","ToastTitle","ToastDescription","ToastIcon","ToastAction","ToastManager","id","toast","__spreadProps","__spreadValues","t","toastIndex","updates","jsx","options","customToast","promise","__async","_a","loadingToast","data","successToast","error","errorToast","event","listener","ToastManagerInstance","React","defaultProps","SWIPE_THRESHOLD","VELOCITY_THRESHOLD","DAMPENING_FACTOR","useToastItem","withHeadless","defaultProps","props","elementRef","data","toast","useToastContext","isMounted","setIsMounted","isSwiping","setIsSwiping","isSwipeOut","setIsSwipeOut","swipeOutDirection","setSwipeOutDirection","swipeDirection","setSwipeDirection","realHeight","setRealHeight","swipeStartTimeRef","swipeStartPointerRef","remainingTimeRef","timeoutStartTimeRef","lastTimeoutStartTimeRef","onTransitionEndRef","fallbackTimeoutRef","rafRef","state","index","offset","toasts","dataIndex","acc","deleteToast","_a","ToastManagerInstance","event","cleanup","onKeyDown","onFocus","onPointerDown","onPointerMove","_b","yDelta","xDelta","applyDampening","delta","factor","position","swipeAmount","swipeDirections","isSwipingUp","isTop","isBottom","isSwipingLeft","isLeft","isRight","onPointerUp","_c","_d","_e","_f","swipeAmountX","swipeAmountY","timeTaken","velocity","onDragEnd","handleCloseOnClick","useMountEffect","useUnmountEffect","timeoutId","startTimer","pauseTimer","elapsedTime","height","prev","t","__spreadProps","__spreadValues","el","originalHeight","newHeight"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/toast/item/useToastItem.ts","../../../../primereact/src/toast/Toast.tsx","../../../../primereact/src/base/index.ts","../../../../primereact/src/toast/Toast.context.ts","../../../../primereact/src/toast/Toast.props.ts","../../../../primereact/src/toast/action/ToastAction.tsx","../../../../primereact/src/toast/item/ToastItem.context.ts","../../../../primereact/src/toast/action/ToastAction.props.ts","../../../../primereact/src/toast/close/ToastClose.tsx","../../../../primereact/src/toast/close/ToastClose.props.ts","../../../../primereact/src/toast/description/ToastDescription.tsx","../../../../primereact/src/toast/description/ToastDescription.props.ts","../../../../primereact/src/toast/icon/ToastIcon.tsx","../../../../primereact/src/toast/icon/ToastIcon.props.ts","../../../../primereact/src/toast/item/ToastItem.tsx","../../../../primereact/src/toast/item/ToastItem.props.ts","../../../../primereact/src/portal/Portal.tsx","../../../../primereact/src/portal/Portal.props.ts","../../../../primereact/src/portal/Portal.context.ts","../../../../primereact/src/toast/portal/ToastPortal.tsx","../../../../primereact/src/toast/region/ToastRegion.tsx","../../../../primereact/src/toast/region/ToastRegion.props.ts","../../../../primereact/src/toast/title/ToastTitle.tsx","../../../../primereact/src/toast/title/ToastTitle.props.ts","../../../src/toast/toastStore.ts","../../../src/toast/item/useToastItem.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useVisibilityChange } from '@primereact/hooks/use-visibility-change';\nimport { useToastContext } from 'primereact/toast';\nimport * as React from 'react';\nimport { ToastStore } from '../toastStore';\nimport { defaultProps } from './useToastItem.props';\n\nconst SWIPE_THRESHOLD = 50;\nconst VELOCITY_THRESHOLD = 0.11;\n\nexport const useToastItem = withHeadless({\n name: 'useToastItem',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { toast } = props;\n const toastContext = useToastContext();\n\n const index = React.useMemo(() => {\n if (!toastContext?.toasts || !Array.isArray(toastContext?.toasts)) return 0;\n\n return toastContext?.toasts.findIndex((t) => t.id === toast.id) || 0;\n }, [toastContext?.toasts, toast.id]);\n\n const isDocumentVisible = useVisibilityChange();\n const [removed, setRemoved] = React.useState(false);\n const [swipeDirection, setSwipeDirection] = React.useState<'x' | 'y' | null>(null);\n const [swipeOutDirection, setSwipeOutDirection] = React.useState<'left' | 'right' | 'up' | 'down' | null>(null);\n const [mounted, setMounted] = React.useState(false);\n const [swiping, setSwiping] = React.useState(false);\n const [swipeOut, setSwipeOut] = React.useState(false);\n const [isSwiped, setIsSwiped] = React.useState(false);\n const [offsetBeforeRemove, setOffsetBeforeRemove] = React.useState(0);\n const [initialHeight, setInitialHeight] = React.useState(0);\n\n const dismissible = toast.dismissible !== false && toast.variant !== 'loading';\n\n const remainingTimeRef = React.useRef(toast.duration || toastContext?.props.timeout || 6000);\n const swipeStartTimeRef = React.useRef<number>(0);\n const pointerStartPositionRef = React.useRef<{ x: number; y: number } | null>(null);\n\n const timeoutRef = React.useRef<NodeJS.Timeout | null>(null);\n const timeoutStartTimeRef = React.useRef<number>(0);\n const lastTimeoutStartTimeRef = React.useRef<number>(0);\n\n const visibleIndex = React.useMemo(() => {\n return toastContext?.state.heights?.findIndex((h) => h.toastId === toast.id) ?? 0;\n }, [toastContext?.state.heights, toast.id]);\n\n const duration = React.useMemo(() => {\n return toast.duration || toastContext?.props.timeout || 6000;\n }, [toast.duration, toastContext?.props.timeout]);\n\n const offset = React.useRef(0);\n\n offset.current =\n toastContext?.state.heights?.reduce((prev, curr, reducerIndex) => {\n if (reducerIndex >= visibleIndex) return prev;\n\n return prev + curr.height;\n }, 0) ?? 0;\n\n const disabled = toast.variant === 'loading';\n\n React.useEffect(() => {\n remainingTimeRef.current = duration;\n }, [duration]);\n\n useMountEffect(() => {\n setMounted(true);\n });\n\n React.useEffect(() => {\n const toastNode = elementRef.current;\n\n if (!toastNode || !toast.id) return;\n\n const height = toastNode.getBoundingClientRect().height;\n\n setInitialHeight(height);\n\n toastContext?.setHeights((prev) => [{ toastId: toast.id!, height }, ...prev]);\n\n return () => toastContext?.setHeights((prev) => prev.filter((h) => h.toastId !== toast.id));\n }, [toastContext?.setHeights, toast.id]);\n\n React.useLayoutEffect(() => {\n if (!mounted || !toast.id || !toastContext?.setHeights) return;\n\n const toastNode = elementRef.current;\n\n if (!toastNode) return;\n\n const originalHeight = toastNode.style.height;\n\n toastNode.style.height = 'auto';\n const newHeight = toastNode?.getBoundingClientRect().height;\n\n toastNode.style.height = originalHeight;\n\n setInitialHeight(newHeight);\n\n toastContext?.setHeights((prev) => {\n const isAlreadyExists = prev.find((h) => h.toastId === toast.id);\n\n if (!isAlreadyExists) {\n return [{ toastId: toast.id!, height: newHeight }, ...prev];\n } else {\n return prev.map((h) => (h.toastId === toast.id ? { ...h, height: newHeight } : h));\n }\n });\n }, [mounted, toast.title, toast.description, toast.id, toast.jsx, toast.action, toast.icon, toastContext?.setHeights]);\n\n const deleteToast = React.useCallback(() => {\n toastContext?.handleFocusManagement(elementRef.current);\n\n setRemoved(true);\n setOffsetBeforeRemove(offset.current);\n toastContext?.setHeights((prev) => prev.filter((h) => h.toastId !== toast.id));\n\n requestAnimationFrame(() => {\n const toastNode = elementRef.current;\n\n if (!toastNode) return;\n\n const computedStyle = getComputedStyle(toastNode);\n const durationStr = computedStyle.transitionDuration;\n const durationMs = parseFloat(durationStr) * (durationStr.includes('ms') ? 1 : 1000);\n\n setTimeout(() => {\n ToastStore.remove(toast.id!);\n }, durationMs ?? 10);\n });\n }, [toast, toastContext?.setHeights]);\n\n React.useEffect(() => {\n if (toast.removed) {\n deleteToast();\n toast.onDismiss?.(toast);\n }\n }, [toast.removed, deleteToast]);\n\n const pauseTimer = React.useCallback(() => {\n if (lastTimeoutStartTimeRef.current < timeoutStartTimeRef.current) {\n const elapsedTime = new Date().getTime() - timeoutStartTimeRef.current;\n\n remainingTimeRef.current = remainingTimeRef.current - elapsedTime;\n }\n\n lastTimeoutStartTimeRef.current = new Date().getTime();\n }, []);\n\n const startTimer = React.useCallback(() => {\n if (remainingTimeRef.current === Infinity) return;\n\n timeoutStartTimeRef.current = new Date().getTime();\n\n timeoutRef.current = setTimeout(() => {\n toast.onTimeout?.(toast);\n deleteToast();\n }, remainingTimeRef.current);\n }, [toast, deleteToast]);\n\n React.useEffect(() => {\n if (toast.variant === 'loading' || toast.duration === Infinity) return;\n\n if (toastContext?.state.isExpanded || toastContext?.state.isInteracting || !isDocumentVisible) {\n pauseTimer();\n } else {\n startTimer();\n }\n\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n };\n }, [toastContext?.state.isExpanded, toastContext?.state.isInteracting, toast, deleteToast, isDocumentVisible]);\n\n const onDragEnd = () => {\n setSwiping(false);\n setSwipeDirection(null);\n pointerStartPositionRef.current = null;\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n if (event.button !== 0) return;\n\n if (disabled || !dismissible) return;\n\n swipeStartTimeRef.current = new Date().getTime();\n setOffsetBeforeRemove(offset.current);\n\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n\n setSwiping(true);\n pointerStartPositionRef.current = { x: event.clientX, y: event.clientY };\n };\n\n const onPointerMove = (event: React.PointerEvent<HTMLDivElement>) => {\n if (!pointerStartPositionRef.current || !dismissible) return;\n\n if ((window.getSelection()?.toString().length ?? 0) > 0) return;\n\n const yDelta = event.clientY - pointerStartPositionRef.current.y;\n const xDelta = event.clientX - pointerStartPositionRef.current.x;\n\n const isRealSwipe = Math.abs(xDelta) > 1 || Math.abs(yDelta) > 1;\n\n const position = (toastContext?.props.position ?? 'bottom-right').split('-');\n const side = position[0];\n const align = position[1];\n\n if (!swipeDirection && isRealSwipe) {\n setSwipeDirection(Math.abs(xDelta) > Math.abs(yDelta) ? 'x' : 'y');\n }\n\n const swipeAmount = { x: 0, y: 0 };\n\n const applyDampening = (delta: number) => {\n const dampen = (delta: number) => {\n const factor = Math.abs(delta) / 20;\n\n return 1 / (1.5 + factor);\n };\n\n const dampenedDelta = delta * dampen(delta);\n\n return Math.abs(dampenedDelta) < Math.abs(delta) ? dampenedDelta : delta;\n };\n\n if (swipeDirection === 'x') {\n swipeAmount.x = (align === 'left' && xDelta < 0) || (align === 'right' && xDelta > 0) ? xDelta : applyDampening(xDelta);\n } else if (swipeDirection === 'y') {\n swipeAmount.y = (side === 'top' && yDelta < 0) || (side === 'bottom' && yDelta > 0) ? yDelta : applyDampening(yDelta);\n }\n\n if (Math.abs(swipeAmount.x) > 0 || Math.abs(swipeAmount.y) > 0) {\n setIsSwiped(true);\n }\n\n (elementRef.current as HTMLElement).style.setProperty('--swipe-amount-x', `${swipeAmount.x}px`);\n (elementRef.current as HTMLElement).style.setProperty('--swipe-amount-y', `${swipeAmount.y}px`);\n };\n\n const onPointerUp = () => {\n if (swipeOut || !dismissible) return;\n\n setSwiping(false);\n pointerStartPositionRef.current = null;\n const swipeAmountX = Number((elementRef.current as HTMLElement).style.getPropertyValue('--swipe-amount-x').replace('px', '') || 0);\n const swipeAmountY = Number((elementRef.current as HTMLElement).style.getPropertyValue('--swipe-amount-y').replace('px', '') || 0);\n\n const swipeAmount = swipeDirection === 'x' ? swipeAmountX : swipeAmountY;\n const velocity = Math.abs(swipeAmount) / (new Date().getTime() - (swipeStartTimeRef.current ?? 0));\n\n if (Math.abs(swipeAmount) >= SWIPE_THRESHOLD || velocity > VELOCITY_THRESHOLD) {\n setOffsetBeforeRemove(offset.current);\n\n if (swipeDirection === 'x') {\n setSwipeOutDirection(swipeAmountX > 0 ? 'right' : 'left');\n } else {\n setSwipeOutDirection(swipeAmountY > 0 ? 'down' : 'up');\n }\n\n deleteToast();\n toast.onDismiss?.(toast);\n setSwipeOut(true);\n\n return;\n } else {\n (elementRef.current as HTMLElement).style.setProperty('--swipe-amount-x', `0px`);\n (elementRef.current as HTMLElement).style.setProperty('--swipe-amount-y', `0px`);\n }\n\n setIsSwiped(false);\n setSwipeDirection(null);\n };\n\n const handleCloseOnClick = () => {\n if (disabled || !dismissible) return;\n\n deleteToast();\n toast.onDismiss?.(toast);\n };\n\n const state = {\n mounted,\n swiping,\n swipeOut,\n swipeOutDirection,\n swipeDirection,\n initialHeight,\n isSwiped,\n offsetBeforeRemove,\n removed\n };\n\n return {\n state,\n offset: offset.current,\n offsetBeforeRemove,\n index,\n visibleIndex,\n isVisible: visibleIndex + 1 <= (toastContext?.props.limit || 3),\n isFront: index === 0,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onDragEnd,\n handleCloseOnClick\n };\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useToast } from '@primereact/headless/toast';\nimport { styles } from '@primereact/styles/toast';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ToastProvider } from './Toast.context';\nimport { defaultProps } from './Toast.props';\nimport { ToastAction } from './action';\nimport { ToastClose } from './close/ToastClose';\nimport { ToastDescription } from './description';\nimport { ToastIcon } from './icon/ToastIcon';\nimport { ToastItem } from './item';\nimport { ToastPortal } from './portal/ToastPortal';\nimport { ToastRegion } from './region/ToastRegion';\nimport './styles.css';\nimport { ToastTitle } from './title';\n\nexport const Toast = withComponent({\n name: 'Toast',\n defaultProps,\n styles,\n setup(instance) {\n const toast = useToast(instance.inProps);\n\n return toast;\n },\n render(instance) {\n const { props } = instance;\n\n return (\n <ToastProvider value={instance}>\n <Component as={React.Fragment} instance={instance} attrs={{}} children={props.children} />\n </ToastProvider>\n );\n },\n components: {\n Portal: ToastPortal,\n Region: ToastRegion,\n Item: ToastItem,\n Close: ToastClose,\n Title: ToastTitle,\n Description: ToastDescription,\n Icon: ToastIcon,\n Action: ToastAction\n }\n});\n","import { withComponent as withComponentInCore } from '@primereact/core/component';\nimport { styles as baseStyles } from '@primereact/styles/base';\nimport type { withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\n\nexport const withComponent = <IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles = {\n ...baseStyles,\n name: 'global'\n } as Styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) => {\n return withComponentInCore<IProps, DProps, Exposes, Styles, CData>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n });\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ToastInstance } from '@primereact/types/shared/toast';\n\nexport const [ToastProvider, useToastContext] = createOptionalContext<ToastInstance>();\n","import * as HeadlessToast from '@primereact/headless/toast';\nimport type { ToastProps } from '@primereact/types/shared/toast';\n\nexport const defaultProps: ToastProps = {\n ...HeadlessToast.defaultProps,\n richColors: false\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultActionProps } from './ToastAction.props';\n\nexport const ToastAction = withComponent({\n name: 'ToastAction',\n defaultProps: defaultActionProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { id, props, ptmi, toastItem, toast } = instance;\n\n const actionProps = toastItem?.props.toast.action ?? {};\n\n const rootProps = mergeProps(\n {\n id,\n ...actionProps,\n className: toast?.cx('action')\n },\n toast?.ptm('action'),\n ptmi('root')\n );\n\n return <Component pIf={!!toastItem?.props.toast.action} instance={instance} attrs={rootProps} children={actionProps?.children ?? props.children} />;\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ToastItemInstance } from '@primereact/types/shared/toast';\n\nexport const [ToastItemProvider, useToastItemContext] = createOptionalContext<ToastItemInstance>();\n","import type { ToastActionProps } from '@primereact/types/shared/toast';\n\nexport const defaultActionProps: ToastActionProps = {\n as: 'button'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultCloseProps } from './ToastClose.props';\n\nexport const ToastClose = withComponent({\n name: 'ToastClose',\n defaultProps: defaultCloseProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { id, props, ptmi, toastItem, toast } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n onClick: toastItem?.handleCloseOnClick,\n className: toast?.cx('close')\n },\n toast?.ptm('close'),\n ptmi('root')\n );\n\n return <Component pIf={toastItem?.props.toast.variant !== 'loading' && toastItem?.props.toast.dismissible !== false} instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ToastCloseProps } from '@primereact/types/shared/toast';\n\nexport const defaultCloseProps: ToastCloseProps = {\n as: 'button'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultDescriptionProps } from './ToastDescription.props';\n\nexport const ToastDescription = withComponent({\n name: 'ToastDescription',\n defaultProps: defaultDescriptionProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, toastItem, toast, ptmi } = instance;\n\n const rootProps = mergeProps(\n {\n className: toast?.cx('description')\n },\n toast?.ptm('description'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children ?? toastItem?.props.toast.description} />;\n }\n});\n","import type { ToastDescriptionProps } from '@primereact/types/shared/toast';\n\nexport const defaultDescriptionProps: ToastDescriptionProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { Icon } from '@primereact/core/icon';\nimport { CheckIcon, ExclamationTriangleIcon, InfoCircleIcon, SpinnerIcon, TimesCircleIcon } from '@primereact/icons';\nimport { ToastIconProps, ToastVariant } from '@primereact/types/shared/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultIconProps } from './ToastIcon.props';\n\nconst defaultIcons: ToastIconProps['icons'] = {\n danger: <TimesCircleIcon />,\n warn: <ExclamationTriangleIcon />,\n info: <InfoCircleIcon />,\n success: <CheckIcon />,\n loading: <SpinnerIcon />\n};\n\nexport const ToastIcon = withComponent({\n name: 'ToastIcon',\n defaultProps: defaultIconProps,\n setup() {\n const toast = useToastContext();\n\n const toastItem = useToastItemContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, ptmi, toast, toastItem } = instance;\n\n const rootProps = mergeProps(\n {\n className: toast?.cx('icon'),\n ...(toastItem?.props.toast.variant === 'loading' && { spin: true })\n },\n toast?.ptm('icon'),\n ptmi('root')\n );\n\n const icons = { ...defaultIcons, ...props.icons };\n\n return (\n <Component\n pIf={!!toastItem?.props.toast.icon || !!icons[toastItem?.props.toast.variant as ToastVariant]}\n as={Icon}\n instance={instance}\n attrs={rootProps}\n children={toastItem?.props.toast.icon ?? icons[toastItem?.props.toast.variant as ToastVariant] ?? props.children}\n />\n );\n }\n});\n","import * as Icon from '@primereact/core/icon';\nimport type { ToastIconProps } from '@primereact/types/shared/toast';\n\nexport const defaultIconProps: ToastIconProps = {\n ...(Icon.defaultIconProps as ToastIconProps),\n icons: undefined\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useToastItem } from '@primereact/headless/toast/item';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastContext } from '../Toast.context';\nimport { ToastItemProvider } from './ToastItem.context';\nimport { defaultItemProps } from './ToastItem.props';\n\nexport const ToastItem = withComponent({\n name: 'ToastItem',\n defaultProps: defaultItemProps,\n styles,\n setup(instance) {\n const toastItem = useToastItem(instance.inProps);\n\n const toast = useToastContext();\n\n return { ...toastItem, toast };\n },\n render(instance) {\n const { id, props, ptmi, state, toast: toastContext, offset, onPointerDown, onPointerMove, onPointerUp, onDragEnd, index, visibleIndex, isVisible, isFront } = instance;\n\n const { toast } = props;\n\n const rootProps = mergeProps(\n {\n id,\n className: toastContext?.cx('item'),\n tabIndex: isVisible ? 0 : -1,\n role: 'alert',\n inert: !isVisible,\n 'aria-live': 'assertive',\n 'aria-atomic': 'true',\n 'aria-hidden': !isVisible,\n style: {\n '--initial-height': state?.initialHeight ? `${state?.initialHeight}px` : undefined,\n '--toast-index': state.removed ? index : visibleIndex,\n '--toast-z-index': (toastContext?.toasts?.length || 0) - index,\n '--toast-offset': (state.removed ? state.offsetBeforeRemove : offset) + 'px',\n '--swipe-amount-x': '0px',\n '--swipe-amount-y': '0px'\n } as React.CSSProperties,\n 'data-id': toast?.id,\n 'data-variant': toast?.variant,\n 'data-rich-colors': toastContext?.props.richColors,\n 'data-mounted': state?.mounted,\n 'data-swiped': state.isSwiped,\n 'data-removed': state.removed,\n 'data-visible': isVisible,\n 'data-index': index,\n 'data-front': isFront,\n 'data-swiping': state.swiping,\n 'data-dismissible': toast.dismissible,\n 'data-swipe-out': state.swipeOut,\n 'data-swipe-direction': state.swipeOutDirection,\n 'data-expanded': toastContext?.state.isExpanded,\n onPointerDown: onPointerDown,\n onPointerMove: onPointerMove,\n onPointerUp: onPointerUp,\n onDragEnd: onDragEnd\n },\n toastContext?.ptm('item'),\n ptmi('root')\n );\n\n return (\n <ToastItemProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={toast?.jsx ?? props.children}></Component>\n </ToastItemProvider>\n );\n }\n});\n","import * as HeadlessToastItem from '@primereact/headless/toast/item';\nimport type { ToastItemProps } from '@primereact/types/shared/toast';\n\nexport const defaultItemProps: ToastItemProps = {\n ...HeadlessToastItem.defaultProps,\n as: 'div'\n};\n","'use client';\nimport { usePortal } from '@primereact/headless/portal';\nimport { PortalProps } from '@primereact/types/shared/portal';\nimport { resolve } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport { createPortal } from 'react-dom';\nimport { defaultProps } from './Portal.props';\n\nexport const Portal = withComponent({\n name: 'Portal',\n defaultProps,\n setup(instance) {\n const portal = usePortal(instance.inProps);\n\n return portal;\n },\n render(instance) {\n const { props, mountedState } = instance;\n const element = props.element || (props.children as React.ReactNode);\n\n if (!element || !mountedState) {\n return null;\n }\n\n const appendTo = resolve(props.appendTo, instance) as PortalProps['appendTo'];\n\n if (appendTo === 'self') {\n return element;\n }\n\n const container = !appendTo ? document.body : typeof appendTo === 'string' ? document.querySelector(appendTo) || document.body : appendTo;\n\n return createPortal(element, container);\n }\n});\n","import * as HeadlessPortal from '@primereact/headless/portal';\nimport type { PortalProps } from '@primereact/types/shared/portal';\n\nexport const defaultProps: PortalProps = {\n ...HeadlessPortal.defaultProps,\n element: undefined,\n appendTo: 'body'\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { PortalInstance } from '@primereact/types/shared/portal';\n\nexport const [PortalProvider, usePortalContext] = createOptionalContext<PortalInstance>();\n","'use client';\nimport { Portal } from 'primereact/portal';\n\nexport const ToastPortal = Portal;\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastContext } from '../Toast.context';\nimport { defaultRegionProps } from './ToastRegion.props';\n\nexport const ToastRegion = withComponent({\n name: 'ToastRegion',\n defaultProps: defaultRegionProps,\n styles,\n setup() {\n const toast = useToastContext();\n\n return { toast };\n },\n render(instance) {\n const { props, toast, ptmi } = instance;\n\n const rootProps = mergeProps(\n {\n role: 'region',\n className: toast?.cx('region'),\n tabIndex: 0,\n onMouseEnter: toast?.onRegionMouseEnter,\n onMouseLeave: toast?.onRegionMouseLeave,\n onMouseMove: toast?.onRegionMouseMove,\n onDragEnd: toast?.onRegionDragEnd,\n onPointerDown: toast?.onRegionPointerDown,\n onPointerUp: toast?.onRegionPointerUp,\n onFocus: toast?.onRegionFocus,\n onBlur: toast?.onRegionBlur,\n 'data-position': toast?.props.position,\n 'data-expanded': toast?.state.isExpanded,\n style: {\n '--gap': `${toast?.props.gap}px`,\n '--front-toast-height': `${toast?.state.heights?.[0]?.height || 0}px`\n } as React.CSSProperties\n },\n toast?.ptm('region'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ToastRegionProps } from '@primereact/types/shared/toast';\n\nexport const defaultRegionProps: ToastRegionProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { styles } from '@primereact/styles/toast';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useToastItemContext } from '../item/ToastItem.context';\nimport { useToastContext } from '../Toast.context';\nimport { defaultTitleProps } from './ToastTitle.props';\n\nexport const ToastTitle = withComponent({\n name: 'ToastTitle',\n defaultProps: defaultTitleProps,\n styles,\n setup() {\n const toastItem = useToastItemContext();\n const toast = useToastContext();\n\n return { toast, toastItem };\n },\n render(instance) {\n const { props, toastItem, toast, ptmi } = instance;\n\n const rootProps = mergeProps(\n {\n className: toast?.cx('title')\n },\n toast?.ptm('title'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children ?? toastItem?.props.toast.title} />;\n }\n});\n","import type { ToastTitleProps } from '@primereact/types/shared/toast';\n\nexport const defaultTitleProps: ToastTitleProps = {\n as: 'div'\n};\n","import type { ToastId, ToastPromiseType, ToastType } from '@primereact/types/shared/toast';\nimport type * as React from 'react';\n\ntype ToastStateAction = ToastType[] | ((prev: ToastType[]) => ToastType[]);\n\nlet toastCounter = 0;\nconst generateId = (): string => `toast-${++toastCounter}-${Date.now()}`;\n\nclass ToastManager {\n private toasts: ToastType[];\n private listeners: Set<() => void> = new Set();\n\n constructor() {\n this.toasts = [];\n }\n\n private emit() {\n this.listeners.forEach((listener) => listener());\n }\n\n snapshot = (): ToastType[] => this.toasts;\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n\n return () => {\n this.listeners.delete(listener);\n };\n };\n\n private commit(action: ToastStateAction) {\n const nextState = typeof action === 'function' ? (action as (prev: ToastType[]) => ToastType[])(this.snapshot()) : [...action];\n\n this.toasts = nextState;\n this.emit();\n }\n\n private ensureId(id?: ToastId): ToastId {\n if ((typeof id === 'number' && !Number.isNaN(id)) || (typeof id === 'string' && id.length > 0)) {\n return id;\n }\n\n return generateId();\n }\n\n add = (toast: ToastType): ToastId => {\n return this.create(toast);\n };\n\n create(toast: ToastType): ToastId {\n const id = this.ensureId(toast.id);\n const dismissible = toast.dismissible ?? true;\n\n this.commit((prev) => {\n const index = prev.findIndex((t) => t.id === id);\n\n if (index !== -1) {\n const next = [...prev];\n\n next[index] = { ...next[index], ...toast, id, dismissible, removed: false };\n\n return next;\n }\n\n return [{ ...toast, id, dismissible, removed: false }, ...prev];\n });\n\n return id;\n }\n\n update = (id: ToastId, updates: Partial<ToastType>) => {\n this.commit((prev) => prev.map((toast) => (toast.id === id ? { ...toast, ...updates, id } : toast)));\n };\n\n dismiss = (id?: ToastId): ToastId | undefined => {\n if (id === undefined) {\n this.commit((prev) => prev.map((toast) => ({ ...toast, removed: true })));\n\n return undefined;\n }\n\n const exists = this.toasts.some((toast) => toast.id === id);\n\n if (!exists) {\n return undefined;\n }\n\n this.commit((prev) => prev.map((toast) => (toast.id === id ? { ...toast, removed: true } : toast)));\n\n return id;\n };\n\n remove = (id: ToastId): ToastId | undefined => {\n const exists = this.toasts.some((toast) => toast.id === id);\n\n if (!exists) {\n return undefined;\n }\n\n this.commit((prev) => prev.filter((toast) => toast.id !== id));\n\n return id;\n };\n\n clear = (group?: string) => {\n if (!this.toasts.length) {\n return;\n }\n\n if (group) {\n this.commit((prev) => prev.filter((toast) => toast.group !== group));\n\n return;\n }\n\n this.commit([]);\n };\n\n get = (id: ToastId): ToastType | undefined => {\n return this.toasts.find((toast) => toast.id === id);\n };\n\n success = (toast: ToastType): ToastId => {\n return this.create({ ...toast, variant: 'success' });\n };\n\n danger = (toast: ToastType): ToastId => {\n return this.create({ ...toast, variant: 'danger' });\n };\n\n warn = (toast: ToastType): ToastId => {\n return this.create({ ...toast, variant: 'warn' });\n };\n\n info = (toast: ToastType): ToastId => {\n return this.create({ ...toast, variant: 'info' });\n };\n\n loading = (toast: ToastType): ToastId => {\n return this.create({ ...toast, variant: 'loading', dismissible: toast.dismissible ?? false });\n };\n\n custom = (jsx: React.ReactElement | ((id: ToastId) => React.ReactElement), options?: Partial<ToastType>): ToastId => {\n const id = this.ensureId(options?.id);\n const element = typeof jsx === 'function' ? jsx(id) : jsx;\n\n return this.create({\n ...options,\n id,\n variant: 'custom',\n jsx: element\n });\n };\n\n promise = async <T>(promise: Promise<T>, options: ToastPromiseType<T>): Promise<T> => {\n const loadingToast: ToastType = {\n ...options.loading,\n id: options.loading.id ?? generateId(),\n variant: 'loading'\n };\n\n const toastId = this.create(loadingToast);\n\n try {\n const data = await promise;\n const successToast = typeof options.success === 'function' ? options.success(data) : options.success;\n\n if (successToast) {\n this.update(toastId, {\n ...successToast,\n id: toastId,\n variant: successToast.variant ?? 'success',\n removed: false\n });\n } else {\n this.remove(toastId);\n }\n\n return data;\n } catch (error) {\n const errorToast = typeof options.error === 'function' ? options.error(error) : options.error;\n\n if (errorToast) {\n this.update(toastId, {\n ...errorToast,\n id: toastId,\n variant: errorToast.variant ?? 'danger',\n removed: false\n });\n } else {\n this.remove(toastId);\n }\n\n throw error;\n }\n };\n}\n\nexport const ToastStore = new ToastManager();\n\nconst baseToast = (toast: ToastType) => ToastStore.add(toast);\n\nexport const toast = Object.assign(baseToast, {\n success: ToastStore.success,\n danger: ToastStore.danger,\n warn: ToastStore.warn,\n info: ToastStore.info,\n loading: ToastStore.loading,\n dismiss: ToastStore.dismiss,\n custom: ToastStore.custom,\n remove: ToastStore.remove,\n clear: ToastStore.clear,\n promise: ToastStore.promise\n});\n","import type { useToastItemProps } from '@primereact/types/shared/toast';\n\nexport const defaultProps: useToastItemProps = {\n toast: {}\n};\n"],"mappings":"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","names":["withHeadless","useMountEffect","useVisibilityChange","Component","useToast","styles","withComponentInCore","baseStyles","withComponent","name","defaultProps","styles","__spreadProps","__spreadValues","baseStyles","components","setup","render","withComponentInCore","React","createOptionalContext","ToastProvider","useToastContext","HeadlessToast","defaultProps","__spreadProps","__spreadValues","Component","styles","mergeProps","React","createOptionalContext","ToastItemProvider","useToastItemContext","defaultActionProps","ToastAction","withComponent","defaultActionProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","_b","id","props","ptmi","toast","actionProps","rootProps","mergeProps","__spreadProps","__spreadValues","Component","Component","styles","mergeProps","React","defaultCloseProps","ToastClose","withComponent","defaultCloseProps","styles","toastItem","useToastItemContext","useToastContext","instance","id","props","ptmi","toast","rootProps","mergeProps","Component","Component","styles","mergeProps","React","defaultDescriptionProps","ToastDescription","withComponent","defaultDescriptionProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","props","toast","ptmi","rootProps","mergeProps","Component","Component","Icon","CheckIcon","ExclamationTriangleIcon","InfoCircleIcon","SpinnerIcon","TimesCircleIcon","mergeProps","React","Icon","defaultIconProps","__spreadProps","__spreadValues","defaultIcons","TimesCircleIcon","ExclamationTriangleIcon","InfoCircleIcon","CheckIcon","SpinnerIcon","ToastIcon","withComponent","defaultIconProps","toast","useToastContext","toastItem","useToastItemContext","instance","_a","_b","props","ptmi","rootProps","mergeProps","__spreadValues","icons","Component","Icon","Component","useToastItem","styles","mergeProps","React","HeadlessToastItem","defaultItemProps","__spreadProps","__spreadValues","ToastItem","withComponent","defaultItemProps","styles","instance","toastItem","useToastItem","toast","useToastContext","__spreadProps","__spreadValues","_a","_b","id","props","ptmi","state","toastContext","offset","onPointerDown","onPointerMove","onPointerUp","onDragEnd","index","visibleIndex","isVisible","isFront","rootProps","mergeProps","ToastItemProvider","Component","usePortal","resolve","createPortal","HeadlessPortal","defaultProps","__spreadProps","__spreadValues","Portal","withComponent","defaultProps","instance","usePortal","props","mountedState","element","appendTo","resolve","container","createPortal","createOptionalContext","PortalProvider","usePortalContext","ToastPortal","Portal","Component","styles","mergeProps","React","defaultRegionProps","ToastRegion","withComponent","defaultRegionProps","styles","useToastContext","instance","_a","_b","props","toast","ptmi","rootProps","mergeProps","Component","Component","styles","mergeProps","React","defaultTitleProps","ToastTitle","withComponent","defaultTitleProps","styles","toastItem","useToastItemContext","useToastContext","instance","_a","props","toast","ptmi","rootProps","mergeProps","Component","Toast","withComponent","defaultProps","styles","instance","useToast","props","ToastProvider","Component","ToastPortal","ToastRegion","ToastItem","ToastClose","ToastTitle","ToastDescription","ToastIcon","ToastAction","React","toastCounter","generateId","ToastManager","listener","toast","id","updates","prev","__spreadProps","__spreadValues","group","_a","jsx","options","element","promise","__async","_b","_c","loadingToast","toastId","data","successToast","error","errorToast","action","nextState","dismissible","index","t","next","ToastStore","baseToast","defaultProps","SWIPE_THRESHOLD","VELOCITY_THRESHOLD","useToastItem","withHeadless","defaultProps","props","elementRef","_a","_b","toast","toastContext","useToastContext","index","t","isDocumentVisible","useVisibilityChange","removed","setRemoved","swipeDirection","setSwipeDirection","swipeOutDirection","setSwipeOutDirection","mounted","setMounted","swiping","setSwiping","swipeOut","setSwipeOut","isSwiped","setIsSwiped","offsetBeforeRemove","setOffsetBeforeRemove","initialHeight","setInitialHeight","dismissible","remainingTimeRef","swipeStartTimeRef","pointerStartPositionRef","timeoutRef","timeoutStartTimeRef","lastTimeoutStartTimeRef","visibleIndex","h","duration","offset","prev","curr","reducerIndex","disabled","useMountEffect","toastNode","height","originalHeight","newHeight","__spreadProps","__spreadValues","deleteToast","durationStr","durationMs","ToastStore","pauseTimer","elapsedTime","startTimer","onDragEnd","onPointerDown","event","onPointerMove","_c","yDelta","xDelta","isRealSwipe","position","side","align","swipeAmount","applyDampening","delta","dampenedDelta","onPointerUp","swipeAmountX","swipeAmountY","velocity","handleCloseOnClick"]}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export declare const useToastItem: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/toast").useToastItemProps, unknown, {
|
|
3
3
|
state: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
mounted: boolean;
|
|
5
|
+
swiping: boolean;
|
|
6
|
+
swipeOut: boolean;
|
|
7
7
|
swipeOutDirection: "left" | "right" | "up" | "down" | null;
|
|
8
|
-
swipeDirection: "
|
|
9
|
-
|
|
8
|
+
swipeDirection: "y" | "x" | null;
|
|
9
|
+
initialHeight: number;
|
|
10
|
+
isSwiped: boolean;
|
|
11
|
+
offsetBeforeRemove: number;
|
|
12
|
+
removed: boolean;
|
|
10
13
|
};
|
|
11
14
|
offset: number;
|
|
15
|
+
offsetBeforeRemove: number;
|
|
12
16
|
index: number;
|
|
13
|
-
|
|
17
|
+
visibleIndex: number;
|
|
18
|
+
isVisible: boolean;
|
|
19
|
+
isFront: boolean;
|
|
14
20
|
onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
15
21
|
onPointerMove: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
16
22
|
onPointerUp: () => void;
|
|
17
23
|
onDragEnd: () => void;
|
|
18
24
|
handleCloseOnClick: () => void;
|
|
19
|
-
onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
20
|
-
onFocus: () => void;
|
|
21
25
|
}>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ToastId, ToastPromiseType, ToastType } from '@primereact/types/shared/toast';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
declare class ToastManager {
|
|
4
|
+
private toasts;
|
|
5
|
+
private listeners;
|
|
6
|
+
constructor();
|
|
7
|
+
private emit;
|
|
8
|
+
snapshot: () => ToastType[];
|
|
9
|
+
subscribe: (listener: () => void) => (() => void);
|
|
10
|
+
private commit;
|
|
11
|
+
private ensureId;
|
|
12
|
+
add: (toast: ToastType) => ToastId;
|
|
13
|
+
create(toast: ToastType): ToastId;
|
|
14
|
+
update: (id: ToastId, updates: Partial<ToastType>) => void;
|
|
15
|
+
dismiss: (id?: ToastId) => ToastId | undefined;
|
|
16
|
+
remove: (id: ToastId) => ToastId | undefined;
|
|
17
|
+
clear: (group?: string) => void;
|
|
18
|
+
get: (id: ToastId) => ToastType | undefined;
|
|
19
|
+
success: (toast: ToastType) => ToastId;
|
|
20
|
+
danger: (toast: ToastType) => ToastId;
|
|
21
|
+
warn: (toast: ToastType) => ToastId;
|
|
22
|
+
info: (toast: ToastType) => ToastId;
|
|
23
|
+
loading: (toast: ToastType) => ToastId;
|
|
24
|
+
custom: (jsx: React.ReactElement | ((id: ToastId) => React.ReactElement), options?: Partial<ToastType>) => ToastId;
|
|
25
|
+
promise: <T>(promise: Promise<T>, options: ToastPromiseType<T>) => Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
export declare const ToastStore: ToastManager;
|
|
28
|
+
export declare const toast: ((toast: ToastType) => ToastId) & {
|
|
29
|
+
success: (toast: ToastType) => ToastId;
|
|
30
|
+
danger: (toast: ToastType) => ToastId;
|
|
31
|
+
warn: (toast: ToastType) => ToastId;
|
|
32
|
+
info: (toast: ToastType) => ToastId;
|
|
33
|
+
loading: (toast: ToastType) => ToastId;
|
|
34
|
+
dismiss: (id?: ToastId) => ToastId | undefined;
|
|
35
|
+
custom: (jsx: React.ReactElement | ((id: ToastId) => React.ReactElement), options?: Partial<ToastType>) => ToastId;
|
|
36
|
+
remove: (id: ToastId) => ToastId | undefined;
|
|
37
|
+
clear: (group?: string) => void;
|
|
38
|
+
promise: <T>(promise: Promise<T>, options: ToastPromiseType<T>) => Promise<T>;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
package/toast/useToast.d.ts
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
import type { ToastType } from '@primereact/types/shared/toast';
|
|
1
|
+
import type { ToastId, ToastType } from '@primereact/types/shared/toast';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export declare const useToast: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/toast").useToastProps, unknown, {
|
|
4
4
|
state: {
|
|
5
5
|
isExpanded: boolean;
|
|
6
6
|
isInteracting: boolean;
|
|
7
|
+
heights: {
|
|
8
|
+
height: number;
|
|
9
|
+
toastId: ToastId;
|
|
10
|
+
}[];
|
|
7
11
|
};
|
|
8
12
|
toasts: ToastType[];
|
|
13
|
+
setHeights: React.Dispatch<React.SetStateAction<{
|
|
14
|
+
height: number;
|
|
15
|
+
toastId: ToastId;
|
|
16
|
+
}[]>>;
|
|
9
17
|
onRegionMouseEnter: () => void;
|
|
10
18
|
onRegionMouseMove: () => void;
|
|
11
19
|
onRegionMouseLeave: () => void;
|
|
12
20
|
onRegionDragEnd: () => void;
|
|
13
21
|
onRegionPointerDown: (event: React.PointerEvent) => void;
|
|
14
22
|
onRegionPointerUp: () => void;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
onRegionFocus: (event: React.FocusEvent<HTMLElement>) => void;
|
|
24
|
+
onRegionBlur: (event: React.FocusEvent<HTMLElement>) => void;
|
|
25
|
+
handleFocusManagement: (toastEl: HTMLElement | null) => void;
|
|
18
26
|
}>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TreeNode } from '@primereact/types/shared/tree';
|
|
2
|
+
type DragState = {
|
|
3
|
+
isDragging: boolean;
|
|
4
|
+
dragNode: TreeNode | null;
|
|
5
|
+
dragScope: string | string[] | null;
|
|
6
|
+
dragNodeSubNodes: TreeNode[] | null;
|
|
7
|
+
dragNodeIndex: number | null;
|
|
8
|
+
sourceTreeId: string | null;
|
|
9
|
+
};
|
|
10
|
+
type DragEvent = {
|
|
11
|
+
node: TreeNode;
|
|
12
|
+
scope?: string | string[] | null;
|
|
13
|
+
subNodes?: TreeNode[];
|
|
14
|
+
index?: number;
|
|
15
|
+
sourceTreeId?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const TreeDragDropService: {
|
|
18
|
+
getDragState(): DragState;
|
|
19
|
+
startDrag(event: DragEvent): void;
|
|
20
|
+
stopDrag(event: DragEvent): void;
|
|
21
|
+
onDragStart(handler: (event: DragEvent) => void): () => boolean;
|
|
22
|
+
onDragStop(handler: (event: DragEvent) => void): () => boolean;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
package/tree/index.d.ts
ADDED
package/tree/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var ve=Object.defineProperty,Ce=Object.defineProperties;var Me=Object.getOwnPropertyDescriptors;var Q=Object.getOwnPropertySymbols;var Re=Object.prototype.hasOwnProperty,Le=Object.prototype.propertyIsEnumerable;var Z=(r,o,c)=>o in r?ve(r,o,{enumerable:!0,configurable:!0,writable:!0,value:c}):r[o]=c,b=(r,o)=>{for(var c in o||(o={}))Re.call(o,c)&&Z(r,c,o[c]);if(Q)for(var c of Q(o))Le.call(o,c)&&Z(r,c,o[c]);return r},I=(r,o)=>Ce(r,Me(o));import{withHeadless as He}from"@primereact/core/headless";import{useControlledState as ee}from"@primereact/hooks/use-controlled-state";import{find as U,findSingle as Ie,focus as te,getAttribute as we,isPrintableCharacter as Ae}from"@primeuix/utils";import*as m from"react";var u={isDragging:!1,dragNode:null,dragScope:null,dragNodeSubNodes:null,dragNodeIndex:null,sourceTreeId:null},w=new Set,A=new Set,E={getDragState(){return u},startDrag(r){var o,c,S,D;u.isDragging=!0,u.dragNode=r.node,u.dragScope=(o=r.scope)!=null?o:null,u.dragNodeSubNodes=(c=r.subNodes)!=null?c:null,u.dragNodeIndex=(S=r.index)!=null?S:null,u.sourceTreeId=(D=r.sourceTreeId)!=null?D:null,w.forEach(C=>C(r))},stopDrag(r){u.isDragging=!1,u.dragNode=null,u.dragScope=null,u.dragNodeSubNodes=null,u.dragNodeIndex=null,u.sourceTreeId=null,A.forEach(o=>o(r))},onDragStart(r){return w.add(r),()=>w.delete(r)},onDragStop(r){return A.add(r),()=>A.delete(r)}};var $={value:[],expandedKeys:void 0,defaultExpandedKeys:void 0,selectionKeys:void 0,defaultSelectionKeys:void 0,selectionMode:void 0,metaKeySelection:!1,highlightOnSelect:!1,scrollHeight:void 0,draggableNodes:void 0,droppableNodes:void 0,draggableScope:void 0,droppableScope:void 0,validateDrop:!1,onExpandedChange:void 0,onSelectionChange:void 0,onToggle:void 0,onExpand:void 0,onCollapse:void 0,onClick:void 0,onSelect:void 0,onUnselect:void 0,onNodeDrop:void 0,onDragEnter:void 0,onDragLeave:void 0,onValueChange:void 0};var Ye=He({name:"useTree",defaultProps:$,setup({props:r,elementRef:o}){var q,G;let c=m.useRef((q=r.defaultExpandedKeys)!=null?q:{}),[S,D]=ee({value:r.expandedKeys,defaultValue:c.current,onChange:r.onExpandedChange}),C=m.useRef((G=r.defaultSelectionKeys)!=null?G:{}),[y,V]=ee({value:r.selectionKeys,defaultValue:C.current,onChange:r.onSelectionChange}),x=m.useRef(null),h=m.useRef(""),[ne,N]=m.useState(!1);m.useEffect(()=>{if(r.droppableNodes){let e=E.onDragStop(()=>{N(!1)});return()=>{e()}}},[r.droppableNodes]);let re={expandedKey:S,selectedKey:y,dragHover:ne},K=()=>r.value||[],le=(e,t,n,l,a)=>{if(!ye(e))return;let i=e.metaKey||e.ctrlKey;switch(e.code){case"Tab":se();break;case"ArrowDown":p(e);break;case"ArrowUp":ae(e);break;case"ArrowRight":oe(e,t,l,a);break;case"ArrowLeft":ie(e,t,n,l,a);break;case"Enter":case"NumpadEnter":case"Space":ce(e,t,l);break;default:!i&&Ae(e.key)&&be(e.key,t);break}},p=e=>{let t=e.target,n=t.getAttribute("data-pc-section")==="treetoggle"?t.closest('[role="treeitem"]'):t;if(!n)return;let l=n.children[1];if(l)T(n,l.children[0]);else if(n.nextElementSibling)T(n,n.nextElementSibling);else{let a=O(n);a&&T(n,a)}e.preventDefault()},ae=e=>{let t=e.target;if(t.previousElementSibling)T(t,t.previousElementSibling,W(t.previousElementSibling));else{let n=B(t);n&&T(t,n)}e.preventDefault()},oe=(e,t,n,l)=>{l||n||(e.currentTarget.tabIndex=-1,M(e,t),setTimeout(()=>{p(e)},0))},ie=(e,t,n,l,a)=>{if(n===0&&!l)return!1;if(l&&!a)return M(e,t),!1;let i=P(e.currentTarget);i&&T(e.currentTarget,i)},ce=(e,t,n)=>{ue(e,n),Y(e,t,!0),e.preventDefault()},se=()=>{de()},de=()=>{if(!o.current)return;let e=U(o.current,'[role="treeitem"]'),t=[...e].some(n=>n.getAttribute("aria-selected")==="true"||n.getAttribute("aria-checked")==="true");if([...e].forEach(n=>{n.tabIndex=-1}),t){let n=[...e].filter(l=>l.getAttribute("aria-selected")==="true"||l.getAttribute("aria-checked")==="true");n[0].tabIndex=0;return}[...e][0].tabIndex=0},ue=(e,t)=>{if(r.selectionMode!==null){let n=e.currentTarget.parentElement;if(!n)return;let l=[...U(n,'[role="treeitem"]')];e.currentTarget.tabIndex=t?-1:0,l.every(a=>a.tabIndex===-1)&&(l[0].tabIndex=0)}},T=(e,t,n)=>{e.tabIndex=-1,t.tabIndex=0,te(n||t)},P=e=>{let t=e.closest("ul");if(!t)return null;let n=t.closest("li");if(n){let l=Ie(n,"button");if(l&&l.style.visibility!=="hidden")return n;if(e.previousElementSibling)return P(e.previousElementSibling)}return null},O=e=>{let t=B(e);return t?t.nextElementSibling?t.nextElementSibling:O(t):null},W=e=>{let t=e.children[1];if(t){let n=t.children[t.children.length-1];return W(n)}else return e},B=e=>{let t=e.parentElement;if(!t)return null;let n=t.parentElement;return n&&we(n,"role")==="treeitem"?n:null},M=(e,t)=>{let n=S||{},l=t.key,a;n[l]?(a=b({},n),delete a[l],r.onCollapse&&r.onCollapse({originalEvent:e,node:t}),r.onToggle&&r.onToggle({originalEvent:e,node:t})):(a=I(b({},n),{[l]:!0}),r.onExpand&&r.onExpand({originalEvent:e,node:t}),r.onToggle&&r.onToggle({originalEvent:e,node:t})),D([a,{originalEvent:e,value:a}])},_=(e,t,n=!1)=>{if(r.selectionMode!=null){let a=(n?!1:r.metaKeySelection)?fe(e,t):ge(e,t);V([a,{originalEvent:e,value:a}]),r.onClick&&r.onClick({originalEvent:e,node:t})}},fe=(e,t)=>{let n=e.metaKey||e.ctrlKey,l=L(t),a={},i=y||{};return l&&n?(R()?a={}:(a=b({},i),delete a[t.key]),r.onUnselect&&r.onUnselect({originalEvent:e,node:t})):(R()?a={}:Ee()&&(a=n?b({},i):{}),a[t.key]=!0,r.onSelect&&r.onSelect({originalEvent:e,node:t})),a},ge=(e,t)=>{let n=L(t),l={},a=y||{},i=t.key;return R()?n?(l={},r.onUnselect&&r.onUnselect({originalEvent:e,node:t})):(l={[i]:!0},r.onSelect&&r.onSelect({originalEvent:e,node:t})):n?(l=b({},a),delete l[i],r.onUnselect&&r.onUnselect({originalEvent:e,node:t})):(l=I(b({},a),{[i]:!0}),r.onSelect&&r.onSelect({originalEvent:e,node:t})),l},R=()=>r.selectionMode==="single",Ee=()=>r.selectionMode==="multiple",X=()=>r.selectionMode==="checkbox",L=e=>{var n;return!r.selectionMode||!y?!1:X()?((n=y[e.key])==null?void 0:n.checked)===!0:y[e.key]===!0},Y=(e,t,n=!1)=>{X()?z(e,t):_(e,t,n)},z=(e,t)=>{var s;let l=b({},y||{}),a=t.key;if(!t)return;let f=!(((s=l[a])==null?void 0:s.checked)===!0);f?r.onUnselect&&r.onUnselect({originalEvent:e,node:t}):r.onSelect&&r.onSelect({originalEvent:e,node:t}),F(t,f,l);let g=H(K(),a);for(;g;)me(g,l),g=H(K(),g.key);V([l,{originalEvent:e,value:l}])},F=(e,t,n)=>{if(t&&e.selectable!==!1?n[e.key]={checked:!0,partialChecked:!1}:delete n[e.key],e.children&&e.children.length)for(let l of e.children)F(l,t,n)},me=(e,t)=>{var a,i;if(!e.children||e.children.length===0)return t;let n=0,l=!1;for(let f of e.children)(a=t[f.key])!=null&&a.checked?n++:(i=t[f.key])!=null&&i.partialChecked&&(l=!0);return n===e.children.length?t[e.key]={checked:!0,partialChecked:!1}:(delete t[e.key],(l||n>0&&n!==e.children.length)&&(t[e.key]={checked:!1,partialChecked:!0})),t},H=(e,t,n=null)=>{for(let l of e){if(l.key===t)return n;if(l.children){let a=H(l.children,t,l);if(a!==null)return a}}return null},be=(e,t)=>{var n,l;if(h.current=(h.current||"")+e,x.current&&clearTimeout(x.current),h.current){if(!o.current)return;let a=[...U(o.current,'[role="treeitem"]')],i=a.find(d=>d.getAttribute("data-node-key")===t.key);if(!i)return;let f=a.indexOf(i),g=h.current.toLowerCase(),s=null;for(let d=f+1;d<a.length;d++){let k=a[d];if((((n=k.textContent)==null?void 0:n.trim().toLowerCase())||"").startsWith(g)){s=k;break}}if(!s)for(let d=0;d<=f;d++){let k=a[d];if((((l=k.textContent)==null?void 0:l.trim().toLowerCase())||"").startsWith(g)){s=k;break}}s&&s!==i&&(a.forEach(d=>{d.tabIndex=-1}),s.tabIndex=0,te(s))}x.current=setTimeout(()=>{h.current="",x.current=null},500)},ye=e=>{let t=e.target,n=e.currentTarget;return n&&(n.isSameNode(t)||n.isSameNode(t.closest('[role="treeitem"]')))},Te=e=>{(e.code==="Enter"||e.code==="NumpadEnter")&&e.preventDefault()},Se=e=>{r.droppableNodes&&v()?e.dataTransfer.dropEffect="copy":e.dataTransfer.dropEffect="none",e.preventDefault()},he=e=>{let{dragNode:t,dragScope:n}=E.getDragState();r.droppableNodes&&v()&&(N(!0),r.onDragEnter&&r.onDragEnter({originalEvent:e,value:r.value||[],dragNode:t,dragNodeScope:n}))},Ne=e=>{if(r.droppableNodes){let t=e.currentTarget.getBoundingClientRect();if((e.clientX>=t.right||e.clientX<=t.left||e.clientY>=t.bottom||e.clientY<=t.top)&&(N(!1),r.onDragLeave)){let{dragNode:n,dragScope:l}=E.getDragState();r.onDragLeave({originalEvent:e,value:r.value||[],dragNode:n,dragNodeScope:l})}}},J=(e,t)=>{let{dragNodeSubNodes:n}=E.getDragState();n&&n.splice(t,1);let l=[...r.value||[],e];r.onValueChange&&r.onValueChange({value:l}),E.stopDrag({node:e})},ke=e=>{if(r.droppableNodes){e.preventDefault();let{dragNode:t,dragScope:n,dragNodeIndex:l}=E.getDragState();if(t&&v()){if(xe(n)){E.stopDrag({node:t}),N(!1);return}l!==null&&(r.validateDrop?r.onNodeDrop&&r.onNodeDrop({originalEvent:e,value:r.value||[],dragNode:t,dropNode:null,index:l,accept:()=>{J(t,l)}}):(r.onNodeDrop&&r.onNodeDrop({originalEvent:e,value:r.value||[],dragNode:t,dropNode:null,index:l}),J(t,l)))}}N(!1)},v=e=>{let{dragNode:t,dragScope:n}=E.getDragState();if(t)if(De(n)){let l=!0;return e&&t===e&&(l=!1),l}else return!1;else return!1},j=(e,t)=>{if(e===void 0&&t===void 0)return!0;if(e===void 0||t===void 0)return!1;if(typeof t=="string"){if(typeof e=="string")return e===t;if(Array.isArray(e))return e.indexOf(t)!==-1}else if(Array.isArray(t)){if(typeof e=="string")return t.indexOf(e)!==-1;if(Array.isArray(e)){for(let n of e)if(t.indexOf(n)!==-1)return!0;return!1}}return!1},De=e=>r.droppableScope===void 0?!0:j(e,r.droppableScope),xe=e=>j(e,r.draggableScope);return{state:re,getNodes:K,onKeyDown:le,onNodeToggle:M,onNodeClick:_,onClick:Y,onCheckboxChange:z,isNodeSelected:L,onFilterKeyUp:Te,onDragOver:Se,onDragEnter:he,onDragLeave:Ne,onDrop:ke,allowDrop:v,findNodeInfo:e=>{let t=1,n=0,l=0,a=(f,g)=>{for(let s=0;s<f.length;s++){let d=f[s];if(d.key===e)return t=g,n=s+1,l=f.length,!0;if(d.children&&a(d.children,g+1))return!0}return!1},i=K();return a(i,1),{level:t,posInSet:n,setSize:l}}}}});export{E as TreeDragDropService,$ as defaultProps,Ye as useTree};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|