@ngrok/mantle 0.82.0 → 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.
- package/dist/accordion.js +1 -1
- package/dist/agent.json +1 -1
- package/dist/alert-center.d.ts +217 -19
- package/dist/alert-center.js +1 -1
- package/dist/alert-dialog.js +1 -1
- package/dist/{alert-QMs0PqMq.js → alert-vwFd7qdp.js} +1 -1
- package/dist/alert.js +1 -1
- package/dist/{anchor-DvbNsphX.js → anchor-3OGK2UKU.js} +1 -1
- package/dist/anchor.js +1 -1
- package/dist/app-layout.d.ts +296 -213
- package/dist/app-layout.js +1 -1
- package/dist/area-chart.js +1 -1
- package/dist/badge.js +1 -1
- package/dist/bar-chart.js +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{button-BUospUB3.js → button-Cnja9Bsr.js} +1 -1
- package/dist/{button-BO2CKsz6.js → button-DmJkYfyl.js} +1 -1
- package/dist/{button-C0S8RbaJ.js → button-IlxHhjPK.js} +1 -1
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/centered-layout.js +1 -1
- package/dist/{chart-DdBQ3xwx.js → chart-B3pAvmkk.js} +1 -1
- package/dist/{choice-C9gLKECf.js → choice-CnwfjSEu.js} +1 -1
- package/dist/choice.js +1 -1
- package/dist/code-block.js +1 -1
- package/dist/code.js +1 -1
- package/dist/combobox.js +1 -1
- package/dist/command.js +1 -1
- package/dist/cookie-ca4g5CKp.js +1 -0
- package/dist/data-table.js +1 -1
- package/dist/description-list.js +1 -1
- package/dist/{dialog-Bsj_dX6r.js → dialog-DozL6n-F.js} +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{dropdown-menu-fUMqjRC0.js → dropdown-menu-BRH0Wd_z.js} +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/empty.js +1 -1
- package/dist/field.d.ts +1 -1
- package/dist/field.js +1 -1
- package/dist/{icons-CPbOq7cF.js → icons-Bb_zF2OV.js} +1 -1
- package/dist/icons.js +1 -1
- package/dist/line-chart.js +1 -1
- package/dist/{list-CQFWx6Z8.js → list-CJABVHwi.js} +1 -1
- package/dist/list.js +1 -1
- package/dist/llms.txt +1 -1
- package/dist/main.d.ts +32 -1
- package/dist/media-object.js +1 -1
- package/dist/multi-select.js +1 -1
- package/dist/otp-input.js +1 -1
- package/dist/pagination.js +1 -1
- package/dist/platform-BVD3gpKD.js +1 -0
- package/dist/{primitive-Dv-3snU3.js → primitive-D-9GIFWb.js} +1 -1
- package/dist/qr-code.js +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/sandboxed-on-click.js +1 -1
- package/dist/scatter-plot.js +1 -1
- package/dist/{select-B-9yWrif.js → select-BReznXaw.js} +1 -1
- package/dist/select.js +1 -1
- package/dist/selectable-list.js +1 -1
- package/dist/{separator-BepAcFFy.js → separator-D0D6VyyM.js} +1 -1
- package/dist/separator.js +1 -1
- package/dist/{sheet-_fXLjiq2.js → sheet-BxvTfPLM.js} +1 -1
- package/dist/sheet.js +1 -1
- package/dist/sidebar.d.ts +534 -60
- package/dist/sidebar.js +1 -1
- package/dist/{skeleton-DsHXIa9j.js → skeleton-BhcJMpem.js} +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skip-to-main-link.js +1 -1
- package/dist/slot-DdgxmuI5.d.ts +67 -0
- package/dist/slot-DpNWVci8.js +1 -0
- package/dist/slot.d.ts +1 -1
- package/dist/slot.js +1 -1
- package/dist/split-button.js +1 -1
- package/dist/theme-BorfgnNh.js +1 -0
- package/dist/theme-switcher.d.ts +1 -1
- package/dist/theme-switcher.js +1 -1
- package/dist/theme.js +1 -1
- package/dist/toast.js +1 -1
- package/dist/tooltip-Dnu35cjU.js +1 -0
- package/dist/tooltip-mrpLz4DZ.d.ts +218 -0
- package/dist/tooltip.d.ts +1 -217
- package/dist/tooltip.js +1 -1
- package/dist/well.js +1 -1
- package/package.json +1 -1
- package/dist/slot-BtwKJTLq.d.ts +0 -25
- package/dist/slot-Dpsqz16D.js +0 -1
- package/dist/theme-IAnQ35bd.js +0 -1
package/dist/sidebar.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./data-slot-EM6s2WEU.js";import{t as n}from"./slot-Dpsqz16D.js";import{t as r}from"./button-C0S8RbaJ.js";import{t as i}from"./use-is-hydrated-DDCqXmju.js";import{n as a}from"./separator-BepAcFFy.js";import{t as o}from"./sheet-_fXLjiq2.js";import{i as s,r as c}from"./use-breakpoint-Wd7_5-Mu.js";import{createContext as l,useCallback as u,useContext as d,useEffect as f,useId as p,useMemo as m,useRef as h,useState as g}from"react";import _ from"tiny-invariant";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{SidebarSimpleIcon as b}from"@phosphor-icons/react/SidebarSimple";const x={sm:`hidden sm:block`,md:`hidden md:block`,lg:`hidden lg:block`},S=l(null);function C(){let e=d(S);return _(e,`useSidebar must be used within Sidebar.Root.`),e}function w(e){let t=d(S);return _(t,`Sidebar.${e} must be rendered inside Sidebar.Root.`),t}const T=[];function E(){let e=Symbol(`sidebar-keyboard-shortcut`);return T.push(e),{isOwner:()=>T[0]===e,release:()=>{let t=T.indexOf(e);t!==-1&&T.splice(t,1)}}}const D=({children:e,defaultOpen:t=!0,keyboardShortcut:n=!0,mobileBreakpoint:r=`lg`,onOpenChange:i,onOpenMobileChange:a,open:o,openMobile:l})=>{let d=c(r),_=p(),y=o!=null,[b,x]=g(t),C=y?o:b,w=u(e=>{y||x(e),i?.(e)},[y,i]),T=l!=null,[D,O]=g(!1),k=T?l:D,A=u(e=>{T||O(e),a?.(e)},[T,a]),j=h(d);f(()=>{let e=j.current&&!d;j.current=d,e&&k&&A(!1)},[d,k,A]);let M=u(()=>{d?A(!k):w(!C)},[d,C,k,w,A]),N=s(M);f(()=>{if(!n)return;let e=E(),t=t=>{if(!e.isOwner())return;let n=t.metaKey||t.ctrlKey;t.key.toLowerCase()===`b`&&n&&!t.altKey&&!t.shiftKey&&(t.preventDefault(),N())};return window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`keydown`,t),e.release()}},[n,N]);let P=m(()=>({isMobile:d,mobileBreakpoint:r,navId:_,open:C,openMobile:k,setOpen:w,setOpenMobile:A,toggle:M}),[d,r,_,C,k,w,A,M]);return v(S.Provider,{value:P,children:e})},O=({"aria-label":n,"aria-labelledby":r,children:a,className:s,"data-slot":c,...l})=>{let{isMobile:u,mobileBreakpoint:d,navId:f,open:p,openMobile:m,setOpenMobile:h}=w(`Nav`),g=i(),_=n??(r==null?`Main`:void 0);return u?v(o.Root,{open:m,onOpenChange:h,children:y(o.Content,{side:`left`,preferredWidth:`sm:max-w-[var(--sidebar-width-mobile,18rem)]`,"data-slot":t(c,`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`,s),...l,children:[v(o.Title,{className:`sr-only`,children:_??`Sidebar`}),v(`nav`,{id:f,"aria-label":_,"aria-labelledby":r,className:`flex h-full w-full min-w-0 flex-col text-sm`,children:a})]})}):v(`div`,{"data-slot":t(c,`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&&x[d],g&&[`transition-[width] duration-200 ease-linear motion-reduce:transition-none`],s),...l,children:v(`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})})},k=v(b,{}),A=({appearance:e=`ghost`,"data-slot":n,icon:i=k,intent:a=`neutral`,label:o=`Toggle Sidebar`,onClick:s,...c})=>{let{isMobile:l,navId:u,open:d,openMobile:f,toggle:p}=w(`Trigger`),m=l?f:d;return v(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})},j=({asChild:r,children:i,className:a,"data-slot":o,...s})=>v(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}),M=({asChild:r,children:i,className:a,"data-slot":o,...s})=>v(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}),N=({asChild:r,children:i,className:a,"data-slot":o,...s})=>v(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}),P=l(null),F=({asChild:r,children:i,className:a,"data-slot":o,...s})=>{let[c,l]=g(null),u=m(()=>({mountedLabelId:c,setMountedLabelId:l}),[c]),d=r?n:`div`;return v(P.Provider,{value:u,children:v(d,{"data-slot":t(o,`sidebar-group`),className:e(`pt-0.5`,a),...s,children:i})})},I=({asChild:r,children:i,className:a,"data-slot":o,id:s,...c})=>{let l=d(P),u=p(),m=s??(l==null?void 0:u),h=l?.setMountedLabelId;return f(()=>{if(h!=null&&m!=null)return h(m),()=>{h(null)}},[h,m]),v(r?n:`div`,{id:m,"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})},L=({"aria-labelledby":r,asChild:i,children:a,className:o,"data-slot":s,...c})=>{let l=d(P);return v(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})},R=({asChild:r,children:i,className:a,"data-slot":o,...s})=>v(r?n:`li`,{"data-slot":t(o,`sidebar-item`),className:e(`list-none`,a),...s,children:i}),z=({asChild:r,children:i,className:a,current:o,"data-slot":s,type:c,...l})=>v(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`,`data-state-open:bg-neutral-500/15 data-state-open:text-strong`,`[&>svg]:text-muted hover:[&>svg]:text-strong data-current:[&>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}),B=({asChild:r,children:i,className:a,"data-slot":o,type:s,...c})=>v(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}),V=({className:t,...n})=>v(a,{"data-slot":`sidebar-separator`,className:e(`my-3`,`group-data-[state=collapsed]/sidebar-nav:w-9`,t),...n}),H=[`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 U(e){let t=5381;for(let n=0;n<e.length;n+=1)t=t*33^e.charCodeAt(n);return t>>>0}function W(e){let t=U(e??``)%H.length;return H[t]??`bg-neutral-500`}function G(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 K=({accountId:t,accountName:n,className:r,...i})=>v(`div`,{"data-slot":`sidebar-account-avatar`,className:e(`text-static-white flex size-7 shrink-0 items-center justify-center rounded-md text-xs font-medium`,W(t),r),"aria-hidden":`true`,...i,children:G(n)}),q=({className:t,...n})=>y(`svg`,{className:e(`block size-full`,t),viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,...n,children:[v(`circle`,{cx:`12`,cy:`12`,r:`12`,opacity:.15}),v(`circle`,{cx:`12`,cy:`10`,r:`3.5`}),v(`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`})]}),J={Root:D,Nav:O,Trigger:A,Header:j,Body:M,Footer:N,Group:F,GroupLabel:I,List:L,Item:R,ItemButton:z,SwitcherTrigger:B,Separator:V,AccountAvatar:K,UserAvatar:({alt:t=`Your account`,className:n,src:r,...i})=>v(`div`,{"data-slot":`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`,n),role:r?void 0:`img`,"aria-label":r?void 0:t,...i,children:r?v(`img`,{src:r,alt:t,className:`size-full object-cover`}):v(q,{})})};export{J as Sidebar,C as useSidebar};
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
1
|
+
import{t as e}from"./slot-DpNWVci8.js";export{e as Slot};
|
package/dist/split-button.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-
|
|
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};
|
|
@@ -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};
|
package/dist/theme-switcher.d.ts
CHANGED
|
@@ -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";
|
package/dist/theme-switcher.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./icon-lZ48P8Nn.js";import{t}from"./data-slot-EM6s2WEU.js";import{t as n}from"./button-
|
|
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-
|
|
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-
|
|
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 };
|