@ngrok/mantle 0.81.1 → 0.82.1

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 (115) hide show
  1. package/dist/accordion.js +1 -1
  2. package/dist/agent.json +4 -1
  3. package/dist/alert-BWwNPOMI.d.ts +391 -0
  4. package/dist/alert-center.d.ts +647 -0
  5. package/dist/alert-center.js +1 -0
  6. package/dist/alert-dialog.js +1 -1
  7. package/dist/alert-vwFd7qdp.js +1 -0
  8. package/dist/alert.d.ts +1 -390
  9. package/dist/alert.js +1 -1
  10. package/dist/{anchor-DfeXTpKW.js → anchor-3OGK2UKU.js} +1 -1
  11. package/dist/anchor.js +1 -1
  12. package/dist/app-layout.d.ts +566 -0
  13. package/dist/app-layout.js +1 -0
  14. package/dist/area-chart.js +1 -1
  15. package/dist/badge.js +1 -1
  16. package/dist/bar-chart.js +1 -1
  17. package/dist/breadcrumb.d.ts +1 -1
  18. package/dist/breadcrumb.js +1 -1
  19. package/dist/browser-only-CmEEzfU3.js +1 -0
  20. package/dist/browser-only.js +1 -1
  21. package/dist/{button-DjpEKt2X.js → button-Cnja9Bsr.js} +1 -1
  22. package/dist/{button-D9n09xUg.js → button-DmJkYfyl.js} +1 -1
  23. package/dist/{button-BAno7KIU.js → button-IlxHhjPK.js} +1 -1
  24. package/dist/button.js +1 -1
  25. package/dist/calendar.d.ts +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/centered-layout.d.ts +9 -9
  28. package/dist/centered-layout.js +1 -1
  29. package/dist/chart-B3pAvmkk.js +2 -0
  30. package/dist/{choice-BHwFSSyv.js → choice-CnwfjSEu.js} +1 -1
  31. package/dist/choice.js +1 -1
  32. package/dist/code-block.js +1 -1
  33. package/dist/code.js +1 -1
  34. package/dist/combobox.js +1 -1
  35. package/dist/command.js +1 -1
  36. package/dist/cookie-ca4g5CKp.js +1 -0
  37. package/dist/{copy-to-clipboard-BsCQ9m6K.js → copy-to-clipboard-B4UB6pts.js} +1 -1
  38. package/dist/data-slot-EM6s2WEU.js +1 -0
  39. package/dist/data-table.js +1 -1
  40. package/dist/description-list.js +1 -1
  41. package/dist/{dialog-DWZWd5Jt.js → dialog-DozL6n-F.js} +1 -1
  42. package/dist/dialog.d.ts +1 -1
  43. package/dist/dialog.js +1 -1
  44. package/dist/dropdown-menu-BRH0Wd_z.js +1 -0
  45. package/dist/dropdown-menu.js +1 -1
  46. package/dist/empty.js +1 -1
  47. package/dist/field.d.ts +1 -1
  48. package/dist/field.js +1 -1
  49. package/dist/hooks.js +1 -1
  50. package/dist/{icons-DLCs1hLP.js → icons-Bb_zF2OV.js} +1 -1
  51. package/dist/icons.js +1 -1
  52. package/dist/input.js +1 -1
  53. package/dist/line-chart.js +1 -1
  54. package/dist/{list-51KQvENW.js → list-CJABVHwi.js} +1 -1
  55. package/dist/list.js +1 -1
  56. package/dist/llms.txt +4 -1
  57. package/dist/main.d.ts +35 -1
  58. package/dist/main.js +1 -1
  59. package/dist/mantle.css +21 -1
  60. package/dist/media-object.js +1 -1
  61. package/dist/multi-select.d.ts +10 -2
  62. package/dist/multi-select.js +1 -1
  63. package/dist/otp-input.js +1 -1
  64. package/dist/pagination.js +1 -1
  65. package/dist/platform-BVD3gpKD.js +1 -0
  66. package/dist/{primitive-trJDqIXJ.js → primitive-D-9GIFWb.js} +1 -1
  67. package/dist/progress.d.ts +8 -8
  68. package/dist/qr-code.js +1 -1
  69. package/dist/radio-group.d.ts +10 -0
  70. package/dist/radio-group.js +1 -1
  71. package/dist/sandboxed-on-click.js +1 -1
  72. package/dist/scatter-plot.d.ts +2 -1
  73. package/dist/scatter-plot.js +1 -1
  74. package/dist/{select-BCHWvmyC.js → select-BReznXaw.js} +1 -1
  75. package/dist/select.js +1 -1
  76. package/dist/selectable-list.js +1 -1
  77. package/dist/{separator-bpE_kooz.js → separator-D0D6VyyM.js} +1 -1
  78. package/dist/separator.js +1 -1
  79. package/dist/sheet-BxvTfPLM.js +1 -0
  80. package/dist/sheet.d.ts +1 -1
  81. package/dist/sheet.js +1 -1
  82. package/dist/sidebar.d.ts +2558 -0
  83. package/dist/sidebar.js +1 -0
  84. package/dist/{skeleton-CsbUHbBA.js → skeleton-BhcJMpem.js} +1 -1
  85. package/dist/skeleton.js +1 -1
  86. package/dist/skip-to-main-link.js +1 -1
  87. package/dist/slot-DdgxmuI5.d.ts +67 -0
  88. package/dist/slot-DpNWVci8.js +1 -0
  89. package/dist/slot.d.ts +1 -1
  90. package/dist/slot.js +1 -1
  91. package/dist/split-button.js +1 -1
  92. package/dist/tabs.js +1 -1
  93. package/dist/theme-BorfgnNh.js +1 -0
  94. package/dist/theme-switcher.d.ts +1 -1
  95. package/dist/theme-switcher.js +1 -1
  96. package/dist/theme.js +1 -1
  97. package/dist/toast.js +1 -1
  98. package/dist/tooltip-Dnu35cjU.js +1 -0
  99. package/dist/tooltip-mrpLz4DZ.d.ts +218 -0
  100. package/dist/tooltip.d.ts +1 -217
  101. package/dist/tooltip.js +1 -1
  102. package/dist/use-breakpoint-Wd7_5-Mu.js +1 -0
  103. package/dist/use-copy-to-clipboard-CSyp4Zk0.js +1 -0
  104. package/dist/use-is-hydrated-DDCqXmju.js +1 -0
  105. package/dist/{use-prefers-reduced-motion-CagaNRgm.js → use-prefers-reduced-motion-Bk5zAfHY.js} +1 -1
  106. package/dist/utils.js +1 -1
  107. package/dist/well.js +1 -1
  108. package/package.json +16 -13
  109. package/dist/browser-only-CPH56Xw_.js +0 -1
  110. package/dist/chart-Do2qkrxl.js +0 -2
  111. package/dist/dropdown-menu-RyDWoKHx.js +0 -1
  112. package/dist/slot-BtwKJTLq.d.ts +0 -25
  113. package/dist/slot-CDk0Bb9z.js +0 -1
  114. package/dist/theme-C26-Xolp.js +0 -1
  115. package/dist/use-copy-to-clipboard-DqQ0_N3E.js +0 -1
@@ -0,0 +1 @@
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./data-slot-EM6s2WEU.js";import{t as n}from"./slot-DpNWVci8.js";import{t as r}from"./button-IlxHhjPK.js";import{t as i}from"./use-is-hydrated-DDCqXmju.js";import{n as a}from"./separator-D0D6VyyM.js";import{t as o}from"./platform-BVD3gpKD.js";import{n as s}from"./cookie-ca4g5CKp.js";import{t as c}from"./sheet-BxvTfPLM.js";import{i as l,r as u}from"./use-breakpoint-Wd7_5-Mu.js";import{t as d}from"./tooltip-Dnu35cjU.js";import{cloneElement as f,createContext as p,isValidElement as m,useCallback as h,useContext as g,useEffect as _,useId as v,useMemo as y,useRef as b,useState as x}from"react";import S from"tiny-invariant";import{jsx as C,jsxs as w}from"react/jsx-runtime";import{SidebarSimpleIcon as T}from"@phosphor-icons/react/SidebarSimple";const E={sm:`hidden sm:block`,md:`hidden md:block`,lg:`hidden lg:block`},D=p(null);function O(){let e=g(D);return S(e,`useSidebar must be used within Sidebar.Root.`),e}function k(e){let t=g(D);return S(t,`Sidebar.${e} must be rendered inside Sidebar.Root.`),t}const A=[];function ee(e){return e instanceof HTMLElement?e.isContentEditable||e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.tagName===`SELECT`:!1}function te(){let e=Symbol(`sidebar-keyboard-shortcut`);return A.push(e),{isOwner:()=>A[0]===e,release:()=>{let t=A.indexOf(e);t!==-1&&A.splice(t,1)}}}const j=({children:e,defaultOpen:t=!0,keyboardShortcut:n=!0,mobileBreakpoint:r=`lg`,onOpenChange:i,onOpenMobileChange:a,open:s,openMobile:c})=>{let d=u(r),f=v(),p=s!=null,[m,g]=x(t),S=p?s:m,w=h(e=>{p||g(e),i?.(e)},[p,i]),T=c!=null,[E,O]=x(!1),k=T?c:E,A=h(e=>{T||O(e),a?.(e)},[T,a]),j=b(d);_(()=>{let e=j.current&&!d;j.current=d,e&&k&&A(!1)},[d,k,A]);let M=h(()=>{d?A(!k):w(!S)},[d,S,k,w,A]),N=l(M);_(()=>{if(!n)return;let e=te(),t=o(),r=n=>{if(!e.isOwner()||ee(n.target))return;let r=t?n.metaKey:n.ctrlKey,i=t?n.ctrlKey:n.metaKey;n.key.toLowerCase()===`b`&&r&&!i&&!n.altKey&&!n.shiftKey&&(n.preventDefault(),N())};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r),e.release()}},[n,N]);let P=y(()=>({isMobile:d,mobileBreakpoint:r,navId:f,open:S,openMobile:k,setOpen:w,setOpenMobile:A,toggle:M}),[d,r,f,S,k,w,A,M]);return C(D.Provider,{value:P,children:e})},M=({"aria-label":n,"aria-labelledby":r,children:a,className:o,"data-slot":s,...l})=>{let{isMobile:u,mobileBreakpoint:d,navId:f,open:p,openMobile:m,setOpenMobile:h}=k(`Nav`),g=i(),_=n??(r==null?`Main`:void 0);return u?C(c.Root,{open:m,onOpenChange:h,children:w(c.Content,{side:`left`,preferredWidth:`sm:max-w-[var(--sidebar-width-mobile,18rem)]`,"data-slot":t(s,`sidebar-nav`),"data-mobile":``,...r==null?null:{"aria-labelledby":r},className:e(`bg-base w-[var(--sidebar-width-mobile,18rem)] max-w-full p-0`,o),...l,children:[C(c.Title,{className:`sr-only`,children:_??`Sidebar`}),C(`nav`,{id:f,"aria-label":_,"aria-labelledby":r,className:`flex h-full w-full min-w-0 flex-col text-sm`,children:a})]})}):C(`div`,{"data-slot":t(s,`sidebar-nav`),"data-state":p?`expanded`:`collapsed`,"data-hydrated":g?``:void 0,className:e(`group/sidebar-nav bg-base relative h-full w-[var(--sidebar-width,16rem)] shrink-0 overflow-hidden`,`data-[state=collapsed]:w-[var(--sidebar-width-icon,3.25rem)]`,!g&&E[d],g&&[`transition-[width] duration-200 ease-linear motion-reduce:transition-none`],o),...l,children:C(`nav`,{id:f,"aria-label":_,"aria-labelledby":r,className:`absolute inset-y-0 left-0 flex w-full min-w-0 flex-col text-sm`,children:a})})},N=C(T,{}),P=({appearance:e=`ghost`,"data-slot":n,icon:i=N,intent:a=`neutral`,label:o=`Toggle Sidebar`,onClick:s,...c})=>{let{isMobile:l,navId:u,open:d,openMobile:f,toggle:p}=k(`Trigger`),m=l?f:d;return C(r,{appearance:e,"aria-controls":!l||f?u:void 0,"aria-expanded":m,"data-slot":t(n,`sidebar-trigger`),"data-state":m?`expanded`:`collapsed`,icon:i,intent:a,label:o,onClick:e=>{s?.(e),e.defaultPrevented||p()},...c})},F=({asChild:r,children:i,className:a,"data-slot":o,...s})=>C(r?n:`div`,{"data-slot":t(o,`sidebar-header`),className:e(`flex h-[var(--sidebar-header-height,4.5rem)] shrink-0 flex-col justify-center gap-2 px-3`,`group-data-[state=expanded]/sidebar-nav:pr-1`,a),...s,children:i}),I=({asChild:r,children:i,className:a,"data-slot":o,...s})=>C(r?n:`div`,{"data-slot":t(o,`sidebar-body`),className:e(`scrollbar scrollbar-gutter-stable scroll-fade-y flex-1 scroll-py-6 space-y-2 overflow-y-auto overflow-x-hidden px-3 pt-1.5 pb-4`,`group-data-[state=expanded]/sidebar-nav:pr-1`,`group-data-[state=collapsed]/sidebar-nav:scrollbar-none`,`group-data-[state=collapsed]/sidebar-nav:scrollbar-gutter-auto`,`group-data-[state=collapsed]/sidebar-nav:[&::-webkit-scrollbar]:hidden`,a),...s,children:i}),L=({asChild:r,children:i,className:a,"data-slot":o,...s})=>C(r?n:`div`,{"data-slot":t(o,`sidebar-footer`),className:e(`shrink-0 px-3 pt-3 pb-3.5`,`group-data-[state=expanded]/sidebar-nav:pr-1`,a),...s,children:i}),R=p(null),z=({asChild:r,children:i,className:a,"data-slot":o,...s})=>{let[c,l]=x(null),u=y(()=>({mountedLabelId:c,setMountedLabelId:l}),[c]),d=r?n:`div`;return C(R.Provider,{value:u,children:C(d,{"data-slot":t(o,`sidebar-group`),className:e(`pt-0.5`,a),...s,children:i})})},B=({asChild:r,children:i,className:a,"data-slot":o,id:s,...c})=>{let l=g(R),u=v(),d=s??(l==null?void 0:u),f=l?.setMountedLabelId;return _(()=>{if(f!=null&&d!=null)return f(d),()=>{f(null)}},[f,d]),C(r?n:`div`,{id:d,"data-slot":t(o,`sidebar-group-label`),className:e(`text-muted flex min-w-0 items-center gap-2 truncate px-2 py-1 text-xs font-medium`,`group-data-[state=collapsed]/sidebar-nav:opacity-0`,`group-data-[state=collapsed]/sidebar-nav:pointer-events-none`,`group-data-[hydrated]/sidebar-nav:transition-opacity group-data-[hydrated]/sidebar-nav:duration-200 group-data-[hydrated]/sidebar-nav:ease-linear group-data-[hydrated]/sidebar-nav:motion-reduce:transition-none`,a),...c,children:i})},V=({"aria-labelledby":r,asChild:i,children:a,className:o,"data-slot":s,...c})=>{let l=g(R);return C(i?n:`ul`,{"aria-labelledby":r??l?.mountedLabelId??void 0,"data-slot":t(s,`sidebar-list`),className:e(`mb-2 space-y-px`,o),...c,children:a})},H=({asChild:r,children:i,className:a,"data-slot":o,...s})=>C(r?n:`li`,{"data-slot":t(o,`sidebar-item`),className:e(`list-none`,a),...s,children:i}),U=({asChild:r,children:i,className:a,current:o,"data-slot":s,type:c,...l})=>C(r?n:`button`,{"data-slot":t(s,`sidebar-item-button`),"data-current":o?``:void 0,"aria-current":o?`page`:void 0,type:r?c:c??`button`,className:e(`ring-focus-accent flex w-full min-w-0 items-center gap-2 truncate rounded-md px-2 py-1 text-left font-normal transition-none focus:outline-hidden focus-visible:ring-4`,`text-body hover:text-strong hover:bg-neutral-500/10`,`data-current:bg-neutral-500/15 data-current:text-strong`,`aria-[current=page]:bg-neutral-500/15 aria-[current=page]:text-strong`,`data-state-open:bg-neutral-500/15 data-state-open:text-strong`,`[&>svg]:text-muted hover:[&>svg]:text-strong data-current:[&>svg]:text-strong aria-[current=page]:[&>svg]:text-strong [&>svg:first-child]:size-5 [&>svg]:shrink-0`,`group-data-[state=collapsed]/sidebar-nav:ml-1`,`group-data-[state=collapsed]/sidebar-nav:w-7`,`group-data-[state=collapsed]/sidebar-nav:p-1`,a),...l,children:i}),W=({asChild:r,children:i,className:a,"data-slot":o,type:s,...c})=>C(r?n:`button`,{"data-slot":t(o,`sidebar-switcher-trigger`),type:r?s:s??`button`,className:e(`text-body hover:text-strong hover:bg-neutral-500/10 flex w-full min-w-0 items-center gap-2 [border-radius:0.625rem] py-1 pr-1.5 pl-1 text-left font-medium transition-none`,`data-state-open:bg-neutral-500/15 data-state-open:text-strong`,`ring-focus-accent focus:outline-hidden focus-visible:ring-4`,`[&>:first-child]:size-7`,`group-data-[state=collapsed]/sidebar-nav:w-9`,`group-data-[state=collapsed]/sidebar-nav:p-1`,`group-data-[state=collapsed]/sidebar-nav:[&>:not(:first-child)]:sr-only`,a),...c,children:i}),G=({children:e,"data-slot":n,label:r,side:i=`right`,...a})=>{let{isMobile:o,open:s}=k(`Tooltip`),c=!o&&!s;return w(d.Root,{children:[C(d.Trigger,{asChild:!0,children:e}),c&&C(d.Content,{"data-slot":t(n,`sidebar-tooltip`),side:i,...a,children:r})]})},K=({className:n,"data-slot":r,...i})=>C(a,{"data-slot":t(r,`sidebar-separator`),className:e(`my-3`,`group-data-[state=collapsed]/sidebar-nav:w-9`,n),...i}),q=[`bg-emerald-500`,`bg-gray-500`,`bg-red-500`,`bg-violet-500`,`bg-cyan-500`,`bg-rose-500`,`bg-purple-500`,`bg-fuchsia-500`,`bg-green-500`,`bg-orange-500`,`bg-indigo-500`,`bg-teal-500`,`bg-yellow-500`,`bg-sky-500`,`bg-pink-500`,`bg-blue-500`,`bg-amber-500`];function J(e){let t=5381;for(let n=0;n<e.length;n+=1)t=t*33^e.charCodeAt(n);return t>>>0}function Y(e){let t=J(e??``)%q.length;return q[t]??`bg-neutral-500`}function X(e){return(e??``).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]/gi,``).trim().split(` `).map(e=>e.trim()).filter(e=>e.length>0).slice(0,2).map(e=>Array.from(e)[0]??``).join(``).toUpperCase()||`?`}const Z=({accountId:r,accountName:i,asChild:a,children:o,className:s,"data-slot":c,...l})=>{let u=a?n:`div`,d=X(i);return a&&S(m(o),"When using `asChild`, Sidebar.AccountAvatar must be passed a single child as a JSX tag."),C(u,{"data-slot":t(c,`sidebar-account-avatar`),className:e(`text-static-white flex size-7 shrink-0 items-center justify-center rounded-md text-xs font-medium`,Y(r),s),"aria-hidden":`true`,...l,children:m(o)?f(o,{},d):d})},ne=({className:t,...n})=>w(`svg`,{className:e(`block size-full`,t),viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,...n,children:[C(`circle`,{cx:`12`,cy:`12`,r:`12`,opacity:.15}),C(`circle`,{cx:`12`,cy:`10`,r:`3.5`}),C(`path`,{d:`M5.25 19.5C6.6 16.7 9.1 15 12 15s5.4 1.7 6.75 4.5A12 12 0 0 1 12 22a12 12 0 0 1-6.75-2.5Z`})]}),re={Root:j,Nav:M,Trigger:P,Header:F,Body:I,Footer:L,Group:z,GroupLabel:B,List:V,Item:H,ItemButton:U,SwitcherTrigger:W,Tooltip:G,Separator:K,AccountAvatar:Z,UserAvatar:({alt:r=`Your account`,asChild:i,children:a,className:o,"data-slot":s,src:c,...l})=>{let u=i?n:`div`,d=c?C(`img`,{src:c,alt:r,className:`size-full object-cover`}):C(ne,{});return i&&S(m(a),"When using `asChild`, Sidebar.UserAvatar must be passed a single child as a JSX tag."),C(u,{"data-slot":t(s,`sidebar-user-avatar`),className:e(`text-muted bg-neutral-500/15 relative flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-full`,o),role:c?void 0:`img`,"aria-label":c?void 0:r,...l,children:m(a)?f(a,{},d):d})}},Q=`mantle-sidebar-state`,$={collapsed:`collapsed`,expanded:`expanded`};function ie(e){let t=s(e,Q);if(t===$.expanded)return!0;if(t===$.collapsed)return!1}function ae(e,t={}){let{domain:n,maxAge:r=31536e3,path:i=`/`,sameSite:a=`Lax`,secure:o=!1}=t,s=e?$.expanded:$.collapsed,c=[`${Q}=${s}`,`Max-Age=${r}`,`Path=${i}`];return n!=null&&c.push(`Domain=${n}`),c.push(`SameSite=${a}`),o&&c.push(`Secure`),c.join(`; `)}export{Q as SIDEBAR_STATE_COOKIE_NAME,re as Sidebar,ie as extractSidebarStateCookie,ae as serializeSidebarStateCookie,O as useSidebar};
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./slot-CDk0Bb9z.js";import{jsx as n}from"react/jsx-runtime";const r=({asChild:r=!1,className:i,ref:a,...o})=>n(r?t:`div`,{"data-slot":`skeleton`,className:e(`dark-high-contrast:bg-black/30 high-contrast:bg-black/30 h-4 animate-pulse rounded-md bg-gray-300/25 dark:bg-gray-950/10`,i),ref:a,...o});export{r as t};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./slot-DpNWVci8.js";import{jsx as n}from"react/jsx-runtime";const r=({asChild:r=!1,className:i,ref:a,...o})=>n(r?t:`div`,{"data-slot":`skeleton`,className:e(`dark-high-contrast:bg-black/30 high-contrast:bg-black/30 h-4 animate-pulse rounded-md bg-gray-300/25 dark:bg-gray-950/10`,i),ref:a,...o});export{r as t};
package/dist/skeleton.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./skeleton-CsbUHbBA.js";export{e as Skeleton};
1
+ import{t as e}from"./skeleton-BhcJMpem.js";export{e as Skeleton};
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./anchor-DfeXTpKW.js";import{jsx as n}from"react/jsx-runtime";const r=({children:r=`Skip to main content`,className:i,onClick:a,targetId:o=`main`,...s})=>n(t,{...s,"data-slot":`skip-to-main-link`,href:`#${o}`,onClick:e=>{e.preventDefault(),window.history.replaceState(null,``,`#${o}`),document.getElementById(o)?.focus({preventScroll:!0}),a?.(e)},className:e(`not-focus:sr-only bg-card fixed top-2 left-2 z-max px-4 py-2 shadow-lg`,i),children:r});export{r as SkipToMainLink};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./anchor-3OGK2UKU.js";import{jsx as n}from"react/jsx-runtime";const r=({children:r=`Skip to main content`,className:i,onClick:a,targetId:o=`main`,...s})=>n(t,{...s,"data-slot":`skip-to-main-link`,href:`#${o}`,onClick:e=>{e.preventDefault(),window.history.replaceState(null,``,`#${o}`),document.getElementById(o)?.focus({preventScroll:!0}),a?.(e)},className:e(`not-focus:sr-only bg-card fixed top-2 left-2 z-max px-4 py-2 shadow-lg`,i),children:r});export{r as SkipToMainLink};
@@ -0,0 +1,67 @@
1
+ import { t as WithDataSlot } from "./data-slot-CChfb_cv.js";
2
+ import { t as WithStyleProps } from "./with-style-props-Dq5Vntqy.js";
3
+ import { CSSProperties, ComponentProps, HTMLAttributes } from "react";
4
+ //#region src/components/slot/slot.d.ts
5
+ /**
6
+ * A `className` or `style` the child resolves itself, from state only the child
7
+ * knows — react-router's `NavLink` calls it with
8
+ * `{ isActive, isPending, isTransitioning }`, another component with something else
9
+ * entirely. `Slot` never invents arguments for one and never inspects them; it
10
+ * forwards the ones the child supplied, so they are typed `unknown`.
11
+ */
12
+ type RenderProp<TValue> = (...args: unknown[]) => TValue | undefined;
13
+ /**
14
+ * Radix's `Slot`, retyped to carry a composed render prop. `createSlot`'s props
15
+ * generic is Radix's own way to type a slot whose child is not a DOM element; it
16
+ * replaces the default `HTMLAttributes` rather than extending it, so the DOM
17
+ * attributes are re-added here minus the two props composed above.
18
+ */
19
+ declare const SlotPrimitive: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLElement>, "className" | "style"> & WithDataSlot & {
20
+ className?: string | RenderProp<string>;
21
+ style?: CSSProperties | RenderProp<CSSProperties>;
22
+ } & {
23
+ children?: import("react").ReactNode;
24
+ } & import("react").RefAttributes<HTMLElement>>;
25
+ /**
26
+ * `Slot`'s own `className` and `style` stay plain values. A render prop is only
27
+ * meaningful on the child that knows how to call it, so accepting one here would
28
+ * admit a value nothing ever resolves.
29
+ */
30
+ type Props = Omit<ComponentProps<typeof SlotPrimitive>, "className" | "style"> & WithStyleProps;
31
+ /**
32
+ * Merges its props onto its immediate child. This is useful for creating
33
+ * components that can be rendered as different elements. Automatically merges
34
+ * className props using `cx` for proper Tailwind class handling, and
35
+ * concatenates `data-slot` values in DOM order (the composing parent's slot
36
+ * chain first, then the child's own) so `asChild` composition accumulates the
37
+ * whole slot chain instead of one side clobbering the other.
38
+ *
39
+ * A child that resolves its own `className` or `style` from state only it knows —
40
+ * react-router's `NavLink`, whose `className` may be `({ isActive }) => …` — keeps
41
+ * that behavior: the merge composes a function of the same shape, which forwards
42
+ * the child's arguments to the child's function and merges the resolved value with
43
+ * the slot's classes or style. `Slot` never calls it, so it needs to know nothing
44
+ * about the arguments:
45
+ *
46
+ * ```tsx
47
+ * <Sidebar.ItemButton asChild>
48
+ * <NavLink className={({ isActive }) => (isActive ? "font-medium" : undefined)} to="/endpoints">
49
+ * Endpoints
50
+ * </NavLink>
51
+ * </Sidebar.ItemButton>
52
+ * ```
53
+ *
54
+ * A function `children` is forwarded to the child as-is.
55
+ *
56
+ * @see https://mantle.ngrok.com/components/primitives/slot
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * <Slot className="custom-class">
61
+ * <a href="/">Home</a>
62
+ * </Slot>
63
+ * ```
64
+ */
65
+ declare const Slot: ({ children, className, "data-slot": dataSlot, ref, style, ...props }: Props) => string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
66
+ //#endregion
67
+ export { Slot as t };
@@ -0,0 +1 @@
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./data-slot-EM6s2WEU.js";import{Children as n,createElement as r,isValidElement as i}from"react";import{jsx as a}from"react/jsx-runtime";import{createSlot as o}from"@radix-ui/react-slot";const s=o(`Slot`);function c(t,n){return typeof n==`function`?(...r)=>e(t,n(...r)):e(t,n)}function l(e,t){return typeof t==`function`?(...n)=>({...e,...t(...n)}):e==null?t:t==null?e:{...e,...t}}const u=({children:e,className:o,"data-slot":u,ref:d,style:f,...p})=>{if(!i(e))return n.only(e);let{className:m,style:h,"data-slot":g,..._}=e.props;return a(s,{ref:d,...p,className:c(o,m),style:l(f,h),children:r(e.type,{..._,"data-slot":t(u,g),key:e.key??void 0})})};export{u as t};
package/dist/slot.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Slot } from "./slot-BtwKJTLq.js";
1
+ import { t as Slot } from "./slot-DdgxmuI5.js";
2
2
  export { Slot };
package/dist/slot.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./slot-CDk0Bb9z.js";export{e as Slot};
1
+ import{t as e}from"./slot-DpNWVci8.js";export{e as Slot};
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-DjpEKt2X.js";import{t as r}from"./button-BAno7KIU.js";import{t as i}from"./dropdown-menu-RyDWoKHx.js";import{CaretDownIcon as a}from"@phosphor-icons/react/CaretDown";import{createContext as o,useContext as s,useMemo as c}from"react";import{jsx as l}from"react/jsx-runtime";const u=o({size:`md`}),d={Root:({className:t,children:n,dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,size:f=`md`,ref:p,...m})=>{let h=c(()=>({size:f}),[f]);return l(i.Root,{dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,children:l(u.Provider,{value:h,children:l(`div`,{"data-slot":`split-button`,"data-size":f,className:e(`flex flex-row [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:not(:first-child)]:-ml-px [&>*:focus]:relative [&>*:focus]:z-10 [&>*:hover]:relative [&>*:hover]:z-10 *:active:scale-100!`,t),ref:p,...m,children:n})})})},PrimaryAction:e=>{let{size:t}=s(u);return l(n,{appearance:`outlined`,intent:`neutral`,size:t,...e})},MenuTrigger:({icon:e,...n})=>{let{size:o}=s(u);return l(i.Trigger,{asChild:!0,className:`group`,children:l(r,{icon:e??l(t,{svg:l(a,{weight:`bold`,className:`size-4 group-data-[state=open]:-rotate-180 transition-transform ease-out duration-150`})}),appearance:`outlined`,intent:`neutral`,size:o,...n})})},MenuContent:({align:e=`end`,...t})=>l(i.Content,{align:e,...t}),MenuItem:({className:t,...n})=>l(i.Item,{className:e(`gap-2`,t),...n})};export{d as SplitButton};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-Cnja9Bsr.js";import{t as r}from"./button-IlxHhjPK.js";import{t as i}from"./dropdown-menu-BRH0Wd_z.js";import{CaretDownIcon as a}from"@phosphor-icons/react/CaretDown";import{createContext as o,useContext as s,useMemo as c}from"react";import{jsx as l}from"react/jsx-runtime";const u=o({size:`md`}),d={Root:({className:t,children:n,dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,size:f=`md`,ref:p,...m})=>{let h=c(()=>({size:f}),[f]);return l(i.Root,{dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,children:l(u.Provider,{value:h,children:l(`div`,{"data-slot":`split-button`,"data-size":f,className:e(`flex flex-row [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:not(:first-child)]:-ml-px [&>*:focus]:relative [&>*:focus]:z-10 [&>*:hover]:relative [&>*:hover]:z-10 *:active:scale-100!`,t),ref:p,...m,children:n})})})},PrimaryAction:e=>{let{size:t}=s(u);return l(n,{appearance:`outlined`,intent:`neutral`,size:t,...e})},MenuTrigger:({icon:e,...n})=>{let{size:o}=s(u);return l(i.Trigger,{asChild:!0,className:`group`,children:l(r,{icon:e??l(t,{svg:l(a,{weight:`bold`,className:`size-4 group-data-[state=open]:-rotate-180 transition-transform ease-out duration-150`})}),appearance:`outlined`,intent:`neutral`,size:o,...n})})},MenuContent:({align:e=`end`,...t})=>l(i.Content,{align:e,...t}),MenuItem:({className:t,...n})=>l(i.Item,{className:e(`gap-2`,t),...n})};export{d as SplitButton};
package/dist/tabs.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./compose-refs-BdBMM9ga.js";import{t}from"./cx-IiQEAKf5.js";import{t as n}from"./booleanish-BfvnW6vy.js";import{t as r}from"./clsx-DUGZgXfJ.js";import{t as i}from"./use-prefers-reduced-motion-CagaNRgm.js";import{Children as a,cloneElement as o,createContext as s,isValidElement as c,useContext as l,useEffect as u,useMemo as d,useRef as f}from"react";import p from"tiny-invariant";import{Fragment as m,jsx as h,jsxs as g}from"react/jsx-runtime";import{cva as _}from"class-variance-authority";import{Content as v,List as y,Root as b,Trigger as x}from"@radix-ui/react-tabs";const S=s({orientation:`horizontal`,appearance:`classic`}),C=({className:e,children:n,orientation:r=`horizontal`,appearance:i=`classic`,...a})=>{let o=d(()=>({orientation:r,appearance:i}),[r,i]);return h(b,{"data-slot":`tabs`,"data-appearance":i,className:t(`flex gap-4`,r===`horizontal`?`flex-col`:`flex-row`,e),orientation:r,...a,children:h(S.Provider,{value:o,children:n})})},w=_(`flex`,{variants:{orientation:{horizontal:`scroll-fade-x flex-row items-center overflow-x-auto overscroll-x-none w-full min-w-0 pt-1 -mt-1 px-1 -mx-1`,vertical:`flex-col items-end gap-3.5 self-stretch`},appearance:{classic:``,pill:``},hideBorder:{true:``,false:``}},compoundVariants:[{orientation:`horizontal`,appearance:`pill`,className:`gap-1 pb-1 -mb-1`},{orientation:`horizontal`,appearance:`classic`,className:`gap-6`},{orientation:`horizontal`,appearance:`classic`,hideBorder:!1,className:t(`pb-px bg-origin-content bg-no-repeat bg-size-[100%_1px] bg-position-[0_calc(100%+1px)]`,`bg-[image:linear-gradient(var(--color-separator),var(--color-separator))]`,`[--_fade-bottom-border:black]`)},{orientation:`vertical`,appearance:`classic`,hideBorder:!1,className:`border-r border-separator`}],defaultVariants:{hideBorder:!1}}),T=({className:n,hideBorder:r=!1,ref:a,...o})=>{let{orientation:s,appearance:c}=l(S),d=f(null);return u(()=>{let e=d.current;if(!e||s!==`horizontal`)return;let t=new AbortController;return e.addEventListener(`focusin`,t=>{if(t.target instanceof Element&&t.target!==e){let e=i()?`auto`:`smooth`;t.target.scrollIntoView({behavior:e,inline:`center`,block:`nearest`})}},{signal:t.signal}),()=>{t.abort()}},[s]),h(y,{"aria-orientation":s,"data-slot":`tabs-list`,"data-hide-border":r?``:void 0,className:t(w({orientation:s,appearance:c,hideBorder:r}),n),ref:e(d,a),...o})},E=_(`absolute z-0`,{variants:{orientation:{horizontal:`bottom-0 left-0 right-0 h-0.75`,vertical:`-right-px bottom-0 top-0 w-0.75`},appearance:{classic:`group-data-state-active/tab-trigger:bg-neutral-950`,pill:`hidden`}}}),D=()=>{let{orientation:e,appearance:t}=l(S);return h(`span`,{"aria-hidden":!0,className:r(E({orientation:e,appearance:t}))})},O=_(t(`group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600`,`ring-focus-accent outline-hidden`,`aria-disabled:cursor-default aria-disabled:opacity-50`,`focus-visible:ring-4`,`[&>svg]:shrink-0 [&>svg]:size-5`,`not-aria-disabled:hover:text-gray-900`),{variants:{orientation:{horizontal:`rounded-tl-md rounded-tr-md`,vertical:`rounded-bl-md rounded-tl-md pr-3`},appearance:{classic:t(`not-aria-disabled:hover:data-state-active:text-strong`,`data-state-active:text-strong`),pill:t(`not-aria-disabled:hover:data-state-active:text-strong`,`not-aria-disabled:hover:data-state-active:bg-neutral-500/15`,`data-state-active:text-strong`,`data-state-active:bg-neutral-500/15`,`rounded-full py-2 px-3`)}}}),k={Root:C,Content:({className:e,...n})=>h(v,{"data-slot":`tabs-content`,className:t(`focus-visible:ring-focus-accent outline-hidden focus-visible:ring-4`,e),...n}),List:T,Trigger:({"aria-disabled":e,asChild:r=!1,children:i,className:s,disabled:u,ref:d,...f})=>{let{orientation:_,appearance:v}=l(S),y=n(e??u),b={"aria-disabled":e??u,className:t(O({orientation:_,appearance:v}),s),disabled:y,...f};if(r){let e=a.only(i);p(c(e),"When using `asChild`, TabsTrigger must be passed a single child as a JSX tag.");let t=e.props?.children,n=y?{href:void 0,to:void 0}:{tabIndex:0};return h(x,{asChild:!0,"data-slot":`tabs-trigger`,...b,ref:d,children:o(y?h(`button`,{type:`button`}):e,n,g(m,{children:[h(D,{}),t]}))})}return g(x,{"data-slot":`tabs-trigger`,ref:d,...b,children:[h(D,{}),i]})},Badge:({className:e,children:n,...r})=>h(`span`,{"data-slot":`tabs-badge`,className:t(`rounded-full bg-neutral-500/20 px-1.5 text-xs font-medium text-gray-600`,`group-data-state-active/tab-trigger:bg-neutral-950/10 group-data-state-active/tab-trigger:text-strong group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-strong`,`group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700`,e),...r,children:n})};export{k as Tabs};
1
+ import{t as e}from"./compose-refs-BdBMM9ga.js";import{t}from"./cx-IiQEAKf5.js";import{t as n}from"./booleanish-BfvnW6vy.js";import{t as r}from"./clsx-DUGZgXfJ.js";import{t as i}from"./use-prefers-reduced-motion-Bk5zAfHY.js";import{Children as a,cloneElement as o,createContext as s,isValidElement as c,useContext as l,useEffect as u,useMemo as d,useRef as f}from"react";import p from"tiny-invariant";import{Fragment as m,jsx as h,jsxs as g}from"react/jsx-runtime";import{cva as _}from"class-variance-authority";import{Content as v,List as y,Root as b,Trigger as x}from"@radix-ui/react-tabs";const S=s({orientation:`horizontal`,appearance:`classic`}),C=({className:e,children:n,orientation:r=`horizontal`,appearance:i=`classic`,...a})=>{let o=d(()=>({orientation:r,appearance:i}),[r,i]);return h(b,{"data-slot":`tabs`,"data-appearance":i,className:t(`flex gap-4`,r===`horizontal`?`flex-col`:`flex-row`,e),orientation:r,...a,children:h(S.Provider,{value:o,children:n})})},w=_(`flex`,{variants:{orientation:{horizontal:`scroll-fade-x flex-row items-center overflow-x-auto overscroll-x-none w-full min-w-0 pt-1 -mt-1 px-1 -mx-1`,vertical:`flex-col items-end gap-3.5 self-stretch`},appearance:{classic:``,pill:``},hideBorder:{true:``,false:``}},compoundVariants:[{orientation:`horizontal`,appearance:`pill`,className:`gap-1 pb-1 -mb-1`},{orientation:`horizontal`,appearance:`classic`,className:`gap-6`},{orientation:`horizontal`,appearance:`classic`,hideBorder:!1,className:t(`pb-px bg-origin-content bg-no-repeat bg-size-[100%_1px] bg-position-[0_calc(100%+1px)]`,`bg-[image:linear-gradient(var(--color-separator),var(--color-separator))]`,`[--_fade-bottom-border:black]`)},{orientation:`vertical`,appearance:`classic`,hideBorder:!1,className:`border-r border-separator`}],defaultVariants:{hideBorder:!1}}),T=({className:n,hideBorder:r=!1,ref:a,...o})=>{let{orientation:s,appearance:c}=l(S),d=f(null);return u(()=>{let e=d.current;if(!e||s!==`horizontal`)return;let t=new AbortController;return e.addEventListener(`focusin`,t=>{if(t.target instanceof Element&&t.target!==e){let e=i()?`auto`:`smooth`;t.target.scrollIntoView({behavior:e,inline:`center`,block:`nearest`})}},{signal:t.signal}),()=>{t.abort()}},[s]),h(y,{"aria-orientation":s,"data-slot":`tabs-list`,"data-hide-border":r?``:void 0,className:t(w({orientation:s,appearance:c,hideBorder:r}),n),ref:e(d,a),...o})},E=_(`absolute z-0`,{variants:{orientation:{horizontal:`bottom-0 left-0 right-0 h-0.75`,vertical:`-right-px bottom-0 top-0 w-0.75`},appearance:{classic:`group-data-state-active/tab-trigger:bg-neutral-950`,pill:`hidden`}}}),D=()=>{let{orientation:e,appearance:t}=l(S);return h(`span`,{"aria-hidden":!0,className:r(E({orientation:e,appearance:t}))})},O=_(t(`group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600`,`ring-focus-accent outline-hidden`,`aria-disabled:cursor-default aria-disabled:opacity-50`,`focus-visible:ring-4`,`[&>svg]:shrink-0 [&>svg]:size-5`,`not-aria-disabled:hover:text-gray-900`),{variants:{orientation:{horizontal:`rounded-tl-md rounded-tr-md`,vertical:`rounded-bl-md rounded-tl-md pr-3`},appearance:{classic:t(`not-aria-disabled:hover:data-state-active:text-strong`,`data-state-active:text-strong`),pill:t(`not-aria-disabled:hover:data-state-active:text-strong`,`not-aria-disabled:hover:data-state-active:bg-neutral-500/15`,`data-state-active:text-strong`,`data-state-active:bg-neutral-500/15`,`rounded-full py-2 px-3`)}}}),k={Root:C,Content:({className:e,...n})=>h(v,{"data-slot":`tabs-content`,className:t(`focus-visible:ring-focus-accent outline-hidden focus-visible:ring-4`,e),...n}),List:T,Trigger:({"aria-disabled":e,asChild:r=!1,children:i,className:s,disabled:u,ref:d,...f})=>{let{orientation:_,appearance:v}=l(S),y=n(e??u),b={"aria-disabled":e??u,className:t(O({orientation:_,appearance:v}),s),disabled:y,...f};if(r){let e=a.only(i);p(c(e),"When using `asChild`, TabsTrigger must be passed a single child as a JSX tag.");let t=e.props?.children,n=y?{href:void 0,to:void 0}:{tabIndex:0};return h(x,{asChild:!0,"data-slot":`tabs-trigger`,...b,ref:d,children:o(y?h(`button`,{type:`button`}):e,n,g(m,{children:[h(D,{}),t]}))})}return g(x,{"data-slot":`tabs-trigger`,ref:d,...b,children:[h(D,{}),i]})},Badge:({className:e,children:n,...r})=>h(`span`,{"data-slot":`tabs-badge`,className:t(`rounded-full bg-neutral-500/20 px-1.5 text-xs font-medium text-gray-600`,`group-data-state-active/tab-trigger:bg-neutral-950/10 group-data-state-active/tab-trigger:text-strong group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-strong`,`group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700`,e),...r,children:n})};export{k as Tabs};
@@ -0,0 +1 @@
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{n as t}from"./browser-only-CmEEzfU3.js";import{t as n}from"./use-matches-media-query-CMSxHR9n.js";import{n as r,t as i}from"./cookie-ca4g5CKp.js";import{createContext as a,useContext as o,useEffect as s,useMemo as c,useRef as l,useState as u}from"react";import d from"tiny-invariant";import{jsx as f}from"react/jsx-runtime";const p=[`light`,`dark`,`light-high-contrast`,`dark-high-contrast`],m=[`system`,...p],h=e=>e;function g(e){return typeof e==`string`&&m.includes(e)}const _=e=>e;function v(e){return typeof e==`string`&&p.includes(e)}const y=`(prefers-color-scheme: dark)`,b=`(prefers-contrast: more)`,x=`mantle-ui-theme`,S=`system`,C=a([`system`,()=>null]);function w({children:e}){let[n,r]=u(()=>{let e=F({cookie:t()?document.cookie:null});return E(e),e}),i=l(null);s(()=>{function e(e){let t=e??F({cookie:document.cookie});r(t),E(t)}e();try{`BroadcastChannel`in window&&(i.current=new BroadcastChannel(x),i.current.addEventListener(`message`,t=>{let n=t?.data?.theme;g(n)&&e(n)}))}catch{}function t(t){t.key===`${x}__ping`&&e()}window.addEventListener(`storage`,t);let n=window.matchMedia(y),a=window.matchMedia(b);function o(){e()}function s(){document.visibilityState===`visible`&&e()}return n.addEventListener(`change`,o),a.addEventListener(`change`,o),window.addEventListener(`pageshow`,o),document.addEventListener(`visibilitychange`,s),()=>{window.removeEventListener(`storage`,t),n.removeEventListener(`change`,o),a.removeEventListener(`change`,o),window.removeEventListener(`pageshow`,o),document.removeEventListener(`visibilitychange`,s);try{i.current?.close()}catch{}i.current=null}},[]);let a=c(()=>[n,e=>{z(e),r(e),E(e),L(e,{broadcastChannel:i.current,pingKey:`${x}__ping`})}],[n]);return f(C.Provider,{value:a,children:e})}function T(){let e=o(C);return d(e,`useTheme must be used within a ThemeProvider`),e}function E(e){if(!t())return;let n=window.document.documentElement,r=window.matchMedia(y).matches,i=window.matchMedia(b).matches,a=O(e,{prefersDarkMode:r,prefersHighContrast:i}),o=n.dataset.theme,s=n.dataset.appliedTheme,c=g(o)?o:void 0,l=v(s)?s:void 0;(c!==e||l!==a)&&(n.classList.remove(...p),n.classList.add(a),n.dataset.theme=e,n.dataset.appliedTheme=a)}function D(){if(!t())return{appliedTheme:void 0,theme:void 0};let e=window.document.documentElement,n=g(e.dataset.theme)?e.dataset.theme:void 0;return{appliedTheme:v(e.dataset.appliedTheme)?e.dataset.appliedTheme:void 0,theme:n}}function O(e,{prefersDarkMode:t,prefersHighContrast:n}){return e===`system`?A({prefersDarkMode:t,prefersHighContrast:n}):e}function k(){let e=o(C);return O(e==null?`system`:e[0],{prefersDarkMode:n(y),prefersHighContrast:n(b)})}function A({prefersDarkMode:e,prefersHighContrast:t}){return t?e?`dark-high-contrast`:`light-high-contrast`:e?`dark`:`light`}function j(e){let{storageKey:t,defaultTheme:n,themes:r,resolvedThemes:i,prefersDarkModeMediaQuery:a,prefersHighContrastMediaQuery:o}=e;function s(e){return typeof e==`string`&&r.includes(e)}function c(e){let t=document.cookie;if(!t)return null;try{let n=t.split(`;`).find(t=>t.trim().startsWith(`${e}=`))?.trim().slice(e.length+1);return n?decodeURIComponent(n):null}catch{return null}}function l(e,t){let n=new Date;n.setFullYear(n.getFullYear()+1);let r=window.location.hostname,i=window.location.protocol,a=r===`ngrok.com`||r.endsWith(`.ngrok.com`)?`; domain=.ngrok.com`:``,o=i===`https:`?`; Secure`:``;return`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/${a}; SameSite=Lax${o}`}function u(e,t){try{document.cookie=l(e,t)}catch{}}function d(e,t,n){return e===`system`?n?t?`dark-high-contrast`:`light-high-contrast`:t?`dark`:`light`:e}let f=null,p=null,m=null;try{f=c(t)}catch{}if(s(f))m=f;else{try{p=window.localStorage?.getItem(t)??null}catch{}s(p)&&(m=p)}let h=s(m)?m:n,g=matchMedia(a).matches,_=matchMedia(o).matches,v=d(h,g,_),y=document.documentElement;if(y.dataset.appliedTheme!==v||y.dataset.theme!==h){for(let e of i)y.classList.remove(e);y.classList.add(v),y.dataset.theme=h,y.dataset.appliedTheme=v}let b=s(f);try{if(s(p)&&!b){u(t,p);try{window.localStorage.removeItem(t)}catch{}}else b||u(t,h)}catch{}}function M(){let e={storageKey:x,defaultTheme:S,themes:m,resolvedThemes:p,prefersDarkModeMediaQuery:y,prefersHighContrastMediaQuery:b};return`(${j.toString()})(${JSON.stringify(e)})`}const N=({nonce:e})=>f(`script`,{dangerouslySetInnerHTML:{__html:M()},nonce:e,suppressHydrationWarning:!0});function P(n={}){let{className:r=``,ssrCookie:i}=n??{};return c(()=>{let n,a;if(!t())n=F({cookie:i}),a=O(n,{prefersDarkMode:!1,prefersHighContrast:!1});else{let e=window.matchMedia(y).matches,t=window.matchMedia(b).matches;n=F({cookie:document.cookie}),a=O(n,{prefersDarkMode:e,prefersHighContrast:t})}return{className:e(r,a),"data-applied-theme":a,"data-theme":n}},[r,i])}function F({cookie:e}){if(!e)return S;let t=r(e,x);return g(t)?t:S}function I(e){return i(e,x)}function L(e,t){let{broadcastChannel:n,pingKey:r}=t;try{if(n){n.postMessage({theme:e,timestamp:Date.now()});return}}catch{}try{localStorage.setItem(r,JSON.stringify({theme:e,timestamp:Date.now()}))}catch{}}function R(e){let t=new Date;t.setFullYear(t.getFullYear()+1);let{hostname:n,protocol:r}=window.location,i=n===`ngrok.com`||n.endsWith(`.ngrok.com`)?`; domain=.ngrok.com`:``,a=r===`https:`?`; Secure`:``;return`${x}=${encodeURIComponent(e)}; expires=${t.toUTCString()}; path=/${i}; SameSite=Lax${a}`}function z(e){if(t())try{document.cookie=R(e)}catch{}}export{M as a,P as c,h as d,v as f,m as h,F as i,T as l,p as m,w as n,D as o,g as p,I as r,k as s,N as t,_ as u};
@@ -1,6 +1,6 @@
1
+ import { t as WithDataSlot } from "./data-slot-CChfb_cv.js";
1
2
  import { t as WithStyleProps } from "./with-style-props-Dq5Vntqy.js";
2
3
  import { n as IconButtonProps, r as IconButtonAppearance } from "./button-C7vAl6lS.js";
3
- import { t as WithDataSlot } from "./data-slot-CChfb_cv.js";
4
4
  import { t as DropdownMenu } from "./dropdown-menu-D6pMAY7I.js";
5
5
  import "./dropdown-menu-BbbQuae2.js";
6
6
  import { ComponentProps } from "react";
@@ -1 +1 @@
1
- import{t as e}from"./icon-lZ48P8Nn.js";import{n as t}from"./slot-CDk0Bb9z.js";import{t as n}from"./button-BAno7KIU.js";import{t as r}from"./browser-only-CPH56Xw_.js";import{t as i}from"./dropdown-menu-RyDWoKHx.js";import{d as a,h as o,l as s,p as c}from"./theme-C26-Xolp.js";import{n as l,t as u}from"./icons-DLCs1hLP.js";import{t as d}from"./skeleton-CsbUHbBA.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";const m={system:`System Preference`,light:`Light Mode`,dark:`Dark Mode`,"light-high-contrast":`Light High Contrast`,"dark-high-contrast":`Dark High Contrast`},h=({className:t,style:n})=>{let[r,u]=s();return f(i.RadioGroup,{"data-slot":`theme-dropdown-menu-radio-group`,className:t,style:n,value:r,onValueChange:e=>{c(e)&&u(e)},children:o.map(t=>p(i.RadioItem,{value:a(t),children:[f(e,{svg:f(l,{theme:t})}),m[t]]},t))})},g={Root:e=>f(i.Root,{...e}),Trigger:({appearance:e=`ghost`,"data-slot":a,disabled:o,label:s=`Change Theme`,ref:c,...l})=>f(i.Trigger,{asChild:!0,disabled:o,children:f(n,{ref:c,appearance:e,disabled:o,"data-slot":t(a,`theme-switcher-trigger`),intent:`neutral`,icon:f(r,{fallback:f(d,{className:`rounded-full size-5`}),children:()=>f(u,{className:`size-5`})}),label:s,...l})}),Content:({children:e,"data-slot":n,...r})=>f(i.Content,{"data-slot":t(n,`theme-switcher-content`),...r,children:e??f(h,{})})};export{h as ThemeDropdownMenuRadioGroup,g as ThemeSwitcher};
1
+ import{t as e}from"./icon-lZ48P8Nn.js";import{t}from"./data-slot-EM6s2WEU.js";import{t as n}from"./button-IlxHhjPK.js";import{t as r}from"./browser-only-CmEEzfU3.js";import{t as i}from"./dropdown-menu-BRH0Wd_z.js";import{d as a,h as o,l as s,p as c}from"./theme-BorfgnNh.js";import{n as l,t as u}from"./icons-Bb_zF2OV.js";import{t as d}from"./skeleton-BhcJMpem.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";const m={system:`System Preference`,light:`Light Mode`,dark:`Dark Mode`,"light-high-contrast":`Light High Contrast`,"dark-high-contrast":`Dark High Contrast`},h=({className:t,style:n})=>{let[r,u]=s();return f(i.RadioGroup,{"data-slot":`theme-dropdown-menu-radio-group`,className:t,style:n,value:r,onValueChange:e=>{c(e)&&u(e)},children:o.map(t=>p(i.RadioItem,{value:a(t),children:[f(e,{svg:f(l,{theme:t})}),m[t]]},t))})},g={Root:e=>f(i.Root,{...e}),Trigger:({appearance:e=`ghost`,"data-slot":a,disabled:o,label:s=`Change Theme`,ref:c,...l})=>f(i.Trigger,{asChild:!0,disabled:o,children:f(n,{ref:c,appearance:e,disabled:o,"data-slot":t(a,`theme-switcher-trigger`),intent:`neutral`,icon:f(r,{fallback:f(d,{className:`rounded-full size-5`}),children:()=>f(u,{className:`size-5`})}),label:s,...l})}),Content:({children:e,"data-slot":n,...r})=>f(i.Content,{"data-slot":t(n,`theme-switcher-content`),...r,children:e??f(h,{})})};export{h as ThemeDropdownMenuRadioGroup,g as ThemeSwitcher};
package/dist/theme.js CHANGED
@@ -1 +1 @@
1
- import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./theme-C26-Xolp.js";import{useEffect as h}from"react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";const y=`mantle-dark-styles`,b=`mantle-light-high-contrast-styles`,x=`mantle-dark-high-contrast-styles`,S=`(prefers-color-scheme: dark)`,C=`(prefers-contrast: more) and (prefers-color-scheme: light)`,w=`(prefers-contrast: more) and (prefers-color-scheme: dark)`;function T(e,t){let n=t??e;return{dark:n===`dark`?`all`:S,lightHighContrast:n===`light-high-contrast`?`all`:C,darkHighContrast:n===`dark-high-contrast`?`all`:w}}function E(e){return e}function D(e){let{darkLinkId:t,lightHcLinkId:n,darkHcLinkId:r,mediaDark:i,mediaLightHc:a,mediaDarkHc:o,forceTheme:s}=e,c=document.documentElement.dataset.appliedTheme,l=s??c,u=document.getElementById(t),d=document.getElementById(n),f=document.getElementById(r);u&&(u.media=l===`dark`?`all`:i),d&&(d.media=l===`light-high-contrast`?`all`:a),f&&(f.media=l===`dark-high-contrast`?`all`:o)}function O(e){let t={darkLinkId:y,lightHcLinkId:b,darkHcLinkId:x,mediaDark:S,mediaLightHc:C,mediaDarkHc:w,forceTheme:e};return`(${D.toString()})(${JSON.stringify(t)})`}function k({darkCssUrl:e,lightHighContrastCssUrl:t,darkHighContrastCssUrl:n,forceTheme:i,nonce:o,ssrCookie:s}){h(()=>{function e(){let e=document.documentElement.dataset.appliedTheme;return r(e)?e:void 0}function t(){let{dark:t,lightHighContrast:n,darkHighContrast:r}=T(e(),i),a=document.getElementById(y),o=document.getElementById(b),s=document.getElementById(x);a&&(a.media=t),o&&(o.media=n),s&&(s.media=r)}t();let n=new MutationObserver(t);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-applied-theme`]}),()=>{n.disconnect()}},[i]);let c=s==null?void 0:a({cookie:s}),l=c===`system`?void 0:c,{dark:u,lightHighContrast:d,darkHighContrast:f}=T(l,i);return v(g,{children:[(!i||i===`dark`)&&_(`link`,{rel:`stylesheet`,id:y,href:e,media:u,suppressHydrationWarning:!0}),(!i||i===`light-high-contrast`)&&_(`link`,{rel:`stylesheet`,id:b,href:t,media:d,suppressHydrationWarning:!0}),(!i||i===`dark-high-contrast`)&&_(`link`,{rel:`stylesheet`,id:x,href:n,media:f,suppressHydrationWarning:!0}),!i&&l==null&&_(`script`,{dangerouslySetInnerHTML:{__html:O(i)},nonce:o,suppressHydrationWarning:!0})]})}const A=`https://assets.ngrok.com`,j=`${A}/fonts`,M={roobert:`/roobert/roobert-proportional-vf.woff2`,"jetbrains-mono":`/jetbrains/jetbrainsmono-wght.woff2`,"jetbrains-mono-italic":`/jetbrains/jetbrainsmono-italic-wght.woff2`,"family-regular":`/family/family-regular.woff2`,"family-italic":`/family/family-italic.woff2`};function N(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${j}${t}`}function P(e){return`<${N(M[e])}>; rel=preload; as=font; type="font/woff2"; crossorigin`}const F=({name:e})=>_(`link`,{rel:`preload`,href:N(M[e]),as:`font`,type:`font/woff2`,crossOrigin:`anonymous`});export{m as $resolvedTheme,n as $theme,k as MantleStyleSheets,F as PreloadFont,p as PreventWrongThemeFlashScript,c as ThemeProvider,A as assetsCdnOrigin,d as extractThemeCookie,O as fixMediaScriptContent,N as fontHref,a as getStoredTheme,r as isResolvedTheme,u as isTheme,E as mantleStyleSheetUrls,P as preloadFontLink,e as preventWrongThemeFlashScriptContent,l as readThemeFromHtmlElement,s as resolvedThemes,i as themes,f as useAppliedTheme,t as useInitialHtmlThemeProps,o as useTheme};
1
+ import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./theme-BorfgnNh.js";import{useEffect as h}from"react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";const y=`mantle-dark-styles`,b=`mantle-light-high-contrast-styles`,x=`mantle-dark-high-contrast-styles`,S=`(prefers-color-scheme: dark)`,C=`(prefers-contrast: more) and (prefers-color-scheme: light)`,w=`(prefers-contrast: more) and (prefers-color-scheme: dark)`;function T(e,t){let n=t??e;return{dark:n===`dark`?`all`:S,lightHighContrast:n===`light-high-contrast`?`all`:C,darkHighContrast:n===`dark-high-contrast`?`all`:w}}function E(e){return e}function D(e){let{darkLinkId:t,lightHcLinkId:n,darkHcLinkId:r,mediaDark:i,mediaLightHc:a,mediaDarkHc:o,forceTheme:s}=e,c=document.documentElement.dataset.appliedTheme,l=s??c,u=document.getElementById(t),d=document.getElementById(n),f=document.getElementById(r);u&&(u.media=l===`dark`?`all`:i),d&&(d.media=l===`light-high-contrast`?`all`:a),f&&(f.media=l===`dark-high-contrast`?`all`:o)}function O(e){let t={darkLinkId:y,lightHcLinkId:b,darkHcLinkId:x,mediaDark:S,mediaLightHc:C,mediaDarkHc:w,forceTheme:e};return`(${D.toString()})(${JSON.stringify(t)})`}function k({darkCssUrl:e,lightHighContrastCssUrl:t,darkHighContrastCssUrl:n,forceTheme:i,nonce:o,ssrCookie:s}){h(()=>{function e(){let e=document.documentElement.dataset.appliedTheme;return r(e)?e:void 0}function t(){let{dark:t,lightHighContrast:n,darkHighContrast:r}=T(e(),i),a=document.getElementById(y),o=document.getElementById(b),s=document.getElementById(x);a&&(a.media=t),o&&(o.media=n),s&&(s.media=r)}t();let n=new MutationObserver(t);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-applied-theme`]}),()=>{n.disconnect()}},[i]);let c=s==null?void 0:a({cookie:s}),l=c===`system`?void 0:c,{dark:u,lightHighContrast:d,darkHighContrast:f}=T(l,i);return v(g,{children:[(!i||i===`dark`)&&_(`link`,{rel:`stylesheet`,id:y,href:e,media:u,suppressHydrationWarning:!0}),(!i||i===`light-high-contrast`)&&_(`link`,{rel:`stylesheet`,id:b,href:t,media:d,suppressHydrationWarning:!0}),(!i||i===`dark-high-contrast`)&&_(`link`,{rel:`stylesheet`,id:x,href:n,media:f,suppressHydrationWarning:!0}),!i&&l==null&&_(`script`,{dangerouslySetInnerHTML:{__html:O(i)},nonce:o,suppressHydrationWarning:!0})]})}const A=`https://assets.ngrok.com`,j=`${A}/fonts`,M={roobert:`/roobert/roobert-proportional-vf.woff2`,"jetbrains-mono":`/jetbrains/jetbrainsmono-wght.woff2`,"jetbrains-mono-italic":`/jetbrains/jetbrainsmono-italic-wght.woff2`,"family-regular":`/family/family-regular.woff2`,"family-italic":`/family/family-italic.woff2`};function N(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${j}${t}`}function P(e){return`<${N(M[e])}>; rel=preload; as=font; type="font/woff2"; crossorigin`}const F=({name:e})=>_(`link`,{rel:`preload`,href:N(M[e]),as:`font`,type:`font/woff2`,crossOrigin:`anonymous`});export{m as $resolvedTheme,n as $theme,k as MantleStyleSheets,F as PreloadFont,p as PreventWrongThemeFlashScript,c as ThemeProvider,A as assetsCdnOrigin,d as extractThemeCookie,O as fixMediaScriptContent,N as fontHref,a as getStoredTheme,r as isResolvedTheme,u as isTheme,E as mantleStyleSheetUrls,P as preloadFontLink,e as preventWrongThemeFlashScriptContent,l as readThemeFromHtmlElement,s as resolvedThemes,i as themes,f as useAppliedTheme,t as useInitialHtmlThemeProps,o as useTheme};
package/dist/toast.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./slot-CDk0Bb9z.js";import{s as r}from"./theme-C26-Xolp.js";import{createContext as i,useContext as a,useMemo as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{CheckCircleIcon as l}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as u}from"@phosphor-icons/react/Info";import{WarningIcon as d}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as f}from"@phosphor-icons/react/WarningDiamond";import*as p from"sonner";const m=({className:t,containerAriaLabel:n,dir:i,duration_ms:a=4e3,position:o=`top-center`,style:c})=>{let l=r();return s(p.Toaster,{"data-slot":`toaster`,className:e(`toaster overlay-prompt pointer-events-auto *:duration-200`,t),containerAriaLabel:n,dir:i,duration:a,gap:12,position:o??`top-center`,style:c,theme:l,toastOptions:{unstyled:!0}})},h=i(``);function g(e,t){let n=t?.duration_ms;return typeof n==`number`&&n<=0&&(n=1/0),p.toast.custom(t=>s(h.Provider,{value:t,children:e}),{duration:n,...t?.id?{id:t.id}:{},unstyled:!0})}const _=i({intent:`info`}),v={Root:({asChild:t,children:r,className:i,intent:a,ref:l,...u})=>{let d=t?n:`div`,f=o(()=>({intent:a}),[a]);return s(_.Provider,{value:f,children:c(d,{"data-slot":`toast`,className:e(`relative flex items-start gap-2 text-sm font-sans`,`p-3 pl-3.75`,`bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg`,i),ref:l,...u,children:[s(b,{intent:a}),r]})})},Action:({asChild:t,className:r,onClick:i,ref:o,...c})=>{let l=a(h);return s(t?n:`button`,{"data-slot":`toast-action`,className:e(`shrink-0`,`data-icon-button:-mr-0.5 data-icon-button:-mt-0.5 data-icon-button:rounded-xs`,r),onClick:e=>{i?.(e),!e.defaultPrevented&&p.toast.dismiss(l)},ref:o,...c})},Icon:({className:n,svg:r,ref:i,...o})=>{let c=a(_);switch(c.intent){case`danger`:return s(t,{"data-slot":`toast-icon`,className:e(`text-danger-600`,n),ref:i,svg:r??s(d,{weight:`fill`}),...o});case`warning`:return s(t,{"data-slot":`toast-icon`,className:e(`text-warning-600`,n),ref:i,svg:r??s(f,{weight:`fill`}),...o});case`success`:return s(t,{"data-slot":`toast-icon`,className:e(`text-success-600`,n),ref:i,svg:r??s(l,{weight:`fill`}),...o});case`info`:return s(t,{"data-slot":`toast-icon`,className:e(`text-accent-600`,n),ref:i,svg:s(u,{weight:`fill`}),...o});default:throw Error(`Unreachable Case: ${c.intent}`)}},Message:({asChild:t,className:r,ref:i,...a})=>s(t?n:`p`,{"data-slot":`toast-message`,className:e(`text-strong flex-1 text-sm font-body`,r),ref:i,...a})},y={info:`bg-accent-600`,warning:`bg-warning-600`,success:`bg-success-600`,danger:`bg-danger-600`};function b({className:t,intent:n,...r}){return s(`div`,{"aria-hidden":!0,className:e(`z-1 absolute -inset-px right-auto w-1.5 rounded-l`,y[n],t),...r})}export{v as Toast,m as Toaster,g as makeToast};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./slot-DpNWVci8.js";import{s as r}from"./theme-BorfgnNh.js";import{createContext as i,useContext as a,useMemo as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{CheckCircleIcon as l}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as u}from"@phosphor-icons/react/Info";import{WarningIcon as d}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as f}from"@phosphor-icons/react/WarningDiamond";import*as p from"sonner";const m=({className:t,containerAriaLabel:n,dir:i,duration_ms:a=4e3,position:o=`top-center`,style:c})=>{let l=r();return s(p.Toaster,{"data-slot":`toaster`,className:e(`toaster overlay-prompt pointer-events-auto *:duration-200`,t),containerAriaLabel:n,dir:i,duration:a,gap:12,position:o??`top-center`,style:c,theme:l,toastOptions:{unstyled:!0}})},h=i(``);function g(e,t){let n=t?.duration_ms;return typeof n==`number`&&n<=0&&(n=1/0),p.toast.custom(t=>s(h.Provider,{value:t,children:e}),{duration:n,...t?.id?{id:t.id}:{},unstyled:!0})}const _=i({intent:`info`}),v={Root:({asChild:t,children:r,className:i,intent:a,ref:l,...u})=>{let d=t?n:`div`,f=o(()=>({intent:a}),[a]);return s(_.Provider,{value:f,children:c(d,{"data-slot":`toast`,className:e(`relative flex items-start gap-2 text-sm font-sans`,`p-3 pl-3.75`,`bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg`,i),ref:l,...u,children:[s(b,{intent:a}),r]})})},Action:({asChild:t,className:r,onClick:i,ref:o,...c})=>{let l=a(h);return s(t?n:`button`,{"data-slot":`toast-action`,className:e(`shrink-0`,`data-icon-button:-mr-0.5 data-icon-button:-mt-0.5 data-icon-button:rounded-xs`,r),onClick:e=>{i?.(e),!e.defaultPrevented&&p.toast.dismiss(l)},ref:o,...c})},Icon:({className:n,svg:r,ref:i,...o})=>{let c=a(_);switch(c.intent){case`danger`:return s(t,{"data-slot":`toast-icon`,className:e(`text-danger-600`,n),ref:i,svg:r??s(d,{weight:`fill`}),...o});case`warning`:return s(t,{"data-slot":`toast-icon`,className:e(`text-warning-600`,n),ref:i,svg:r??s(f,{weight:`fill`}),...o});case`success`:return s(t,{"data-slot":`toast-icon`,className:e(`text-success-600`,n),ref:i,svg:r??s(l,{weight:`fill`}),...o});case`info`:return s(t,{"data-slot":`toast-icon`,className:e(`text-accent-600`,n),ref:i,svg:s(u,{weight:`fill`}),...o});default:throw Error(`Unreachable Case: ${c.intent}`)}},Message:({asChild:t,className:r,ref:i,...a})=>s(t?n:`p`,{"data-slot":`toast-message`,className:e(`text-strong flex-1 text-sm font-body`,r),ref:i,...a})},y={info:`bg-accent-600`,warning:`bg-warning-600`,success:`bg-success-600`,danger:`bg-danger-600`};function b({className:t,intent:n,...r}){return s(`div`,{"aria-hidden":!0,className:e(`z-1 absolute -inset-px right-auto w-1.5 rounded-l`,y[n],t),...r})}export{v as Toast,m as Toaster,g as makeToast};
@@ -0,0 +1 @@
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import*as r from"@radix-ui/react-tooltip";const i=({delayDuration:e=0,...n})=>t(r.Provider,{"data-slot":`tooltip-provider`,delayDuration:e??0,...n});function a(e){return t(r.Root,{"data-slot":`tooltip`,...e})}function o(e){return t(r.Trigger,{"data-slot":`tooltip-trigger`,...e})}const s={Root:a,Content:({children:i,className:a,ref:o,sideOffset:s=4,...c})=>t(r.Portal,{children:n(r.Content,{className:e(`bg-tooltip text-tooltip animate-in fade-in-0 zoom-in-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 data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 z-50 max-w-72 overflow-visible wrap-break-word rounded-md px-3 py-1.5 text-sm font-sans shadow`,a),"data-slot":`tooltip-content`,ref:o,sideOffset:s,...c,children:[i,t(r.Arrow,{asChild:!0,children:t(`div`,{className:`bg-tooltip z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-xs`})})]})}),Trigger:o};export{i as n,s as t};
@@ -0,0 +1,218 @@
1
+ import { ComponentProps, ComponentPropsWithoutRef } from "react";
2
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
+ //#region src/components/tooltip/tooltip.d.ts
4
+ /**
5
+ * Wraps your app to provide shared global behavior for your tooltips, such
6
+ * as consistent delay and hover settings. Mount one instance at the root of
7
+ * your app when you want app-wide tooltip defaults. Children render
8
+ * `Tooltip.Root` / `Tooltip.Trigger` / `Tooltip.Content` trees as usual.
9
+ *
10
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltipprovider
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <TooltipProvider>
15
+ * <Tooltip.Root>
16
+ * <Tooltip.Trigger asChild>
17
+ * <Button type="button" appearance="outlined" intent="neutral">
18
+ * Hover me
19
+ * </Button>
20
+ * </Tooltip.Trigger>
21
+ * <Tooltip.Content>
22
+ * This is a tooltip
23
+ * </Tooltip.Content>
24
+ * </Tooltip.Root>
25
+ * </TooltipProvider>
26
+ * ```
27
+ */
28
+ declare const TooltipProvider: ({ delayDuration, ...props }: ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>) => import("react").JSX.Element;
29
+ /**
30
+ * A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
31
+ * This is the root, stateful component that manages the open/closed state of
32
+ * the tooltip. Wrap your app in `TooltipProvider` when you want shared
33
+ * app-wide delay and hover settings.
34
+ *
35
+ * `Tooltip.Content` renders at Tailwind `z-50`, Mantle's shared floating
36
+ * z-index. When multiple shared layers are open, the most recently mounted
37
+ * layer renders on top.
38
+ *
39
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltiproot
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <Tooltip.Root>
44
+ * <Tooltip.Trigger asChild>
45
+ * <Button type="button" appearance="outlined" intent="neutral">
46
+ * Hover me
47
+ * </Button>
48
+ * </Tooltip.Trigger>
49
+ * <Tooltip.Content>
50
+ * This is a tooltip
51
+ * </Tooltip.Content>
52
+ * </Tooltip.Root>
53
+ * ```
54
+ */
55
+ declare function Root(props: ComponentProps<typeof TooltipPrimitive.Root>): import("react").JSX.Element;
56
+ /**
57
+ * The trigger button that opens the tooltip.
58
+ *
59
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltiptrigger
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <Tooltip.Root>
64
+ * <Tooltip.Trigger asChild>
65
+ * <Button type="button" appearance="outlined" intent="neutral">
66
+ * Hover me
67
+ * </Button>
68
+ * </Tooltip.Trigger>
69
+ * <Tooltip.Content>
70
+ * This is a tooltip
71
+ * </Tooltip.Content>
72
+ * </Tooltip.Root>
73
+ * ```
74
+ */
75
+ declare function Trigger(props: ComponentProps<typeof TooltipPrimitive.Trigger>): import("react").JSX.Element;
76
+ /**
77
+ * The content to render inside the tooltip.
78
+ *
79
+ * `Tooltip.Content` renders at Tailwind `z-50`, Mantle's shared floating
80
+ * z-index. When multiple shared layers are open, the most recently mounted
81
+ * layer renders on top.
82
+ *
83
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltipcontent
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * <Tooltip.Root>
88
+ * <Tooltip.Trigger asChild>
89
+ * <Button type="button" appearance="outlined" intent="neutral">
90
+ * Hover me
91
+ * </Button>
92
+ * </Tooltip.Trigger>
93
+ * <Tooltip.Content>
94
+ * This is a tooltip
95
+ * </Tooltip.Content>
96
+ * </Tooltip.Root>
97
+ * ```
98
+ */
99
+ declare const Content: ({ children, className, ref, sideOffset, ...props }: ComponentProps<typeof TooltipPrimitive.Content>) => import("react").JSX.Element;
100
+ /**
101
+ * A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
102
+ *
103
+ * Use `Tooltip` to show a short, non-essential label or hint when the user
104
+ * hovers or focuses an element — e.g., the meaning of an icon button, a
105
+ * keyboard shortcut, or a brief explanation. Tooltips are NON-INTERACTIVE:
106
+ * do not put buttons, links, or form controls inside one. Per the WAI-ARIA
107
+ * tooltip pattern, tooltips never receive focus, so interactive content
108
+ * inside them is unreachable for keyboard users. For interactive overlay
109
+ * content (forms, settings, color pickers), use `Popover`. For non-essential
110
+ * preview cards (user/repo previews, link previews), use `HoverCard`.
111
+ *
112
+ * Mount a `<TooltipProvider>` once at the app root when you want shared
113
+ * tooltip behavior such as consistent delay and hover settings.
114
+ *
115
+ * `Tooltip.Content` renders at Tailwind `z-50`, Mantle's shared floating
116
+ * z-index. When multiple shared layers are open, the most recently mounted
117
+ * layer renders on top.
118
+ *
119
+ * @see https://mantle.ngrok.com/components/overlays/tooltip
120
+ * @see https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/
121
+ *
122
+ * @example
123
+ * Composition:
124
+ * ```
125
+ * Tooltip.Root
126
+ * ├── Tooltip.Trigger
127
+ * └── Tooltip.Content
128
+ * ```
129
+ *
130
+ * @example
131
+ * ```tsx
132
+ * <Tooltip.Root>
133
+ * <Tooltip.Trigger asChild>
134
+ * <Button type="button" appearance="outlined" intent="neutral">
135
+ * Hover me
136
+ * </Button>
137
+ * </Tooltip.Trigger>
138
+ * <Tooltip.Content>
139
+ * This is a tooltip
140
+ * </Tooltip.Content>
141
+ * </Tooltip.Root>
142
+ * ```
143
+ */
144
+ declare const Tooltip: {
145
+ /**
146
+ * A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
147
+ * This is the root, stateful component that manages the open/closed state of
148
+ * the tooltip. Wrap your app in `TooltipProvider` when you want shared
149
+ * app-wide delay and hover settings.
150
+ *
151
+ * `Tooltip.Content` renders at Tailwind `z-50`, Mantle's shared floating
152
+ * z-index. When multiple shared layers are open, the most recently mounted
153
+ * layer renders on top.
154
+ *
155
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltiproot
156
+ *
157
+ * @example
158
+ * ```tsx
159
+ * <Tooltip.Root>
160
+ * <Tooltip.Trigger asChild>
161
+ * <Button type="button" appearance="outlined" intent="neutral">
162
+ * Hover me
163
+ * </Button>
164
+ * </Tooltip.Trigger>
165
+ * <Tooltip.Content>
166
+ * This is a tooltip
167
+ * </Tooltip.Content>
168
+ * </Tooltip.Root>
169
+ * ```
170
+ */
171
+ readonly Root: typeof Root;
172
+ /**
173
+ * The content to render inside the tooltip.
174
+ *
175
+ * `Tooltip.Content` renders at Tailwind `z-50`, Mantle's shared floating
176
+ * z-index. When multiple shared layers are open, the most recently mounted
177
+ * layer renders on top.
178
+ *
179
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltipcontent
180
+ *
181
+ * @example
182
+ * ```tsx
183
+ * <Tooltip.Root>
184
+ * <Tooltip.Trigger asChild>
185
+ * <Button type="button" appearance="outlined" intent="neutral">
186
+ * Hover me
187
+ * </Button>
188
+ * </Tooltip.Trigger>
189
+ * <Tooltip.Content>
190
+ * This is a tooltip
191
+ * </Tooltip.Content>
192
+ * </Tooltip.Root>
193
+ * ```
194
+ */
195
+ readonly Content: typeof Content;
196
+ /**
197
+ * The trigger button that opens the tooltip.
198
+ *
199
+ * @see https://mantle.ngrok.com/components/overlays/tooltip#tooltiptrigger
200
+ *
201
+ * @example
202
+ * ```tsx
203
+ * <Tooltip.Root>
204
+ * <Tooltip.Trigger asChild>
205
+ * <Button type="button" appearance="outlined" intent="neutral">
206
+ * Hover me
207
+ * </Button>
208
+ * </Tooltip.Trigger>
209
+ * <Tooltip.Content>
210
+ * This is a tooltip
211
+ * </Tooltip.Content>
212
+ * </Tooltip.Root>
213
+ * ```
214
+ */
215
+ readonly Trigger: typeof Trigger;
216
+ };
217
+ //#endregion
218
+ export { TooltipProvider as n, Tooltip as t };