@gv-tech/ui-web 2.15.2 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/accordion.cjs +1 -1
  2. package/dist/accordion.mjs +3 -3
  3. package/dist/alert-dialog.cjs +2 -2
  4. package/dist/alert-dialog.mjs +16 -16
  5. package/dist/alert.cjs +1 -1
  6. package/dist/alert.mjs +1 -1
  7. package/dist/avatar.cjs +1 -1
  8. package/dist/avatar.mjs +34 -34
  9. package/dist/badge.cjs +1 -1
  10. package/dist/badge.mjs +1 -1
  11. package/dist/breadcrumb.cjs +1 -1
  12. package/dist/breadcrumb.mjs +1 -1
  13. package/dist/button.cjs +1 -1
  14. package/dist/button.mjs +1 -1
  15. package/dist/calendar.cjs +1 -1
  16. package/dist/calendar.mjs +1 -1
  17. package/dist/card.cjs +1 -1
  18. package/dist/card.mjs +1 -1
  19. package/dist/carousel.cjs +1 -1
  20. package/dist/carousel.mjs +1 -1
  21. package/dist/chart.cjs +1 -1
  22. package/dist/chart.mjs +1 -1
  23. package/dist/checkbox.cjs +1 -1
  24. package/dist/checkbox.mjs +2 -2
  25. package/dist/command.cjs +1 -1
  26. package/dist/command.mjs +114 -114
  27. package/dist/context-menu.cjs +1 -1
  28. package/dist/context-menu.mjs +68 -68
  29. package/dist/dialog.cjs +1 -1
  30. package/dist/dialog.mjs +21 -21
  31. package/dist/drawer.cjs +1 -1
  32. package/dist/drawer.mjs +16 -16
  33. package/dist/dropdown-menu.cjs +1 -1
  34. package/dist/dropdown-menu.mjs +43 -43
  35. package/dist/form.cjs +1 -1
  36. package/dist/form.mjs +1 -1
  37. package/dist/hover-card.cjs +1 -1
  38. package/dist/hover-card.mjs +2 -2
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.d.ts +28 -0
  41. package/dist/index.mjs +22 -20
  42. package/dist/input.cjs +1 -1
  43. package/dist/input.mjs +1 -1
  44. package/dist/label.cjs +1 -1
  45. package/dist/label.mjs +2 -2
  46. package/dist/menubar.cjs +1 -1
  47. package/dist/menubar.mjs +77 -77
  48. package/dist/navigation-menu.cjs +1 -1
  49. package/dist/navigation-menu.mjs +57 -57
  50. package/dist/pagination.cjs +1 -1
  51. package/dist/pagination.mjs +1 -1
  52. package/dist/popover.cjs +1 -1
  53. package/dist/popover.mjs +62 -62
  54. package/dist/progress.cjs +2 -2
  55. package/dist/progress.mjs +2 -2
  56. package/dist/radio-group.cjs +1 -1
  57. package/dist/radio-group.mjs +36 -36
  58. package/dist/resizable.cjs +1 -1
  59. package/dist/resizable.mjs +1 -1
  60. package/dist/scroll-area.cjs +1 -1
  61. package/dist/scroll-area.mjs +88 -88
  62. package/dist/search.cjs +1 -1
  63. package/dist/search.mjs +1 -1
  64. package/dist/select.cjs +1 -1
  65. package/dist/select.mjs +74 -74
  66. package/dist/separator.cjs +1 -1
  67. package/dist/separator.mjs +9 -9
  68. package/dist/sheet.cjs +1 -1
  69. package/dist/sheet.mjs +12 -12
  70. package/dist/skeleton.cjs +1 -1
  71. package/dist/skeleton.mjs +1 -1
  72. package/dist/slider.cjs +1 -1
  73. package/dist/slider.mjs +2 -2
  74. package/dist/switch.cjs +1 -1
  75. package/dist/switch.mjs +12 -12
  76. package/dist/table-of-contents.cjs +1 -0
  77. package/dist/table-of-contents.d.ts +35 -0
  78. package/dist/table-of-contents.mjs +160 -0
  79. package/dist/table.cjs +1 -1
  80. package/dist/table.mjs +1 -1
  81. package/dist/tabs.cjs +1 -1
  82. package/dist/tabs.mjs +41 -41
  83. package/dist/text.cjs +1 -1
  84. package/dist/text.mjs +1 -1
  85. package/dist/textarea.cjs +1 -1
  86. package/dist/textarea.mjs +1 -1
  87. package/dist/{theme-toggle-B4VZTDpe.js → theme-toggle-DXQGNfCe.js} +1 -1
  88. package/dist/{theme-toggle-WtPW9UZi.mjs → theme-toggle-tHXIbr8W.mjs} +1 -1
  89. package/dist/theme-toggle.cjs +1 -1
  90. package/dist/theme-toggle.mjs +2 -2
  91. package/dist/toast.cjs +1 -1
  92. package/dist/toast.mjs +35 -35
  93. package/dist/toggle-group.cjs +1 -1
  94. package/dist/toggle-group.mjs +15 -15
  95. package/dist/toggle.cjs +1 -1
  96. package/dist/toggle.mjs +4 -4
  97. package/dist/tooltip.cjs +1 -1
  98. package/dist/tooltip.mjs +3 -3
  99. package/dist/utils-DY6fhrgS.mjs +12 -0
  100. package/dist/utils-cdbZV8DZ.js +1 -0
  101. package/package.json +1 -1
  102. package/src/accordion.tsx +2 -2
  103. package/src/alert-dialog.tsx +6 -6
  104. package/src/avatar.tsx +3 -3
  105. package/src/checkbox.tsx +1 -1
  106. package/src/command.tsx +7 -7
  107. package/src/context-menu.tsx +8 -8
  108. package/src/dialog.tsx +4 -4
  109. package/src/drawer.tsx +3 -3
  110. package/src/dropdown-menu.tsx +8 -8
  111. package/src/hover-card.tsx +1 -1
  112. package/src/index.ts +4 -1
  113. package/src/label.tsx +1 -1
  114. package/src/lib/utils.ts +10 -0
  115. package/src/menubar.tsx +10 -10
  116. package/src/navigation-menu.tsx +6 -6
  117. package/src/popover.tsx +1 -1
  118. package/src/progress.tsx +1 -1
  119. package/src/radio-group.tsx +2 -2
  120. package/src/scroll-area.tsx +2 -2
  121. package/src/select.tsx +7 -7
  122. package/src/separator.tsx +1 -1
  123. package/src/sheet.tsx +4 -4
  124. package/src/slider.tsx +1 -1
  125. package/src/switch.tsx +1 -1
  126. package/src/table-of-contents.tsx +285 -0
  127. package/src/tabs.tsx +3 -3
  128. package/src/toast.tsx +6 -6
  129. package/src/toggle-group.tsx +2 -2
  130. package/src/toggle.tsx +1 -1
  131. package/src/tooltip.tsx +2 -2
  132. package/dist/utils-B6yFEsav.mjs +0 -8
  133. package/dist/utils-IjLH3w2e.js +0 -1
@@ -3,8 +3,8 @@ import "./jsx-runtime-tc70JA_2.mjs";
3
3
  import "lucide-react";
4
4
  import "./button.mjs";
5
5
  import "./dropdown-menu.mjs";
6
- import { T } from "./theme-toggle-WtPW9UZi.mjs";
7
- import "./utils-B6yFEsav.mjs";
6
+ import { T } from "./theme-toggle-tHXIbr8W.mjs";
7
+ import "./utils-DY6fhrgS.mjs";
8
8
  export {
9
9
  T as ThemeToggle
10
10
  };
package/dist/toast.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-nZSsnGb7.js"),Ae=require("react"),Ie=require("react-dom"),x=require("./index-BtZvtDmp.js"),te=require("./index-_XxjJPRD.js"),Fe=require("./index-BGIK9FQF.js"),Oe=require("./index-D2HnlO3y.js"),se=require("./index-BoNjHhm4.js"),Le=require("./index-CwyAfCwY.js"),Me=require("./index-B2XtpfGY.js"),K=require("./index-CzY-WZXL.js"),ke=require("./index-Ce5TOFAK.js"),Ve=require("./index-MQ0c3ZX_.js"),oe=require("./index-Cl3G0jzM.js"),$e=require("class-variance-authority"),He=require("lucide-react"),S=require("./utils-IjLH3w2e.js");function re(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:()=>e[s]})}}return t.default=e,Object.freeze(t)}const r=re(Ae),Ke=re(Ie);var z="ToastProvider",[G,qe,We]=Fe.createCollection("Toast"),[ne]=Oe.createContextScope("Toast",[We]),[Xe,q]=ne(z),ae=e=>{const{__scopeToast:t,label:s="Notification",duration:o=5e3,swipeDirection:u="right",swipeThreshold:l=50,children:p}=e,[v,E]=r.useState(null),[c,b]=r.useState(0),T=r.useRef(!1),_=r.useRef(!1);return s.trim()||console.error(`Invalid prop \`label\` supplied to \`${z}\`. Expected non-empty \`string\`.`),n.jsxRuntimeExports.jsx(G.Provider,{scope:t,children:n.jsxRuntimeExports.jsx(Xe,{scope:t,label:s,duration:o,swipeDirection:u,swipeThreshold:l,toastCount:c,viewport:v,onViewportChange:E,onToastAdd:r.useCallback(()=>b(C=>C+1),[]),onToastRemove:r.useCallback(()=>b(C=>C-1),[]),isFocusedToastEscapeKeyDownRef:T,isClosePausedRef:_,children:p})})};ae.displayName=z;var ie="ToastViewport",Ue=["F8"],U="toast.viewportPause",Y="toast.viewportResume",ce=r.forwardRef((e,t)=>{const{__scopeToast:s,hotkey:o=Ue,label:u="Notifications ({hotkey})",...l}=e,p=q(ie,s),v=qe(s),E=r.useRef(null),c=r.useRef(null),b=r.useRef(null),T=r.useRef(null),_=te.useComposedRefs(t,T,p.onViewportChange),C=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=p.toastCount>0;r.useEffect(()=>{const i=y=>{o.length!==0&&o.every(m=>y[m]||y.code===m)&&T.current?.focus()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[o]),r.useEffect(()=>{const i=E.current,y=T.current;if(j&&i&&y){const f=()=>{if(!p.isClosePausedRef.current){const w=new CustomEvent(U);y.dispatchEvent(w),p.isClosePausedRef.current=!0}},m=()=>{if(p.isClosePausedRef.current){const w=new CustomEvent(Y);y.dispatchEvent(w),p.isClosePausedRef.current=!1}},R=w=>{!i.contains(w.relatedTarget)&&m()},g=()=>{i.contains(document.activeElement)||m()};return i.addEventListener("focusin",f),i.addEventListener("focusout",R),i.addEventListener("pointermove",f),i.addEventListener("pointerleave",g),window.addEventListener("blur",f),window.addEventListener("focus",m),()=>{i.removeEventListener("focusin",f),i.removeEventListener("focusout",R),i.removeEventListener("pointermove",f),i.removeEventListener("pointerleave",g),window.removeEventListener("blur",f),window.removeEventListener("focus",m)}}},[j,p.isClosePausedRef]);const d=r.useCallback(({tabbingDirection:i})=>{const f=v().map(m=>{const R=m.ref.current,g=[R,...nt(R)];return i==="forwards"?g:g.reverse()});return(i==="forwards"?f.reverse():f).flat()},[v]);return r.useEffect(()=>{const i=T.current;if(i){const y=f=>{const m=f.altKey||f.ctrlKey||f.metaKey;if(f.key==="Tab"&&!m){const g=document.activeElement,w=f.shiftKey;if(f.target===i&&w){c.current?.focus();return}const A=d({tabbingDirection:w?"backwards":"forwards"}),M=A.findIndex(N=>N===g);X(A.slice(M+1))?f.preventDefault():w?c.current?.focus():b.current?.focus()}};return i.addEventListener("keydown",y),()=>i.removeEventListener("keydown",y)}},[v,d]),n.jsxRuntimeExports.jsxs(se.Branch,{ref:E,role:"region","aria-label":u.replace("{hotkey}",C),tabIndex:-1,style:{pointerEvents:j?void 0:"none"},children:[j&&n.jsxRuntimeExports.jsx(B,{ref:c,onFocusFromOutsideViewport:()=>{const i=d({tabbingDirection:"forwards"});X(i)}}),n.jsxRuntimeExports.jsx(G.Slot,{scope:s,children:n.jsxRuntimeExports.jsx(x.Primitive.ol,{tabIndex:-1,...l,ref:_})}),j&&n.jsxRuntimeExports.jsx(B,{ref:b,onFocusFromOutsideViewport:()=>{const i=d({tabbingDirection:"backwards"});X(i)}})]})});ce.displayName=ie;var ue="ToastFocusProxy",B=r.forwardRef((e,t)=>{const{__scopeToast:s,onFocusFromOutsideViewport:o,...u}=e,l=q(ue,s);return n.jsxRuntimeExports.jsx(oe.VisuallyHidden,{tabIndex:0,...u,ref:t,style:{position:"fixed"},onFocus:p=>{const v=p.relatedTarget;!l.viewport?.contains(v)&&o()}})});B.displayName=ue;var O="Toast",Ye="toast.swipeStart",Be="toast.swipeMove",ze="toast.swipeCancel",Ge="toast.swipeEnd",de=r.forwardRef((e,t)=>{const{forceMount:s,open:o,defaultOpen:u,onOpenChange:l,...p}=e,[v,E]=ke.useControllableState({prop:o,defaultProp:u??!0,onChange:l,caller:O});return n.jsxRuntimeExports.jsx(Me.Presence,{present:s||v,children:n.jsxRuntimeExports.jsx(Ze,{open:v,...p,ref:t,onClose:()=>E(!1),onPause:K.useCallbackRef(e.onPause),onResume:K.useCallbackRef(e.onResume),onSwipeStart:x.composeEventHandlers(e.onSwipeStart,c=>{c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:x.composeEventHandlers(e.onSwipeMove,c=>{const{x:b,y:T}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","move"),c.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${b}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${T}px`)}),onSwipeCancel:x.composeEventHandlers(e.onSwipeCancel,c=>{c.currentTarget.setAttribute("data-swipe","cancel"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:x.composeEventHandlers(e.onSwipeEnd,c=>{const{x:b,y:T}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","end"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${b}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${T}px`),E(!1)})})})});de.displayName=O;var[Je,Qe]=ne(O,{onClose(){}}),Ze=r.forwardRef((e,t)=>{const{__scopeToast:s,type:o="foreground",duration:u,open:l,onClose:p,onEscapeKeyDown:v,onPause:E,onResume:c,onSwipeStart:b,onSwipeMove:T,onSwipeCancel:_,onSwipeEnd:C,...j}=e,d=q(O,s),[i,y]=r.useState(null),f=te.useComposedRefs(t,a=>y(a)),m=r.useRef(null),R=r.useRef(null),g=u||d.duration,w=r.useRef(0),D=r.useRef(g),L=r.useRef(0),{onToastAdd:A,onToastRemove:M}=d,N=K.useCallbackRef(()=>{i?.contains(document.activeElement)&&d.viewport?.focus(),p()}),k=r.useCallback(a=>{!a||a===1/0||(window.clearTimeout(L.current),w.current=new Date().getTime(),L.current=window.setTimeout(N,a))},[N]);r.useEffect(()=>{const a=d.viewport;if(a){const h=()=>{k(D.current),c?.()},P=()=>{const I=new Date().getTime()-w.current;D.current=D.current-I,window.clearTimeout(L.current),E?.()};return a.addEventListener(U,P),a.addEventListener(Y,h),()=>{a.removeEventListener(U,P),a.removeEventListener(Y,h)}}},[d.viewport,g,E,c,k]),r.useEffect(()=>{l&&!d.isClosePausedRef.current&&k(g)},[l,g,d.isClosePausedRef,k]),r.useEffect(()=>(A(),()=>M()),[A,M]);const Q=r.useMemo(()=>i?Ee(i):null,[i]);return d.viewport?n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[Q&&n.jsxRuntimeExports.jsx(et,{__scopeToast:s,role:"status","aria-live":o==="foreground"?"assertive":"polite",children:Q}),n.jsxRuntimeExports.jsx(Je,{scope:s,onClose:N,children:Ke.createPortal(n.jsxRuntimeExports.jsx(G.ItemSlot,{scope:s,children:n.jsxRuntimeExports.jsx(se.Root,{asChild:!0,onEscapeKeyDown:x.composeEventHandlers(v,()=>{d.isFocusedToastEscapeKeyDownRef.current||N(),d.isFocusedToastEscapeKeyDownRef.current=!1}),children:n.jsxRuntimeExports.jsx(x.Primitive.li,{tabIndex:0,"data-state":l?"open":"closed","data-swipe-direction":d.swipeDirection,...j,ref:f,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:x.composeEventHandlers(e.onKeyDown,a=>{a.key==="Escape"&&(v?.(a.nativeEvent),a.nativeEvent.defaultPrevented||(d.isFocusedToastEscapeKeyDownRef.current=!0,N()))}),onPointerDown:x.composeEventHandlers(e.onPointerDown,a=>{a.button===0&&(m.current={x:a.clientX,y:a.clientY})}),onPointerMove:x.composeEventHandlers(e.onPointerMove,a=>{if(!m.current)return;const h=a.clientX-m.current.x,P=a.clientY-m.current.y,I=!!R.current,F=["left","right"].includes(d.swipeDirection),V=["left","up"].includes(d.swipeDirection)?Math.min:Math.max,_e=F?V(0,h):0,De=F?0:V(0,P),W=a.pointerType==="touch"?10:2,$={x:_e,y:De},Z={originalEvent:a,delta:$};I?(R.current=$,H(Be,T,Z,{discrete:!1})):ee($,d.swipeDirection,W)?(R.current=$,H(Ye,b,Z,{discrete:!1}),a.target.setPointerCapture(a.pointerId)):(Math.abs(h)>W||Math.abs(P)>W)&&(m.current=null)}),onPointerUp:x.composeEventHandlers(e.onPointerUp,a=>{const h=R.current,P=a.target;if(P.hasPointerCapture(a.pointerId)&&P.releasePointerCapture(a.pointerId),R.current=null,m.current=null,h){const I=a.currentTarget,F={originalEvent:a,delta:h};ee(h,d.swipeDirection,d.swipeThreshold)?H(Ge,C,F,{discrete:!0}):H(ze,_,F,{discrete:!0}),I.addEventListener("click",V=>V.preventDefault(),{once:!0})}})})})}),d.viewport)})]}):null}),et=e=>{const{__scopeToast:t,children:s,...o}=e,u=q(O,t),[l,p]=r.useState(!1),[v,E]=r.useState(!1);return ot(()=>p(!0)),r.useEffect(()=>{const c=window.setTimeout(()=>E(!0),1e3);return()=>window.clearTimeout(c)},[]),v?null:n.jsxRuntimeExports.jsx(Le.Portal,{asChild:!0,children:n.jsxRuntimeExports.jsx(oe.VisuallyHidden,{...o,children:l&&n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[u.label," ",s]})})})},tt="ToastTitle",le=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{...o,ref:t})});le.displayName=tt;var st="ToastDescription",pe=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{...o,ref:t})});pe.displayName=st;var fe="ToastAction",me=r.forwardRef((e,t)=>{const{altText:s,...o}=e;return s.trim()?n.jsxRuntimeExports.jsx(ve,{altText:s,asChild:!0,children:n.jsxRuntimeExports.jsx(J,{...o,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${fe}\`. Expected non-empty \`string\`.`),null)});me.displayName=fe;var xe="ToastClose",J=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e,u=Qe(xe,s);return n.jsxRuntimeExports.jsx(ve,{asChild:!0,children:n.jsxRuntimeExports.jsx(x.Primitive.button,{type:"button",...o,ref:t,onClick:x.composeEventHandlers(e.onClick,u.onClose)})})});J.displayName=xe;var ve=r.forwardRef((e,t)=>{const{__scopeToast:s,altText:o,...u}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...u,ref:t})});function Ee(e){const t=[];return Array.from(e.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&t.push(o.textContent),rt(o)){const u=o.ariaHidden||o.hidden||o.style.display==="none",l=o.dataset.radixToastAnnounceExclude==="";if(!u)if(l){const p=o.dataset.radixToastAnnounceAlt;p&&t.push(p)}else t.push(...Ee(o))}}),t}function H(e,t,s,{discrete:o}){const u=s.originalEvent.currentTarget,l=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s});t&&u.addEventListener(e,t,{once:!0}),o?x.dispatchDiscreteCustomEvent(u,l):u.dispatchEvent(l)}var ee=(e,t,s=0)=>{const o=Math.abs(e.x),u=Math.abs(e.y),l=o>u;return t==="left"||t==="right"?l&&o>s:!l&&u>s};function ot(e=()=>{}){const t=K.useCallbackRef(e);Ve.useLayoutEffect2(()=>{let s=0,o=0;return s=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(s),window.cancelAnimationFrame(o)}},[t])}function rt(e){return e.nodeType===e.ELEMENT_NODE}function nt(e){const t=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const u=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||u?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)t.push(s.currentNode);return t}function X(e){const t=document.activeElement;return e.some(s=>s===t?!0:(s.focus(),document.activeElement!==t))}var at=ae,we=ce,Te=de,ye=le,Re=pe,ge=me,be=J;const it=at,he=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(we,{ref:s,className:S.cn("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]",e),...t}));he.displayName=we.displayName;const ct=$e.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Pe=r.forwardRef(({className:e,variant:t,...s},o)=>n.jsxRuntimeExports.jsx(Te,{ref:o,className:S.cn(ct({variant:t}),e),...s}));Pe.displayName=Te.displayName;const Ce=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(ge,{ref:s,className:S.cn("hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50",e),...t}));Ce.displayName=ge.displayName;const je=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(be,{ref:s,className:S.cn("text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:n.jsxRuntimeExports.jsx(He.X,{className:"h-4 w-4"})}));je.displayName=be.displayName;const Ne=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(ye,{ref:s,className:S.cn("text-sm font-semibold [&+div]:text-xs",e),...t}));Ne.displayName=ye.displayName;const Se=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(Re,{ref:s,className:S.cn("text-sm opacity-90",e),...t}));Se.displayName=Re.displayName;exports.Toast=Pe;exports.ToastAction=Ce;exports.ToastClose=je;exports.ToastDescription=Se;exports.ToastProvider=it;exports.ToastTitle=Ne;exports.ToastViewport=he;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-nZSsnGb7.js"),Ae=require("react"),Ie=require("react-dom"),x=require("./index-BtZvtDmp.js"),te=require("./index-_XxjJPRD.js"),Fe=require("./index-BGIK9FQF.js"),Oe=require("./index-D2HnlO3y.js"),se=require("./index-BoNjHhm4.js"),Le=require("./index-CwyAfCwY.js"),Me=require("./index-B2XtpfGY.js"),K=require("./index-CzY-WZXL.js"),ke=require("./index-Ce5TOFAK.js"),Ve=require("./index-MQ0c3ZX_.js"),oe=require("./index-Cl3G0jzM.js"),$e=require("class-variance-authority"),He=require("lucide-react"),S=require("./utils-cdbZV8DZ.js");function re(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:()=>e[s]})}}return t.default=e,Object.freeze(t)}const r=re(Ae),Ke=re(Ie);var z="ToastProvider",[G,qe,We]=Fe.createCollection("Toast"),[ne]=Oe.createContextScope("Toast",[We]),[Xe,q]=ne(z),ae=e=>{const{__scopeToast:t,label:s="Notification",duration:o=5e3,swipeDirection:u="right",swipeThreshold:l=50,children:p}=e,[v,T]=r.useState(null),[c,b]=r.useState(0),E=r.useRef(!1),D=r.useRef(!1);return s.trim()||console.error(`Invalid prop \`label\` supplied to \`${z}\`. Expected non-empty \`string\`.`),n.jsxRuntimeExports.jsx(G.Provider,{scope:t,children:n.jsxRuntimeExports.jsx(Xe,{scope:t,label:s,duration:o,swipeDirection:u,swipeThreshold:l,toastCount:c,viewport:v,onViewportChange:T,onToastAdd:r.useCallback(()=>b(C=>C+1),[]),onToastRemove:r.useCallback(()=>b(C=>C-1),[]),isFocusedToastEscapeKeyDownRef:E,isClosePausedRef:D,children:p})})};ae.displayName=z;var ie="ToastViewport",Ue=["F8"],U="toast.viewportPause",Y="toast.viewportResume",ce=r.forwardRef((e,t)=>{const{__scopeToast:s,hotkey:o=Ue,label:u="Notifications ({hotkey})",...l}=e,p=q(ie,s),v=qe(s),T=r.useRef(null),c=r.useRef(null),b=r.useRef(null),E=r.useRef(null),D=te.useComposedRefs(t,E,p.onViewportChange),C=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=p.toastCount>0;r.useEffect(()=>{const i=y=>{o.length!==0&&o.every(m=>y[m]||y.code===m)&&E.current?.focus()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[o]),r.useEffect(()=>{const i=T.current,y=E.current;if(j&&i&&y){const f=()=>{if(!p.isClosePausedRef.current){const w=new CustomEvent(U);y.dispatchEvent(w),p.isClosePausedRef.current=!0}},m=()=>{if(p.isClosePausedRef.current){const w=new CustomEvent(Y);y.dispatchEvent(w),p.isClosePausedRef.current=!1}},R=w=>{!i.contains(w.relatedTarget)&&m()},g=()=>{i.contains(document.activeElement)||m()};return i.addEventListener("focusin",f),i.addEventListener("focusout",R),i.addEventListener("pointermove",f),i.addEventListener("pointerleave",g),window.addEventListener("blur",f),window.addEventListener("focus",m),()=>{i.removeEventListener("focusin",f),i.removeEventListener("focusout",R),i.removeEventListener("pointermove",f),i.removeEventListener("pointerleave",g),window.removeEventListener("blur",f),window.removeEventListener("focus",m)}}},[j,p.isClosePausedRef]);const d=r.useCallback(({tabbingDirection:i})=>{const f=v().map(m=>{const R=m.ref.current,g=[R,...nt(R)];return i==="forwards"?g:g.reverse()});return(i==="forwards"?f.reverse():f).flat()},[v]);return r.useEffect(()=>{const i=E.current;if(i){const y=f=>{const m=f.altKey||f.ctrlKey||f.metaKey;if(f.key==="Tab"&&!m){const g=document.activeElement,w=f.shiftKey;if(f.target===i&&w){c.current?.focus();return}const A=d({tabbingDirection:w?"backwards":"forwards"}),M=A.findIndex(N=>N===g);X(A.slice(M+1))?f.preventDefault():w?c.current?.focus():b.current?.focus()}};return i.addEventListener("keydown",y),()=>i.removeEventListener("keydown",y)}},[v,d]),n.jsxRuntimeExports.jsxs(se.Branch,{ref:T,role:"region","aria-label":u.replace("{hotkey}",C),tabIndex:-1,style:{pointerEvents:j?void 0:"none"},children:[j&&n.jsxRuntimeExports.jsx(B,{ref:c,onFocusFromOutsideViewport:()=>{const i=d({tabbingDirection:"forwards"});X(i)}}),n.jsxRuntimeExports.jsx(G.Slot,{scope:s,children:n.jsxRuntimeExports.jsx(x.Primitive.ol,{tabIndex:-1,...l,ref:D})}),j&&n.jsxRuntimeExports.jsx(B,{ref:b,onFocusFromOutsideViewport:()=>{const i=d({tabbingDirection:"backwards"});X(i)}})]})});ce.displayName=ie;var ue="ToastFocusProxy",B=r.forwardRef((e,t)=>{const{__scopeToast:s,onFocusFromOutsideViewport:o,...u}=e,l=q(ue,s);return n.jsxRuntimeExports.jsx(oe.VisuallyHidden,{tabIndex:0,...u,ref:t,style:{position:"fixed"},onFocus:p=>{const v=p.relatedTarget;!l.viewport?.contains(v)&&o()}})});B.displayName=ue;var O="Toast",Ye="toast.swipeStart",Be="toast.swipeMove",ze="toast.swipeCancel",Ge="toast.swipeEnd",de=r.forwardRef((e,t)=>{const{forceMount:s,open:o,defaultOpen:u,onOpenChange:l,...p}=e,[v,T]=ke.useControllableState({prop:o,defaultProp:u??!0,onChange:l,caller:O});return n.jsxRuntimeExports.jsx(Me.Presence,{present:s||v,children:n.jsxRuntimeExports.jsx(Ze,{open:v,...p,ref:t,onClose:()=>T(!1),onPause:K.useCallbackRef(e.onPause),onResume:K.useCallbackRef(e.onResume),onSwipeStart:x.composeEventHandlers(e.onSwipeStart,c=>{c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:x.composeEventHandlers(e.onSwipeMove,c=>{const{x:b,y:E}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","move"),c.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${b}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${E}px`)}),onSwipeCancel:x.composeEventHandlers(e.onSwipeCancel,c=>{c.currentTarget.setAttribute("data-swipe","cancel"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:x.composeEventHandlers(e.onSwipeEnd,c=>{const{x:b,y:E}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","end"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${b}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${E}px`),T(!1)})})})});de.displayName=O;var[Je,Qe]=ne(O,{onClose(){}}),Ze=r.forwardRef((e,t)=>{const{__scopeToast:s,type:o="foreground",duration:u,open:l,onClose:p,onEscapeKeyDown:v,onPause:T,onResume:c,onSwipeStart:b,onSwipeMove:E,onSwipeCancel:D,onSwipeEnd:C,...j}=e,d=q(O,s),[i,y]=r.useState(null),f=te.useComposedRefs(t,a=>y(a)),m=r.useRef(null),R=r.useRef(null),g=u||d.duration,w=r.useRef(0),_=r.useRef(g),L=r.useRef(0),{onToastAdd:A,onToastRemove:M}=d,N=K.useCallbackRef(()=>{i?.contains(document.activeElement)&&d.viewport?.focus(),p()}),k=r.useCallback(a=>{!a||a===1/0||(window.clearTimeout(L.current),w.current=new Date().getTime(),L.current=window.setTimeout(N,a))},[N]);r.useEffect(()=>{const a=d.viewport;if(a){const h=()=>{k(_.current),c?.()},P=()=>{const I=new Date().getTime()-w.current;_.current=_.current-I,window.clearTimeout(L.current),T?.()};return a.addEventListener(U,P),a.addEventListener(Y,h),()=>{a.removeEventListener(U,P),a.removeEventListener(Y,h)}}},[d.viewport,g,T,c,k]),r.useEffect(()=>{l&&!d.isClosePausedRef.current&&k(g)},[l,g,d.isClosePausedRef,k]),r.useEffect(()=>(A(),()=>M()),[A,M]);const Q=r.useMemo(()=>i?Te(i):null,[i]);return d.viewport?n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[Q&&n.jsxRuntimeExports.jsx(et,{__scopeToast:s,role:"status","aria-live":o==="foreground"?"assertive":"polite",children:Q}),n.jsxRuntimeExports.jsx(Je,{scope:s,onClose:N,children:Ke.createPortal(n.jsxRuntimeExports.jsx(G.ItemSlot,{scope:s,children:n.jsxRuntimeExports.jsx(se.Root,{asChild:!0,onEscapeKeyDown:x.composeEventHandlers(v,()=>{d.isFocusedToastEscapeKeyDownRef.current||N(),d.isFocusedToastEscapeKeyDownRef.current=!1}),children:n.jsxRuntimeExports.jsx(x.Primitive.li,{tabIndex:0,"data-state":l?"open":"closed","data-swipe-direction":d.swipeDirection,...j,ref:f,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:x.composeEventHandlers(e.onKeyDown,a=>{a.key==="Escape"&&(v?.(a.nativeEvent),a.nativeEvent.defaultPrevented||(d.isFocusedToastEscapeKeyDownRef.current=!0,N()))}),onPointerDown:x.composeEventHandlers(e.onPointerDown,a=>{a.button===0&&(m.current={x:a.clientX,y:a.clientY})}),onPointerMove:x.composeEventHandlers(e.onPointerMove,a=>{if(!m.current)return;const h=a.clientX-m.current.x,P=a.clientY-m.current.y,I=!!R.current,F=["left","right"].includes(d.swipeDirection),V=["left","up"].includes(d.swipeDirection)?Math.min:Math.max,De=F?V(0,h):0,_e=F?0:V(0,P),W=a.pointerType==="touch"?10:2,$={x:De,y:_e},Z={originalEvent:a,delta:$};I?(R.current=$,H(Be,E,Z,{discrete:!1})):ee($,d.swipeDirection,W)?(R.current=$,H(Ye,b,Z,{discrete:!1}),a.target.setPointerCapture(a.pointerId)):(Math.abs(h)>W||Math.abs(P)>W)&&(m.current=null)}),onPointerUp:x.composeEventHandlers(e.onPointerUp,a=>{const h=R.current,P=a.target;if(P.hasPointerCapture(a.pointerId)&&P.releasePointerCapture(a.pointerId),R.current=null,m.current=null,h){const I=a.currentTarget,F={originalEvent:a,delta:h};ee(h,d.swipeDirection,d.swipeThreshold)?H(Ge,C,F,{discrete:!0}):H(ze,D,F,{discrete:!0}),I.addEventListener("click",V=>V.preventDefault(),{once:!0})}})})})}),d.viewport)})]}):null}),et=e=>{const{__scopeToast:t,children:s,...o}=e,u=q(O,t),[l,p]=r.useState(!1),[v,T]=r.useState(!1);return ot(()=>p(!0)),r.useEffect(()=>{const c=window.setTimeout(()=>T(!0),1e3);return()=>window.clearTimeout(c)},[]),v?null:n.jsxRuntimeExports.jsx(Le.Portal,{asChild:!0,children:n.jsxRuntimeExports.jsx(oe.VisuallyHidden,{...o,children:l&&n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[u.label," ",s]})})})},tt="ToastTitle",le=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{...o,ref:t})});le.displayName=tt;var st="ToastDescription",pe=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{...o,ref:t})});pe.displayName=st;var fe="ToastAction",me=r.forwardRef((e,t)=>{const{altText:s,...o}=e;return s.trim()?n.jsxRuntimeExports.jsx(ve,{altText:s,asChild:!0,children:n.jsxRuntimeExports.jsx(J,{...o,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${fe}\`. Expected non-empty \`string\`.`),null)});me.displayName=fe;var xe="ToastClose",J=r.forwardRef((e,t)=>{const{__scopeToast:s,...o}=e,u=Qe(xe,s);return n.jsxRuntimeExports.jsx(ve,{asChild:!0,children:n.jsxRuntimeExports.jsx(x.Primitive.button,{type:"button",...o,ref:t,onClick:x.composeEventHandlers(e.onClick,u.onClose)})})});J.displayName=xe;var ve=r.forwardRef((e,t)=>{const{__scopeToast:s,altText:o,...u}=e;return n.jsxRuntimeExports.jsx(x.Primitive.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...u,ref:t})});function Te(e){const t=[];return Array.from(e.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&t.push(o.textContent),rt(o)){const u=o.ariaHidden||o.hidden||o.style.display==="none",l=o.dataset.radixToastAnnounceExclude==="";if(!u)if(l){const p=o.dataset.radixToastAnnounceAlt;p&&t.push(p)}else t.push(...Te(o))}}),t}function H(e,t,s,{discrete:o}){const u=s.originalEvent.currentTarget,l=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s});t&&u.addEventListener(e,t,{once:!0}),o?x.dispatchDiscreteCustomEvent(u,l):u.dispatchEvent(l)}var ee=(e,t,s=0)=>{const o=Math.abs(e.x),u=Math.abs(e.y),l=o>u;return t==="left"||t==="right"?l&&o>s:!l&&u>s};function ot(e=()=>{}){const t=K.useCallbackRef(e);Ve.useLayoutEffect2(()=>{let s=0,o=0;return s=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(s),window.cancelAnimationFrame(o)}},[t])}function rt(e){return e.nodeType===e.ELEMENT_NODE}function nt(e){const t=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const u=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||u?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)t.push(s.currentNode);return t}function X(e){const t=document.activeElement;return e.some(s=>s===t?!0:(s.focus(),document.activeElement!==t))}var at=ae,we=ce,Ee=de,ye=le,Re=pe,ge=me,be=J;const it=at,he=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(we,{ref:s,className:S.cn("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]",e),...t}));he.displayName=we?.displayName||"ToastViewport";const ct=$e.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Pe=r.forwardRef(({className:e,variant:t,...s},o)=>n.jsxRuntimeExports.jsx(Ee,{ref:o,className:S.cn(ct({variant:t}),e),...s}));Pe.displayName=Ee?.displayName||"Toast";const Ce=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(ge,{ref:s,className:S.cn("hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50",e),...t}));Ce.displayName=ge?.displayName||"ToastAction";const je=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(be,{ref:s,className:S.cn("text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:n.jsxRuntimeExports.jsx(He.X,{className:"h-4 w-4"})}));je.displayName=be?.displayName||"ToastClose";const Ne=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(ye,{ref:s,className:S.cn("text-sm font-semibold [&+div]:text-xs",e),...t}));Ne.displayName=ye?.displayName||"ToastTitle";const Se=r.forwardRef(({className:e,...t},s)=>n.jsxRuntimeExports.jsx(Re,{ref:s,className:S.cn("text-sm opacity-90",e),...t}));Se.displayName=Re?.displayName||"ToastDescription";exports.Toast=Pe;exports.ToastAction=Ce;exports.ToastClose=je;exports.ToastDescription=Se;exports.ToastProvider=it;exports.ToastTitle=Ne;exports.ToastViewport=he;
package/dist/toast.mjs CHANGED
@@ -2,20 +2,20 @@
2
2
  import { j as n } from "./jsx-runtime-tc70JA_2.mjs";
3
3
  import * as s from "react";
4
4
  import * as Re from "react-dom";
5
- import { P as I, c as P, d as Ce } from "./index-K9FzbxYw.mjs";
5
+ import { P as A, c as P, d as Ce } from "./index-K9FzbxYw.mjs";
6
6
  import { u as oe } from "./index-DLcqcWxM.mjs";
7
7
  import { c as Ne } from "./index-DFdF7K7v.mjs";
8
8
  import { c as Se } from "./index-IZ2gq03c.mjs";
9
- import { B as Ie, R as Ae } from "./index-Dfzl8TxY.mjs";
10
- import { P as Fe } from "./index-C7HEunrh.mjs";
11
- import { P as De } from "./index-vuPgkS0V.mjs";
9
+ import { B as Ae, R as Ie } from "./index-Dfzl8TxY.mjs";
10
+ import { P as De } from "./index-C7HEunrh.mjs";
11
+ import { P as Fe } from "./index-vuPgkS0V.mjs";
12
12
  import { u as W } from "./index-0ioNhtNM.mjs";
13
13
  import { u as _e } from "./index-p6xVFRb4.mjs";
14
14
  import { u as je } from "./index-CCKe-Mpx.mjs";
15
15
  import { a as re } from "./index-DKN_vhyX.mjs";
16
16
  import { cva as Le } from "class-variance-authority";
17
17
  import { X as Me } from "lucide-react";
18
- import { c as A } from "./utils-B6yFEsav.mjs";
18
+ import { c as I } from "./utils-DY6fhrgS.mjs";
19
19
  var G = "ToastProvider", [J, Oe, ke] = Ne("Toast"), [se] = Se("Toast", [ke]), [Ve, X] = se(G), ne = (e) => {
20
20
  const {
21
21
  __scopeToast: t,
@@ -24,7 +24,7 @@ var G = "ToastProvider", [J, Oe, ke] = Ne("Toast"), [se] = Se("Toast", [ke]), [V
24
24
  swipeDirection: u = "right",
25
25
  swipeThreshold: l = 50,
26
26
  children: p
27
- } = e, [v, w] = s.useState(null), [c, h] = s.useState(0), x = s.useRef(!1), F = s.useRef(!1);
27
+ } = e, [v, w] = s.useState(null), [c, h] = s.useState(0), x = s.useRef(!1), D = s.useRef(!1);
28
28
  return o.trim() || console.error(
29
29
  `Invalid prop \`label\` supplied to \`${G}\`. Expected non-empty \`string\`.`
30
30
  ), /* @__PURE__ */ n.jsx(J.Provider, { scope: t, children: /* @__PURE__ */ n.jsx(
@@ -41,7 +41,7 @@ var G = "ToastProvider", [J, Oe, ke] = Ne("Toast"), [se] = Se("Toast", [ke]), [V
41
41
  onToastAdd: s.useCallback(() => h((C) => C + 1), []),
42
42
  onToastRemove: s.useCallback(() => h((C) => C - 1), []),
43
43
  isFocusedToastEscapeKeyDownRef: x,
44
- isClosePausedRef: F,
44
+ isClosePausedRef: D,
45
45
  children: p
46
46
  }
47
47
  ) });
@@ -54,7 +54,7 @@ var ae = "ToastViewport", Ke = ["F8"], B = "toast.viewportPause", q = "toast.vie
54
54
  hotkey: r = Ke,
55
55
  label: u = "Notifications ({hotkey})",
56
56
  ...l
57
- } = e, p = X(ae, o), v = Oe(o), w = s.useRef(null), c = s.useRef(null), h = s.useRef(null), x = s.useRef(null), F = oe(t, x, p.onViewportChange), C = r.join("+").replace(/Key/g, "").replace(/Digit/g, ""), N = p.toastCount > 0;
57
+ } = e, p = X(ae, o), v = Oe(o), w = s.useRef(null), c = s.useRef(null), h = s.useRef(null), x = s.useRef(null), D = oe(t, x, p.onViewportChange), C = r.join("+").replace(/Key/g, "").replace(/Digit/g, ""), N = p.toastCount > 0;
58
58
  s.useEffect(() => {
59
59
  const i = (E) => {
60
60
  r.length !== 0 && r.every((m) => E[m] || E.code === m) && x.current?.focus();
@@ -111,7 +111,7 @@ var ae = "ToastViewport", Ke = ["F8"], B = "toast.viewportPause", q = "toast.vie
111
111
  return i.addEventListener("keydown", E), () => i.removeEventListener("keydown", E);
112
112
  }
113
113
  }, [v, d]), /* @__PURE__ */ n.jsxs(
114
- Ie,
114
+ Ae,
115
115
  {
116
116
  ref: w,
117
117
  role: "region",
@@ -131,7 +131,7 @@ var ae = "ToastViewport", Ke = ["F8"], B = "toast.viewportPause", q = "toast.vie
131
131
  }
132
132
  }
133
133
  ),
134
- /* @__PURE__ */ n.jsx(J.Slot, { scope: o, children: /* @__PURE__ */ n.jsx(I.ol, { tabIndex: -1, ...l, ref: F }) }),
134
+ /* @__PURE__ */ n.jsx(J.Slot, { scope: o, children: /* @__PURE__ */ n.jsx(A.ol, { tabIndex: -1, ...l, ref: D }) }),
135
135
  N && /* @__PURE__ */ n.jsx(
136
136
  z,
137
137
  {
@@ -177,7 +177,7 @@ var M = "Toast", $e = "toast.swipeStart", He = "toast.swipeMove", We = "toast.sw
177
177
  onChange: l,
178
178
  caller: M
179
179
  });
180
- return /* @__PURE__ */ n.jsx(De, { present: o || v, children: /* @__PURE__ */ n.jsx(
180
+ return /* @__PURE__ */ n.jsx(Fe, { present: o || v, children: /* @__PURE__ */ n.jsx(
181
181
  Be,
182
182
  {
183
183
  open: v,
@@ -221,10 +221,10 @@ var [Ue, Ye] = se(M, {
221
221
  onResume: c,
222
222
  onSwipeStart: h,
223
223
  onSwipeMove: x,
224
- onSwipeCancel: F,
224
+ onSwipeCancel: D,
225
225
  onSwipeEnd: C,
226
226
  ...N
227
- } = e, d = X(M, o), [i, E] = s.useState(null), f = oe(t, (a) => E(a)), m = s.useRef(null), y = s.useRef(null), g = u || d.duration, T = s.useRef(0), D = s.useRef(g), O = s.useRef(0), { onToastAdd: _, onToastRemove: k } = d, S = W(() => {
227
+ } = e, d = X(M, o), [i, E] = s.useState(null), f = oe(t, (a) => E(a)), m = s.useRef(null), y = s.useRef(null), g = u || d.duration, T = s.useRef(0), F = s.useRef(g), O = s.useRef(0), { onToastAdd: _, onToastRemove: k } = d, S = W(() => {
228
228
  i?.contains(document.activeElement) && d.viewport?.focus(), p();
229
229
  }), V = s.useCallback(
230
230
  (a) => {
@@ -236,10 +236,10 @@ var [Ue, Ye] = se(M, {
236
236
  const a = d.viewport;
237
237
  if (a) {
238
238
  const b = () => {
239
- V(D.current), c?.();
239
+ V(F.current), c?.();
240
240
  }, R = () => {
241
241
  const j = (/* @__PURE__ */ new Date()).getTime() - T.current;
242
- D.current = D.current - j, window.clearTimeout(O.current), w?.();
242
+ F.current = F.current - j, window.clearTimeout(O.current), w?.();
243
243
  };
244
244
  return a.addEventListener(B, R), a.addEventListener(q, b), () => {
245
245
  a.removeEventListener(B, R), a.removeEventListener(q, b);
@@ -261,14 +261,14 @@ var [Ue, Ye] = se(M, {
261
261
  ),
262
262
  /* @__PURE__ */ n.jsx(Ue, { scope: o, onClose: S, children: Re.createPortal(
263
263
  /* @__PURE__ */ n.jsx(J.ItemSlot, { scope: o, children: /* @__PURE__ */ n.jsx(
264
- Ae,
264
+ Ie,
265
265
  {
266
266
  asChild: !0,
267
267
  onEscapeKeyDown: P(v, () => {
268
268
  d.isFocusedToastEscapeKeyDownRef.current || S(), d.isFocusedToastEscapeKeyDownRef.current = !1;
269
269
  }),
270
270
  children: /* @__PURE__ */ n.jsx(
271
- I.li,
271
+ A.li,
272
272
  {
273
273
  tabIndex: 0,
274
274
  "data-state": l ? "open" : "closed",
@@ -299,7 +299,7 @@ var [Ue, Ye] = se(M, {
299
299
  discrete: !0
300
300
  }) : H(
301
301
  We,
302
- F,
302
+ D,
303
303
  L,
304
304
  {
305
305
  discrete: !0
@@ -322,7 +322,7 @@ var [Ue, Ye] = se(M, {
322
322
  return Je(() => p(!0)), s.useEffect(() => {
323
323
  const c = window.setTimeout(() => w(!0), 1e3);
324
324
  return () => window.clearTimeout(c);
325
- }, []), v ? null : /* @__PURE__ */ n.jsx(Fe, { asChild: !0, children: /* @__PURE__ */ n.jsx(re, { ...r, children: l && /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
325
+ }, []), v ? null : /* @__PURE__ */ n.jsx(De, { asChild: !0, children: /* @__PURE__ */ n.jsx(re, { ...r, children: l && /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
326
326
  u.label,
327
327
  " ",
328
328
  o
@@ -330,14 +330,14 @@ var [Ue, Ye] = se(M, {
330
330
  }, ze = "ToastTitle", de = s.forwardRef(
331
331
  (e, t) => {
332
332
  const { __scopeToast: o, ...r } = e;
333
- return /* @__PURE__ */ n.jsx(I.div, { ...r, ref: t });
333
+ return /* @__PURE__ */ n.jsx(A.div, { ...r, ref: t });
334
334
  }
335
335
  );
336
336
  de.displayName = ze;
337
337
  var Ge = "ToastDescription", le = s.forwardRef(
338
338
  (e, t) => {
339
339
  const { __scopeToast: o, ...r } = e;
340
- return /* @__PURE__ */ n.jsx(I.div, { ...r, ref: t });
340
+ return /* @__PURE__ */ n.jsx(A.div, { ...r, ref: t });
341
341
  }
342
342
  );
343
343
  le.displayName = Ge;
@@ -354,7 +354,7 @@ var me = "ToastClose", Q = s.forwardRef(
354
354
  (e, t) => {
355
355
  const { __scopeToast: o, ...r } = e, u = Ye(me, o);
356
356
  return /* @__PURE__ */ n.jsx(ve, { asChild: !0, children: /* @__PURE__ */ n.jsx(
357
- I.button,
357
+ A.button,
358
358
  {
359
359
  type: "button",
360
360
  ...r,
@@ -368,7 +368,7 @@ Q.displayName = me;
368
368
  var ve = s.forwardRef((e, t) => {
369
369
  const { __scopeToast: o, altText: r, ...u } = e;
370
370
  return /* @__PURE__ */ n.jsx(
371
- I.div,
371
+ A.div,
372
372
  {
373
373
  "data-radix-toast-announce-exclude": "",
374
374
  "data-radix-toast-announce-alt": r || void 0,
@@ -431,14 +431,14 @@ const Pt = et, tt = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */
431
431
  Te,
432
432
  {
433
433
  ref: o,
434
- className: A(
434
+ className: I(
435
435
  "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]",
436
436
  e
437
437
  ),
438
438
  ...t
439
439
  }
440
440
  ));
441
- tt.displayName = Te.displayName;
441
+ tt.displayName = Te?.displayName || "ToastViewport";
442
442
  const ot = Le(
443
443
  "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
444
444
  {
@@ -452,25 +452,25 @@ const ot = Le(
452
452
  variant: "default"
453
453
  }
454
454
  }
455
- ), rt = s.forwardRef(({ className: e, variant: t, ...o }, r) => /* @__PURE__ */ n.jsx(xe, { ref: r, className: A(ot({ variant: t }), e), ...o }));
456
- rt.displayName = xe.displayName;
455
+ ), rt = s.forwardRef(({ className: e, variant: t, ...o }, r) => /* @__PURE__ */ n.jsx(xe, { ref: r, className: I(ot({ variant: t }), e), ...o }));
456
+ rt.displayName = xe?.displayName || "Toast";
457
457
  const st = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(
458
458
  ge,
459
459
  {
460
460
  ref: o,
461
- className: A(
461
+ className: I(
462
462
  "hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50",
463
463
  e
464
464
  ),
465
465
  ...t
466
466
  }
467
467
  ));
468
- st.displayName = ge.displayName;
468
+ st.displayName = ge?.displayName || "ToastAction";
469
469
  const nt = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(
470
470
  he,
471
471
  {
472
472
  ref: o,
473
- className: A(
473
+ className: I(
474
474
  "text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
475
475
  e
476
476
  ),
@@ -479,11 +479,11 @@ const nt = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(
479
479
  children: /* @__PURE__ */ n.jsx(Me, { className: "h-4 w-4" })
480
480
  }
481
481
  ));
482
- nt.displayName = he.displayName;
483
- const at = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(Ee, { ref: o, className: A("text-sm font-semibold [&+div]:text-xs", e), ...t }));
484
- at.displayName = Ee.displayName;
485
- const it = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(ye, { ref: o, className: A("text-sm opacity-90", e), ...t }));
486
- it.displayName = ye.displayName;
482
+ nt.displayName = he?.displayName || "ToastClose";
483
+ const at = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(Ee, { ref: o, className: I("text-sm font-semibold [&+div]:text-xs", e), ...t }));
484
+ at.displayName = Ee?.displayName || "ToastTitle";
485
+ const it = s.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ n.jsx(ye, { ref: o, className: I("text-sm opacity-90", e), ...t }));
486
+ it.displayName = ye?.displayName || "ToastDescription";
487
487
  export {
488
488
  rt as Toast,
489
489
  st as ToastAction,
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-nZSsnGb7.js"),i=require("react"),$=require("./index-D2HnlO3y.js"),G=require("./index-BtZvtDmp.js"),v=require("./index-DIsg7zU7.js"),w=require("./index-kaM0u2Q1.js"),T=require("./index-Ce5TOFAK.js"),O=require("./index-Dko2XdTk.js"),D=require("@gv-tech/ui-core"),P=require("./utils-IjLH3w2e.js");function F(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const d=F(i);var c="ToggleGroup",[C]=$.createContextScope(c,[v.createRovingFocusGroupScope]),E=v.createRovingFocusGroupScope(),j=i.forwardRef((e,o)=>{const{type:t,...r}=e;if(t==="single"){const s=r;return n.jsxRuntimeExports.jsx(A,{...s,ref:o})}if(t==="multiple"){const s=r;return n.jsxRuntimeExports.jsx(k,{...s,ref:o})}throw new Error(`Missing prop \`type\` expected on \`${c}\``)});j.displayName=c;var[_,y]=C(c),A=i.forwardRef((e,o)=>{const{value:t,defaultValue:r,onValueChange:s=()=>{},...u}=e,[l,a]=T.useControllableState({prop:t,defaultProp:r??"",onChange:s,caller:c});return n.jsxRuntimeExports.jsx(_,{scope:e.__scopeToggleGroup,type:"single",value:i.useMemo(()=>l?[l]:[],[l]),onItemActivate:a,onItemDeactivate:i.useCallback(()=>a(""),[a]),children:n.jsxRuntimeExports.jsx(b,{...u,ref:o})})}),k=i.forwardRef((e,o)=>{const{value:t,defaultValue:r,onValueChange:s=()=>{},...u}=e,[l,a]=T.useControllableState({prop:t,defaultProp:r??[],onChange:s,caller:c}),p=i.useCallback(g=>a((x=[])=>[...x,g]),[a]),f=i.useCallback(g=>a((x=[])=>x.filter(V=>V!==g)),[a]);return n.jsxRuntimeExports.jsx(_,{scope:e.__scopeToggleGroup,type:"multiple",value:l,onItemActivate:p,onItemDeactivate:f,children:n.jsxRuntimeExports.jsx(b,{...u,ref:o})})});j.displayName=c;var[z,B]=C(c),b=i.forwardRef((e,o)=>{const{__scopeToggleGroup:t,disabled:r=!1,rovingFocus:s=!0,orientation:u,dir:l,loop:a=!0,...p}=e,f=E(t),g=O.useDirection(l),x={role:"group",dir:g,...p};return n.jsxRuntimeExports.jsx(z,{scope:t,rovingFocus:s,disabled:r,children:s?n.jsxRuntimeExports.jsx(v.Root,{asChild:!0,...f,orientation:u,dir:g,loop:a,children:n.jsxRuntimeExports.jsx(G.Primitive.div,{...x,ref:o})}):n.jsxRuntimeExports.jsx(G.Primitive.div,{...x,ref:o})})}),m="ToggleGroupItem",I=i.forwardRef((e,o)=>{const t=y(m,e.__scopeToggleGroup),r=B(m,e.__scopeToggleGroup),s=E(e.__scopeToggleGroup),u=t.value.includes(e.value),l=r.disabled||e.disabled,a={...e,pressed:u,disabled:l},p=i.useRef(null);return r.rovingFocus?n.jsxRuntimeExports.jsx(v.Item,{asChild:!0,...s,focusable:!l,active:u,ref:p,children:n.jsxRuntimeExports.jsx(R,{...a,ref:o})}):n.jsxRuntimeExports.jsx(R,{...a,ref:o})});I.displayName=m;var R=i.forwardRef((e,o)=>{const{__scopeToggleGroup:t,value:r,...s}=e,u=y(m,t),l={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},a=u.type==="single"?l:void 0;return n.jsxRuntimeExports.jsx(w.Toggle,{...a,...s,ref:o,onPressedChange:p=>{p?u.onItemActivate(r):u.onItemDeactivate(r)}})}),h=j,S=I;const N=d.createContext({size:"default",variant:"default"}),q=d.forwardRef(({className:e,variant:o,size:t,children:r,...s},u)=>n.jsxRuntimeExports.jsx(h,{ref:u,className:P.cn("flex items-center justify-center gap-1",e),...s,children:n.jsxRuntimeExports.jsx(N.Provider,{value:{variant:o,size:t},children:r})}));q.displayName=h.displayName;const M=d.forwardRef(({className:e,children:o,variant:t,size:r,...s},u)=>{const l=d.useContext(N);return n.jsxRuntimeExports.jsx(S,{ref:u,className:P.cn(D.toggleVariants({variant:l.variant||t,size:l.size||r}),e),...s,children:o})});M.displayName=S.displayName;exports.ToggleGroup=q;exports.ToggleGroupItem=M;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-nZSsnGb7.js"),i=require("react"),$=require("./index-D2HnlO3y.js"),G=require("./index-BtZvtDmp.js"),v=require("./index-DIsg7zU7.js"),w=require("./index-kaM0u2Q1.js"),T=require("./index-Ce5TOFAK.js"),O=require("./index-Dko2XdTk.js"),D=require("@gv-tech/ui-core"),P=require("./utils-cdbZV8DZ.js");function F(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const d=F(i);var c="ToggleGroup",[C]=$.createContextScope(c,[v.createRovingFocusGroupScope]),E=v.createRovingFocusGroupScope(),j=i.forwardRef((e,o)=>{const{type:t,...r}=e;if(t==="single"){const s=r;return n.jsxRuntimeExports.jsx(A,{...s,ref:o})}if(t==="multiple"){const s=r;return n.jsxRuntimeExports.jsx(k,{...s,ref:o})}throw new Error(`Missing prop \`type\` expected on \`${c}\``)});j.displayName=c;var[_,y]=C(c),A=i.forwardRef((e,o)=>{const{value:t,defaultValue:r,onValueChange:s=()=>{},...u}=e,[l,a]=T.useControllableState({prop:t,defaultProp:r??"",onChange:s,caller:c});return n.jsxRuntimeExports.jsx(_,{scope:e.__scopeToggleGroup,type:"single",value:i.useMemo(()=>l?[l]:[],[l]),onItemActivate:a,onItemDeactivate:i.useCallback(()=>a(""),[a]),children:n.jsxRuntimeExports.jsx(I,{...u,ref:o})})}),k=i.forwardRef((e,o)=>{const{value:t,defaultValue:r,onValueChange:s=()=>{},...u}=e,[l,a]=T.useControllableState({prop:t,defaultProp:r??[],onChange:s,caller:c}),p=i.useCallback(g=>a((x=[])=>[...x,g]),[a]),f=i.useCallback(g=>a((x=[])=>x.filter(V=>V!==g)),[a]);return n.jsxRuntimeExports.jsx(_,{scope:e.__scopeToggleGroup,type:"multiple",value:l,onItemActivate:p,onItemDeactivate:f,children:n.jsxRuntimeExports.jsx(I,{...u,ref:o})})});j.displayName=c;var[z,B]=C(c),I=i.forwardRef((e,o)=>{const{__scopeToggleGroup:t,disabled:r=!1,rovingFocus:s=!0,orientation:u,dir:l,loop:a=!0,...p}=e,f=E(t),g=O.useDirection(l),x={role:"group",dir:g,...p};return n.jsxRuntimeExports.jsx(z,{scope:t,rovingFocus:s,disabled:r,children:s?n.jsxRuntimeExports.jsx(v.Root,{asChild:!0,...f,orientation:u,dir:g,loop:a,children:n.jsxRuntimeExports.jsx(G.Primitive.div,{...x,ref:o})}):n.jsxRuntimeExports.jsx(G.Primitive.div,{...x,ref:o})})}),m="ToggleGroupItem",b=i.forwardRef((e,o)=>{const t=y(m,e.__scopeToggleGroup),r=B(m,e.__scopeToggleGroup),s=E(e.__scopeToggleGroup),u=t.value.includes(e.value),l=r.disabled||e.disabled,a={...e,pressed:u,disabled:l},p=i.useRef(null);return r.rovingFocus?n.jsxRuntimeExports.jsx(v.Item,{asChild:!0,...s,focusable:!l,active:u,ref:p,children:n.jsxRuntimeExports.jsx(R,{...a,ref:o})}):n.jsxRuntimeExports.jsx(R,{...a,ref:o})});b.displayName=m;var R=i.forwardRef((e,o)=>{const{__scopeToggleGroup:t,value:r,...s}=e,u=y(m,t),l={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},a=u.type==="single"?l:void 0;return n.jsxRuntimeExports.jsx(w.Toggle,{...a,...s,ref:o,onPressedChange:p=>{p?u.onItemActivate(r):u.onItemDeactivate(r)}})}),h=j,S=b;const N=d.createContext({size:"default",variant:"default"}),q=d.forwardRef(({className:e,variant:o,size:t,children:r,...s},u)=>n.jsxRuntimeExports.jsx(h,{ref:u,className:P.cn("flex items-center justify-center gap-1",e),...s,children:n.jsxRuntimeExports.jsx(N.Provider,{value:{variant:o,size:t},children:r})}));q.displayName=h?.displayName||"ToggleGroup";const M=d.forwardRef(({className:e,children:o,variant:t,size:r,...s},u)=>{const l=d.useContext(N);return n.jsxRuntimeExports.jsx(S,{ref:u,className:P.cn(D.toggleVariants({variant:l.variant||t,size:l.size||r}),e),...s,children:o})});M.displayName=S?.displayName||"ToggleGroupItem";exports.ToggleGroup=q;exports.ToggleGroupItem=M;
@@ -3,16 +3,16 @@ import { j as s } from "./jsx-runtime-tc70JA_2.mjs";
3
3
  import * as d from "react";
4
4
  import i from "react";
5
5
  import { c as M } from "./index-IZ2gq03c.mjs";
6
- import { P as G } from "./index-K9FzbxYw.mjs";
6
+ import { P as x } from "./index-K9FzbxYw.mjs";
7
7
  import { I as A, c as C, R as E } from "./index-Bv7qrYW6.mjs";
8
8
  import { T as F } from "./index-CeSLNJ60.mjs";
9
9
  import { u as P } from "./index-p6xVFRb4.mjs";
10
10
  import { u as D } from "./index-CD6_IrA-.mjs";
11
11
  import { toggleVariants as k } from "@gv-tech/ui-core";
12
- import { c as j } from "./utils-B6yFEsav.mjs";
13
- var c = "ToggleGroup", [_] = M(c, [
12
+ import { c as j } from "./utils-DY6fhrgS.mjs";
13
+ var c = "ToggleGroup", [I] = M(c, [
14
14
  C
15
- ]), I = C(), x = i.forwardRef((e, o) => {
15
+ ]), _ = C(), G = i.forwardRef((e, o) => {
16
16
  const { type: a, ...r } = e;
17
17
  if (a === "single") {
18
18
  const t = r;
@@ -24,8 +24,8 @@ var c = "ToggleGroup", [_] = M(c, [
24
24
  }
25
25
  throw new Error(`Missing prop \`type\` expected on \`${c}\``);
26
26
  });
27
- x.displayName = c;
28
- var [h, R] = _(c), $ = i.forwardRef((e, o) => {
27
+ G.displayName = c;
28
+ var [h, R] = I(c), $ = i.forwardRef((e, o) => {
29
29
  const {
30
30
  value: a,
31
31
  defaultValue: r,
@@ -80,8 +80,8 @@ var [h, R] = _(c), $ = i.forwardRef((e, o) => {
80
80
  }
81
81
  );
82
82
  });
83
- x.displayName = c;
84
- var [B, O] = _(c), y = i.forwardRef(
83
+ G.displayName = c;
84
+ var [B, O] = I(c), y = i.forwardRef(
85
85
  (e, o) => {
86
86
  const {
87
87
  __scopeToggleGroup: a,
@@ -91,7 +91,7 @@ var [B, O] = _(c), y = i.forwardRef(
91
91
  dir: n,
92
92
  loop: u = !0,
93
93
  ...p
94
- } = e, f = I(a), g = D(n), m = { role: "group", dir: g, ...p };
94
+ } = e, f = _(a), g = D(n), m = { role: "group", dir: g, ...p };
95
95
  return /* @__PURE__ */ s.jsx(B, { scope: a, rovingFocus: t, disabled: r, children: t ? /* @__PURE__ */ s.jsx(
96
96
  E,
97
97
  {
@@ -100,13 +100,13 @@ var [B, O] = _(c), y = i.forwardRef(
100
100
  orientation: l,
101
101
  dir: g,
102
102
  loop: u,
103
- children: /* @__PURE__ */ s.jsx(G.div, { ...m, ref: o })
103
+ children: /* @__PURE__ */ s.jsx(x.div, { ...m, ref: o })
104
104
  }
105
- ) : /* @__PURE__ */ s.jsx(G.div, { ...m, ref: o }) });
105
+ ) : /* @__PURE__ */ s.jsx(x.div, { ...m, ref: o }) });
106
106
  }
107
107
  ), v = "ToggleGroupItem", N = i.forwardRef(
108
108
  (e, o) => {
109
- const a = R(v, e.__scopeToggleGroup), r = O(v, e.__scopeToggleGroup), t = I(e.__scopeToggleGroup), l = a.value.includes(e.value), n = r.disabled || e.disabled, u = { ...e, pressed: l, disabled: n }, p = i.useRef(null);
109
+ const a = R(v, e.__scopeToggleGroup), r = O(v, e.__scopeToggleGroup), t = _(e.__scopeToggleGroup), l = a.value.includes(e.value), n = r.disabled || e.disabled, u = { ...e, pressed: l, disabled: n }, p = i.useRef(null);
110
110
  return r.rovingFocus ? /* @__PURE__ */ s.jsx(
111
111
  A,
112
112
  {
@@ -136,14 +136,14 @@ var T = i.forwardRef(
136
136
  }
137
137
  );
138
138
  }
139
- ), b = x, V = N;
139
+ ), b = G, V = N;
140
140
  const S = d.createContext({
141
141
  size: "default",
142
142
  variant: "default"
143
143
  }), L = d.forwardRef(
144
144
  ({ className: e, variant: o, size: a, children: r, ...t }, l) => /* @__PURE__ */ s.jsx(b, { ref: l, className: j("flex items-center justify-center gap-1", e), ...t, children: /* @__PURE__ */ s.jsx(S.Provider, { value: { variant: o, size: a }, children: r }) })
145
145
  );
146
- L.displayName = b.displayName;
146
+ L.displayName = b?.displayName || "ToggleGroup";
147
147
  const U = d.forwardRef(
148
148
  ({ className: e, children: o, variant: a, size: r, ...t }, l) => {
149
149
  const n = d.useContext(S);
@@ -164,7 +164,7 @@ const U = d.forwardRef(
164
164
  );
165
165
  }
166
166
  );
167
- U.displayName = V.displayName;
167
+ U.displayName = V?.displayName || "ToggleGroupItem";
168
168
  export {
169
169
  L as ToggleGroup,
170
170
  U as ToggleGroupItem
package/dist/toggle.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./jsx-runtime-nZSsnGb7.js"),n=require("./index-kaM0u2Q1.js"),u=require("react"),a=require("@gv-tech/ui-core"),l=require("./utils-IjLH3w2e.js");function g(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const f=g(u),i=f.forwardRef(({className:e,variant:r,size:t,...o},s)=>c.jsxRuntimeExports.jsx(n.Root,{ref:s,className:l.cn(a.toggleVariants({variant:r,size:t,className:e})),...o}));i.displayName=n.Root.displayName;Object.defineProperty(exports,"toggleVariants",{enumerable:!0,get:()=>a.toggleVariants});exports.Toggle=i;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./jsx-runtime-nZSsnGb7.js"),n=require("./index-kaM0u2Q1.js"),u=require("react"),a=require("@gv-tech/ui-core"),l=require("./utils-cdbZV8DZ.js");function g(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const f=g(u),i=f.forwardRef(({className:e,variant:r,size:t,...o},s)=>c.jsxRuntimeExports.jsx(n.Root,{ref:s,className:l.cn(a.toggleVariants({variant:r,size:t,className:e})),...o}));i.displayName=n.Root?.displayName||"Toggle";Object.defineProperty(exports,"toggleVariants",{enumerable:!0,get:()=>a.toggleVariants});exports.Toggle=i;
package/dist/toggle.mjs CHANGED
@@ -4,12 +4,12 @@ import { R as o } from "./index-CeSLNJ60.mjs";
4
4
  import * as i from "react";
5
5
  import { toggleVariants as p } from "@gv-tech/ui-core";
6
6
  import { toggleVariants as j } from "@gv-tech/ui-core";
7
- import { c as f } from "./utils-B6yFEsav.mjs";
8
- const l = i.forwardRef(
7
+ import { c as f } from "./utils-DY6fhrgS.mjs";
8
+ const g = i.forwardRef(
9
9
  ({ className: r, variant: t, size: a, ...m }, s) => /* @__PURE__ */ e.jsx(o, { ref: s, className: f(p({ variant: t, size: a, className: r })), ...m })
10
10
  );
11
- l.displayName = o.displayName;
11
+ g.displayName = o?.displayName || "Toggle";
12
12
  export {
13
- l as Toggle,
13
+ g as Toggle,
14
14
  j as toggleVariants
15
15
  };
package/dist/tooltip.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./jsx-runtime-nZSsnGb7.js"),X=require("react"),C=require("./index-BtZvtDmp.js"),M=require("./index-_XxjJPRD.js"),K=require("./index-D2HnlO3y.js"),W=require("./index-BoNjHhm4.js"),J=require("./index-CefEQe_4.js"),R=require("./index-jv3B4mTd.js"),Q=require("./index-B2XtpfGY.js"),Z=require("./index-Ce5TOFAK.js"),ee=require("./index-Cl3G0jzM.js"),te=require("./utils-IjLH3w2e.js");function oe(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=oe(X);var[O]=K.createContextScope("Tooltip",[R.createPopperScope]),_=R.createPopperScope(),S="TooltipProvider",re=700,L="tooltip.open",[ne,A]=O(S),I=e=>{const{__scopeTooltip:o,delayDuration:t=re,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:c}=e,a=s.useRef(!0),x=s.useRef(!1),i=s.useRef(0);return s.useEffect(()=>{const d=i.current;return()=>window.clearTimeout(d)},[]),u.jsxRuntimeExports.jsx(ne,{scope:o,isOpenDelayedRef:a,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(i.current),a.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:x,onPointerInTransitChange:s.useCallback(d=>{x.current=d},[]),disableHoverableContent:n,children:c})};I.displayName=S;var j="Tooltip",[se,D]=O(j),q=e=>{const{__scopeTooltip:o,children:t,open:r,defaultOpen:n,onOpenChange:c,disableHoverableContent:a,delayDuration:x}=e,i=A(j,e.__scopeTooltip),d=_(o),[l,f]=s.useState(null),v=J.useId(),p=s.useRef(0),m=a??i.disableHoverableContent,T=x??i.delayDuration,h=s.useRef(!1),[y,g]=Z.useControllableState({prop:r,defaultProp:n??!1,onChange:N=>{N?(i.onOpen(),document.dispatchEvent(new CustomEvent(L))):i.onClose(),c?.(N)},caller:j}),b=s.useMemo(()=>y?h.current?"delayed-open":"instant-open":"closed",[y]),w=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,h.current=!1,g(!0)},[g]),P=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g(!1)},[g]),H=s.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{h.current=!0,g(!0),p.current=0},T)},[T,g]);return s.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),u.jsxRuntimeExports.jsx(R.Root2,{...d,children:u.jsxRuntimeExports.jsx(se,{scope:o,contentId:v,open:y,stateAttribute:b,trigger:l,onTriggerChange:f,onTriggerEnter:s.useCallback(()=>{i.isOpenDelayedRef.current?H():w()},[i.isOpenDelayedRef,H,w]),onTriggerLeave:s.useCallback(()=>{m?P():(window.clearTimeout(p.current),p.current=0)},[P,m]),onOpen:w,onClose:P,disableHoverableContent:m,children:t})})};q.displayName=j;var k="TooltipTrigger",$=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=D(k,t),c=A(k,t),a=_(t),x=s.useRef(null),i=M.useComposedRefs(o,x,n.onTriggerChange),d=s.useRef(!1),l=s.useRef(!1),f=s.useCallback(()=>d.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),u.jsxRuntimeExports.jsx(R.Anchor,{asChild:!0,...a,children:u.jsxRuntimeExports.jsx(C.Primitive.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:C.composeEventHandlers(e.onPointerMove,v=>{v.pointerType!=="touch"&&!l.current&&!c.isPointerInTransitRef.current&&(n.onTriggerEnter(),l.current=!0)}),onPointerLeave:C.composeEventHandlers(e.onPointerLeave,()=>{n.onTriggerLeave(),l.current=!1}),onPointerDown:C.composeEventHandlers(e.onPointerDown,()=>{n.open&&n.onClose(),d.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:C.composeEventHandlers(e.onFocus,()=>{d.current||n.onOpen()}),onBlur:C.composeEventHandlers(e.onBlur,n.onClose),onClick:C.composeEventHandlers(e.onClick,n.onClose)})})});$.displayName=k;var ie="TooltipPortal",[Re,ae]=O(ie,{forceMount:void 0}),E="TooltipContent",G=s.forwardRef((e,o)=>{const t=ae(E,e.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...c}=e,a=D(E,e.__scopeTooltip);return u.jsxRuntimeExports.jsx(Q.Presence,{present:r||a.open,children:a.disableHoverableContent?u.jsxRuntimeExports.jsx(F,{side:n,...c,ref:o}):u.jsxRuntimeExports.jsx(ce,{side:n,...c,ref:o})})}),ce=s.forwardRef((e,o)=>{const t=D(E,e.__scopeTooltip),r=A(E,e.__scopeTooltip),n=s.useRef(null),c=M.useComposedRefs(o,n),[a,x]=s.useState(null),{trigger:i,onClose:d}=t,l=n.current,{onPointerInTransitChange:f}=r,v=s.useCallback(()=>{x(null),f(!1)},[f]),p=s.useCallback((m,T)=>{const h=m.currentTarget,y={x:m.clientX,y:m.clientY},g=fe(y,h.getBoundingClientRect()),b=xe(y,g),w=ve(T.getBoundingClientRect()),P=he([...b,...w]);x(P),f(!0)},[f]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(i&&l){const m=h=>p(h,l),T=h=>p(h,i);return i.addEventListener("pointerleave",m),l.addEventListener("pointerleave",T),()=>{i.removeEventListener("pointerleave",m),l.removeEventListener("pointerleave",T)}}},[i,l,p,v]),s.useEffect(()=>{if(a){const m=T=>{const h=T.target,y={x:T.clientX,y:T.clientY},g=i?.contains(h)||l?.contains(h),b=!me(y,a);g?v():b&&(v(),d())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[i,l,a,d,v]),u.jsxRuntimeExports.jsx(F,{...e,ref:c})}),[le,ue]=O(j,{isInside:!1}),pe=C.createSlottable("TooltipContent"),F=s.forwardRef((e,o)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:c,onPointerDownOutside:a,...x}=e,i=D(E,t),d=_(t),{onClose:l}=i;return s.useEffect(()=>(document.addEventListener(L,l),()=>document.removeEventListener(L,l)),[l]),s.useEffect(()=>{if(i.trigger){const f=v=>{v.target?.contains(i.trigger)&&l()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[i.trigger,l]),u.jsxRuntimeExports.jsx(W.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:l,children:u.jsxRuntimeExports.jsxs(R.Content,{"data-state":i.stateAttribute,...d,...x,ref:o,style:{...x.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[u.jsxRuntimeExports.jsx(pe,{children:r}),u.jsxRuntimeExports.jsx(le,{scope:t,isInside:!0,children:u.jsxRuntimeExports.jsx(ee.Root,{id:i.contentId,role:"tooltip",children:n||r})})]})})});G.displayName=E;var z="TooltipArrow",de=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=_(t);return ue(z,t).isInside?null:u.jsxRuntimeExports.jsx(R.Arrow,{...n,...r,ref:o})});de.displayName=z;function fe(e,o){const t=Math.abs(o.top-e.y),r=Math.abs(o.bottom-e.y),n=Math.abs(o.right-e.x),c=Math.abs(o.left-e.x);switch(Math.min(t,r,n,c)){case c:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function xe(e,o,t=5){const r=[];switch(o){case"top":r.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":r.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":r.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":r.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return r}function ve(e){const{top:o,right:t,bottom:r,left:n}=e;return[{x:n,y:o},{x:t,y:o},{x:t,y:r},{x:n,y:r}]}function me(e,o){const{x:t,y:r}=e;let n=!1;for(let c=0,a=o.length-1;c<o.length;a=c++){const x=o[c],i=o[a],d=x.x,l=x.y,f=i.x,v=i.y;l>r!=v>r&&t<(f-d)*(r-l)/(v-l)+d&&(n=!n)}return n}function he(e){const o=e.slice();return o.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),Te(o)}function Te(e){if(e.length<=1)return e.slice();const o=[];for(let r=0;r<e.length;r++){const n=e[r];for(;o.length>=2;){const c=o[o.length-1],a=o[o.length-2];if((c.x-a.x)*(n.y-a.y)>=(c.y-a.y)*(n.x-a.x))o.pop();else break}o.push(n)}o.pop();const t=[];for(let r=e.length-1;r>=0;r--){const n=e[r];for(;t.length>=2;){const c=t[t.length-1],a=t[t.length-2];if((c.x-a.x)*(n.y-a.y)>=(c.y-a.y)*(n.x-a.x))t.pop();else break}t.push(n)}return t.pop(),o.length===1&&t.length===1&&o[0].x===t[0].x&&o[0].y===t[0].y?o:o.concat(t)}var ge=I,ye=q,B=$,U=G;const Ce=({delayDuration:e=0,...o})=>u.jsxRuntimeExports.jsx(ge,{delayDuration:e,...o}),Ee=({...e})=>u.jsxRuntimeExports.jsx(ye,{...e}),V=s.forwardRef(({className:e,...o},t)=>u.jsxRuntimeExports.jsx(B,{ref:t,className:e,...o}));V.displayName=B.displayName;const Y=s.forwardRef(({className:e,sideOffset:o=4,...t},r)=>u.jsxRuntimeExports.jsx(U,{ref:r,sideOffset:o,className:te.cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",e),...t}));Y.displayName=U.displayName;exports.Tooltip=Ee;exports.TooltipContent=Y;exports.TooltipProvider=Ce;exports.TooltipTrigger=V;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./jsx-runtime-nZSsnGb7.js"),X=require("react"),C=require("./index-BtZvtDmp.js"),M=require("./index-_XxjJPRD.js"),K=require("./index-D2HnlO3y.js"),W=require("./index-BoNjHhm4.js"),J=require("./index-CefEQe_4.js"),R=require("./index-jv3B4mTd.js"),Q=require("./index-B2XtpfGY.js"),Z=require("./index-Ce5TOFAK.js"),ee=require("./index-Cl3G0jzM.js"),te=require("./utils-cdbZV8DZ.js");function oe(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=oe(X);var[O]=K.createContextScope("Tooltip",[R.createPopperScope]),_=R.createPopperScope(),S="TooltipProvider",re=700,L="tooltip.open",[ne,A]=O(S),I=e=>{const{__scopeTooltip:o,delayDuration:t=re,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:c}=e,a=s.useRef(!0),x=s.useRef(!1),i=s.useRef(0);return s.useEffect(()=>{const d=i.current;return()=>window.clearTimeout(d)},[]),u.jsxRuntimeExports.jsx(ne,{scope:o,isOpenDelayedRef:a,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(i.current),a.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:x,onPointerInTransitChange:s.useCallback(d=>{x.current=d},[]),disableHoverableContent:n,children:c})};I.displayName=S;var j="Tooltip",[se,D]=O(j),q=e=>{const{__scopeTooltip:o,children:t,open:r,defaultOpen:n,onOpenChange:c,disableHoverableContent:a,delayDuration:x}=e,i=A(j,e.__scopeTooltip),d=_(o),[l,f]=s.useState(null),v=J.useId(),p=s.useRef(0),m=a??i.disableHoverableContent,g=x??i.delayDuration,T=s.useRef(!1),[y,h]=Z.useControllableState({prop:r,defaultProp:n??!1,onChange:N=>{N?(i.onOpen(),document.dispatchEvent(new CustomEvent(L))):i.onClose(),c?.(N)},caller:j}),b=s.useMemo(()=>y?T.current?"delayed-open":"instant-open":"closed",[y]),w=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,T.current=!1,h(!0)},[h]),P=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,h(!1)},[h]),H=s.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{T.current=!0,h(!0),p.current=0},g)},[g,h]);return s.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),u.jsxRuntimeExports.jsx(R.Root2,{...d,children:u.jsxRuntimeExports.jsx(se,{scope:o,contentId:v,open:y,stateAttribute:b,trigger:l,onTriggerChange:f,onTriggerEnter:s.useCallback(()=>{i.isOpenDelayedRef.current?H():w()},[i.isOpenDelayedRef,H,w]),onTriggerLeave:s.useCallback(()=>{m?P():(window.clearTimeout(p.current),p.current=0)},[P,m]),onOpen:w,onClose:P,disableHoverableContent:m,children:t})})};q.displayName=j;var k="TooltipTrigger",$=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=D(k,t),c=A(k,t),a=_(t),x=s.useRef(null),i=M.useComposedRefs(o,x,n.onTriggerChange),d=s.useRef(!1),l=s.useRef(!1),f=s.useCallback(()=>d.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),u.jsxRuntimeExports.jsx(R.Anchor,{asChild:!0,...a,children:u.jsxRuntimeExports.jsx(C.Primitive.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:C.composeEventHandlers(e.onPointerMove,v=>{v.pointerType!=="touch"&&!l.current&&!c.isPointerInTransitRef.current&&(n.onTriggerEnter(),l.current=!0)}),onPointerLeave:C.composeEventHandlers(e.onPointerLeave,()=>{n.onTriggerLeave(),l.current=!1}),onPointerDown:C.composeEventHandlers(e.onPointerDown,()=>{n.open&&n.onClose(),d.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:C.composeEventHandlers(e.onFocus,()=>{d.current||n.onOpen()}),onBlur:C.composeEventHandlers(e.onBlur,n.onClose),onClick:C.composeEventHandlers(e.onClick,n.onClose)})})});$.displayName=k;var ie="TooltipPortal",[Re,ae]=O(ie,{forceMount:void 0}),E="TooltipContent",G=s.forwardRef((e,o)=>{const t=ae(E,e.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...c}=e,a=D(E,e.__scopeTooltip);return u.jsxRuntimeExports.jsx(Q.Presence,{present:r||a.open,children:a.disableHoverableContent?u.jsxRuntimeExports.jsx(F,{side:n,...c,ref:o}):u.jsxRuntimeExports.jsx(ce,{side:n,...c,ref:o})})}),ce=s.forwardRef((e,o)=>{const t=D(E,e.__scopeTooltip),r=A(E,e.__scopeTooltip),n=s.useRef(null),c=M.useComposedRefs(o,n),[a,x]=s.useState(null),{trigger:i,onClose:d}=t,l=n.current,{onPointerInTransitChange:f}=r,v=s.useCallback(()=>{x(null),f(!1)},[f]),p=s.useCallback((m,g)=>{const T=m.currentTarget,y={x:m.clientX,y:m.clientY},h=fe(y,T.getBoundingClientRect()),b=xe(y,h),w=ve(g.getBoundingClientRect()),P=Te([...b,...w]);x(P),f(!0)},[f]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(i&&l){const m=T=>p(T,l),g=T=>p(T,i);return i.addEventListener("pointerleave",m),l.addEventListener("pointerleave",g),()=>{i.removeEventListener("pointerleave",m),l.removeEventListener("pointerleave",g)}}},[i,l,p,v]),s.useEffect(()=>{if(a){const m=g=>{const T=g.target,y={x:g.clientX,y:g.clientY},h=i?.contains(T)||l?.contains(T),b=!me(y,a);h?v():b&&(v(),d())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[i,l,a,d,v]),u.jsxRuntimeExports.jsx(F,{...e,ref:c})}),[le,ue]=O(j,{isInside:!1}),pe=C.createSlottable("TooltipContent"),F=s.forwardRef((e,o)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:c,onPointerDownOutside:a,...x}=e,i=D(E,t),d=_(t),{onClose:l}=i;return s.useEffect(()=>(document.addEventListener(L,l),()=>document.removeEventListener(L,l)),[l]),s.useEffect(()=>{if(i.trigger){const f=v=>{v.target?.contains(i.trigger)&&l()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[i.trigger,l]),u.jsxRuntimeExports.jsx(W.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:l,children:u.jsxRuntimeExports.jsxs(R.Content,{"data-state":i.stateAttribute,...d,...x,ref:o,style:{...x.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[u.jsxRuntimeExports.jsx(pe,{children:r}),u.jsxRuntimeExports.jsx(le,{scope:t,isInside:!0,children:u.jsxRuntimeExports.jsx(ee.Root,{id:i.contentId,role:"tooltip",children:n||r})})]})})});G.displayName=E;var z="TooltipArrow",de=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=_(t);return ue(z,t).isInside?null:u.jsxRuntimeExports.jsx(R.Arrow,{...n,...r,ref:o})});de.displayName=z;function fe(e,o){const t=Math.abs(o.top-e.y),r=Math.abs(o.bottom-e.y),n=Math.abs(o.right-e.x),c=Math.abs(o.left-e.x);switch(Math.min(t,r,n,c)){case c:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function xe(e,o,t=5){const r=[];switch(o){case"top":r.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":r.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":r.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":r.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return r}function ve(e){const{top:o,right:t,bottom:r,left:n}=e;return[{x:n,y:o},{x:t,y:o},{x:t,y:r},{x:n,y:r}]}function me(e,o){const{x:t,y:r}=e;let n=!1;for(let c=0,a=o.length-1;c<o.length;a=c++){const x=o[c],i=o[a],d=x.x,l=x.y,f=i.x,v=i.y;l>r!=v>r&&t<(f-d)*(r-l)/(v-l)+d&&(n=!n)}return n}function Te(e){const o=e.slice();return o.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),ge(o)}function ge(e){if(e.length<=1)return e.slice();const o=[];for(let r=0;r<e.length;r++){const n=e[r];for(;o.length>=2;){const c=o[o.length-1],a=o[o.length-2];if((c.x-a.x)*(n.y-a.y)>=(c.y-a.y)*(n.x-a.x))o.pop();else break}o.push(n)}o.pop();const t=[];for(let r=e.length-1;r>=0;r--){const n=e[r];for(;t.length>=2;){const c=t[t.length-1],a=t[t.length-2];if((c.x-a.x)*(n.y-a.y)>=(c.y-a.y)*(n.x-a.x))t.pop();else break}t.push(n)}return t.pop(),o.length===1&&t.length===1&&o[0].x===t[0].x&&o[0].y===t[0].y?o:o.concat(t)}var he=I,ye=q,B=$,U=G;const Ce=({delayDuration:e=0,...o})=>u.jsxRuntimeExports.jsx(he,{delayDuration:e,...o}),Ee=({...e})=>u.jsxRuntimeExports.jsx(ye,{...e}),V=s.forwardRef(({className:e,...o},t)=>u.jsxRuntimeExports.jsx(B,{ref:t,className:e,...o}));V.displayName=B?.displayName||"TooltipTrigger";const Y=s.forwardRef(({className:e,sideOffset:o=4,...t},r)=>u.jsxRuntimeExports.jsx(U,{ref:r,sideOffset:o,className:te.cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",e),...t}));Y.displayName=U?.displayName||"TooltipContent";exports.Tooltip=Ee;exports.TooltipContent=Y;exports.TooltipProvider=Ce;exports.TooltipTrigger=V;
package/dist/tooltip.mjs CHANGED
@@ -10,7 +10,7 @@ import { A as J, c as M, C as Q, R as Z, a as ee } from "./index-CwfE56Ep.mjs";
10
10
  import { P as te } from "./index-vuPgkS0V.mjs";
11
11
  import { u as oe } from "./index-p6xVFRb4.mjs";
12
12
  import { R as re } from "./index-DKN_vhyX.mjs";
13
- import { c as ne } from "./utils-B6yFEsav.mjs";
13
+ import { c as ne } from "./utils-DY6fhrgS.mjs";
14
14
  var [_] = X("Tooltip", [
15
15
  M
16
16
  ]), O = M(), H = "TooltipProvider", se = 700, j = "tooltip.open", [ae, L] = _(H), S = (e) => {
@@ -319,7 +319,7 @@ var Ce = S, be = G, U = F, V = B;
319
319
  const He = ({ delayDuration: e = 0, ...o }) => /* @__PURE__ */ u.jsx(Ce, { delayDuration: e, ...o }), Se = ({ ...e }) => /* @__PURE__ */ u.jsx(be, { ...e }), we = s.forwardRef(
320
320
  ({ className: e, ...o }, t) => /* @__PURE__ */ u.jsx(U, { ref: t, className: e, ...o })
321
321
  );
322
- we.displayName = U.displayName;
322
+ we.displayName = U?.displayName || "TooltipTrigger";
323
323
  const Re = s.forwardRef(
324
324
  ({ className: e, sideOffset: o = 4, ...t }, r) => /* @__PURE__ */ u.jsx(
325
325
  V,
@@ -334,7 +334,7 @@ const Re = s.forwardRef(
334
334
  }
335
335
  )
336
336
  );
337
- Re.displayName = V.displayName;
337
+ Re.displayName = V?.displayName || "TooltipContent";
338
338
  export {
339
339
  Se as Tooltip,
340
340
  Re as TooltipContent,
@@ -0,0 +1,12 @@
1
+ import { clsx as e } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ function n(...r) {
4
+ return t(e(r));
5
+ }
6
+ function i(r) {
7
+ return r.toString().toLowerCase().trim().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-");
8
+ }
9
+ export {
10
+ n as c,
11
+ i as s
12
+ };
@@ -0,0 +1 @@
1
+ "use strict";const r=require("clsx"),t=require("tailwind-merge");function c(...e){return t.twMerge(r.clsx(e))}function n(e){return e.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-")}exports.cn=c;exports.slugify=n;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gv-tech/ui-web",
3
- "version": "2.15.2",
3
+ "version": "2.16.0",
4
4
  "description": "Web (DOM/Radix) implementations of the GV Tech design system components",
5
5
  "repository": {
6
6
  "type": "git",
package/src/accordion.tsx CHANGED
@@ -39,7 +39,7 @@ const AccordionTrigger = React.forwardRef<
39
39
  </AccordionPrimitive.Trigger>
40
40
  </AccordionPrimitive.Header>
41
41
  ));
42
- AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
42
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger?.displayName || 'AccordionTrigger';
43
43
 
44
44
  const AccordionContent = React.forwardRef<
45
45
  React.ElementRef<typeof AccordionPrimitive.Content>,
@@ -53,7 +53,7 @@ const AccordionContent = React.forwardRef<
53
53
  <div className={cn('pt-0 pb-4', className)}>{children}</div>
54
54
  </AccordionPrimitive.Content>
55
55
  ));
56
- AccordionContent.displayName = AccordionPrimitive.Content.displayName;
56
+ AccordionContent.displayName = AccordionPrimitive.Content?.displayName || 'AccordionContent';
57
57
 
58
58
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
59
59
  export type { AccordionBaseProps as AccordionProps };