seam-react 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ import { type ForwardRefExoticComponent, type InputHTMLAttributes, type ReactNode, type RefAttributes } from "react";
2
+ export interface CheckBoxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "checked" | "defaultChecked" | "onChange"> {
3
+ /** 受控选中状态。传入即进入受控模式。 */
4
+ checked?: boolean;
5
+ /** 非受控模式下的初始状态。 */
6
+ defaultChecked?: boolean;
7
+ /** 状态变化回调,受控与非受控都会触发。 */
8
+ onCheckedChange?: (checked: boolean) => void;
9
+ /** 显示在复选框右侧的标签文本。 */
10
+ children?: ReactNode;
11
+ }
12
+ /**
13
+ * 复选框。
14
+ *
15
+ * 保留原生 checkbox 的表单、键盘和读屏语义;方框内的对勾用 SVG 描边
16
+ * 展示状态转换,按压时的轻微缩放提供即时的触觉反馈。
17
+ */
18
+ export declare const CheckBox: ForwardRefExoticComponent<CheckBoxProps & RefAttributes<HTMLInputElement>>;
package/dist/Marquee.d.ts CHANGED
@@ -1,11 +1,25 @@
1
- import { type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes } from "react";
1
+ import { type KeyboardEvent, type MouseEvent, type ReactElement, type ReactNode, type HTMLAttributes, type RefAttributes } from "react";
2
2
  export type MarqueeDirection = "left" | "right" | "up" | "down";
3
- export interface MarqueeProps extends HTMLAttributes<HTMLDivElement> {
3
+ export type MarqueeItemClickEvent = MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>;
4
+ export interface MarqueeItem<TData = unknown> {
5
+ key: string;
6
+ content: ReactNode;
7
+ data?: TData;
8
+ }
9
+ export interface MarqueeItemDetail<TData = unknown> {
10
+ index: number;
11
+ key: string | null;
12
+ data: TData | undefined;
13
+ }
14
+ export interface MarqueeProps<TData = unknown> extends HTMLAttributes<HTMLDivElement> {
4
15
  direction?: MarqueeDirection;
5
16
  speed?: number;
6
17
  pauseOnHover?: boolean;
7
18
  gap?: string;
8
19
  fade?: boolean;
20
+ paused?: boolean;
21
+ items?: ReadonlyArray<MarqueeItem<TData>>;
22
+ onItemClick?: (item: MarqueeItemDetail<TData>, event: MarqueeItemClickEvent) => void;
9
23
  }
10
- declare const Marquee: ForwardRefExoticComponent<MarqueeProps & RefAttributes<HTMLDivElement>>;
24
+ declare const Marquee: <TData = unknown>(props: MarqueeProps<TData> & RefAttributes<HTMLDivElement>) => ReactElement | null;
11
25
  export { Marquee };
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),i=require("react"),x=require("motion/react"),F=require("react-dom"),E=require("seam-hooks");function T(...t){return t.filter(Boolean).join(" ")}const G=i.forwardRef(function({variant:e="primary",size:n="md",loading:o=!1,iconOnly:r=!1,type:l="button",className:c,children:f,...u},s){return a.jsxs("button",{...u,ref:s,type:l,className:T("uk-button",c),"data-variant":e,"data-size":n,"data-loading":o?"true":void 0,"data-icon-only":r?"true":void 0,disabled:u.disabled||o,"aria-busy":o||void 0,children:[o?a.jsx("span",{className:"uk-button__spinner","aria-hidden":"true"}):null,f]})}),je=i.forwardRef(function({inputSize:e="md",invalid:n=!1,className:o,"aria-invalid":r,...l},c){return a.jsx("input",{...l,ref:c,className:T("uk-input",o),"data-size":e,"aria-invalid":n?!0:r})}),B=[.23,1,.32,1],Re=[.77,0,.175,1],W={type:"spring",bounce:0,duration:.3},J={type:"spring",bounce:.04,duration:.38},z={type:"spring",bounce:.08,duration:.34},Pe={duration:.2,ease:Re},Z={duration:.12,ease:B},Ne={layout:{type:"spring",bounce:0,duration:.22},opacity:{duration:.12,ease:B},scale:{duration:.12,ease:B}},O={duration:.12,ease:B},Se=i.forwardRef(function({checked:e,defaultChecked:n,onCheckedChange:o,disabled:r,className:l,children:c,id:f,...u},s){const b=i.useId(),m=f??b,h=x.useReducedMotion()??!1,g=i.useRef(!1),p=i.useRef(null),[y,v]=E.useControllableState({value:e,defaultValue:n??!1,onChange:o}),k=x.useMotionValue(y?16:0);i.useEffect(()=>{if(p.current)return;const d=x.animate(k,y?16:0,h?{duration:0}:W);return()=>d.stop()},[y,h,k]);const C=d=>{const I=p.current;if(!(!I||I.pointerId!==d.pointerId)){if(I.moved){const w=I.samples[0],_=I.samples[I.samples.length-1],N=w&&_?Math.max(_.time-w.time,1):1,P=w&&_?(_.x-w.x)/N*1e3:0,j=Math.abs(P)>220?P>0:k.get()>=8;g.current=!0,p.current=null,v(j),x.animate(k,j?16:0,h?{duration:0}:{...W,velocity:P}),window.setTimeout(()=>{g.current=!1},0)}else p.current=null;d.currentTarget.hasPointerCapture(d.pointerId)&&typeof d.currentTarget.releasePointerCapture=="function"&&d.currentTarget.releasePointerCapture(d.pointerId)}};return a.jsxs("label",{className:T("uk-switch",l),"data-disabled":r?"true":void 0,htmlFor:m,onClickCapture:d=>{g.current&&(d.preventDefault(),d.stopPropagation())},children:[a.jsx("input",{...u,ref:s,id:m,type:"checkbox",role:"switch",className:"uk-switch__input",checked:y,disabled:r,"aria-checked":y,onChange:d=>v(d.target.checked)}),a.jsx("span",{className:"uk-switch__track","aria-hidden":"true",onPointerDown:d=>{r||(p.current={pointerId:d.pointerId,startX:d.clientX,startValue:k.get(),moved:!1,samples:[{x:d.clientX,time:performance.now()}]},typeof d.currentTarget.setPointerCapture=="function"&&d.currentTarget.setPointerCapture(d.pointerId))},onPointerMove:d=>{const I=p.current;if(!I||I.pointerId!==d.pointerId)return;const w=d.clientX-I.startX;Math.abs(w)>4&&(I.moved=!0),I.moved&&(d.preventDefault(),k.set(Math.max(0,Math.min(16,I.startValue+w))),I.samples.push({x:d.clientX,time:performance.now()}),I.samples=I.samples.filter(_=>performance.now()-_.time<120))},onPointerUp:C,onPointerCancel:C,children:a.jsx(x.motion.span,{className:"uk-switch__thumb",style:{x:k}})}),c?a.jsx("span",{className:"uk-switch__label",children:c}):null]})}),ee=i.createContext(null);function te(t){const e=i.useContext(ee);if(!e)throw new Error(`<${t}> must be rendered inside <Sidebar>`);return e}function q(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function De({children:t,className:e,hoverPreview:n=!0,hoverIndicator:o="rail",groupGap:r,style:l,...c}){const[f,u]=i.useState(null),s=i.useId().replace(/:/g,""),b=i.useMemo(()=>({hoveredId:f,setHoveredId:u,indicatorBaseId:s,hoverPreview:n,hoverIndicator:o}),[f,s,n,o]),m=typeof r=="number"?`${r}px`:r,h={...l,...m===void 0?{}:{"--uk-sidebar-group-gap":m}};return a.jsx(ee.Provider,{value:b,children:a.jsx(x.LayoutGroup,{id:`sidebar-${s}`,children:a.jsx("nav",{...c,className:T("uk-sidebar",e),style:h,children:t})})})}function Le({title:t,icon:e,collapsible:n=!1,open:o,defaultOpen:r=!0,onOpenChange:l,children:c,className:f,...u}){const s=i.useId(),b=i.useId(),m=i.useId(),h=i.useRef(null),g=i.useRef(null),p=te("Sidebar.Group"),y=e!=null,v=x.useReducedMotion()??!1,[k,C]=E.useControllableState({value:o,defaultValue:r,onChange:l}),d=n?k:!0,I=p.hoveredId===m;i.useEffect(()=>{!n||d||g.current?.contains(document.activeElement)&&h.current?.focus()},[n,d]);const w=a.jsxs(a.Fragment,{children:[y?a.jsx("span",{className:"uk-sidebar__group-icon","aria-hidden":"true",children:e}):null,a.jsx("span",{className:"uk-sidebar__group-label",children:t}),n?a.jsx("span",{className:"uk-sidebar__chevron","aria-hidden":"true",children:a.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",children:a.jsx("path",{d:"m6 3.8 4.2 4.2L6 12.2",stroke:"currentColor",strokeWidth:"1.35",strokeLinecap:"round",strokeLinejoin:"round"})})}):null]});return a.jsxs("section",{...u,className:T("uk-sidebar__group",f),"aria-labelledby":u["aria-labelledby"]??s,"data-collapsible":n?"true":"false","data-has-icon":y?"true":"false","data-state":d?"open":"closed",children:[n?a.jsxs("button",{ref:h,type:"button",className:"uk-sidebar__group-title uk-sidebar__group-trigger",id:s,"aria-controls":b,"aria-expanded":d,"data-preview":p.hoverIndicator==="background"&&I?"true":void 0,onClick:()=>C(_=>!_),onPointerEnter:_=>{p.hoverPreview&&p.hoverIndicator==="background"&&_.pointerType==="mouse"&&p.setHoveredId(m)},onPointerLeave:()=>{p.hoveredId===m&&p.setHoveredId(null)},onPointerCancel:()=>{p.hoveredId===m&&p.setHoveredId(null)},children:[a.jsx(x.AnimatePresence,{initial:!1,children:p.hoverPreview&&p.hoverIndicator==="background"&&I?a.jsx(x.motion.span,{className:"uk-sidebar__group-surface","data-kind":"hover","data-slot":"sidebar-hover-highlight",layoutId:`${p.indicatorBaseId}-hover`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:v?{duration:0}:z}):null}),w]}):a.jsx("div",{className:"uk-sidebar__group-title",id:s,children:w}),a.jsx(x.motion.div,{ref:g,className:"uk-sidebar__content",id:b,"data-state":d?"open":"closed",initial:!1,animate:{height:d?"auto":0,opacity:d?1:0},transition:v?{duration:0}:Pe,inert:n&&!d,"aria-hidden":n&&!d?!0:void 0,children:a.jsx("ul",{className:"uk-sidebar__list",children:c})})]})}function Me({active:t=!1,children:e,className:n}){const o=te("Sidebar.Item"),r=i.useId(),c=x.useReducedMotion()??!1?{duration:0}:z;if(!i.isValidElement(e))throw new Error("<Sidebar.Item> expects a single valid React element");const f=e,u=f.props,s=u.className,b=typeof s=="function"?v=>T("uk-sidebar__link",s(v),n):T("uk-sidebar__link",s,n),m=u.onPointerEnter,h=u.onPointerLeave,g=u.onPointerCancel,p=o.hoveredId===r,y=a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"uk-sidebar__rail","aria-hidden":"true"}),a.jsx(x.AnimatePresence,{initial:!1,children:o.hoverPreview&&o.hoverIndicator==="rail"&&p?a.jsx(x.motion.span,{className:"uk-sidebar__rail-indicator","data-kind":"hover","data-slot":"sidebar-hover-rail-indicator",layoutId:`${o.indicatorBaseId}-hover-rail`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),a.jsx(x.AnimatePresence,{initial:!1,children:o.hoverIndicator==="rail"&&t?a.jsx(x.motion.span,{className:"uk-sidebar__rail-indicator","data-kind":"active","data-slot":"sidebar-active-rail-indicator",layoutId:`${o.indicatorBaseId}-active-rail`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),a.jsx(x.AnimatePresence,{initial:!1,children:o.hoverPreview&&o.hoverIndicator==="background"&&p?a.jsx(x.motion.span,{className:"uk-sidebar__surface","data-kind":"hover","data-slot":"sidebar-hover-highlight",layoutId:`${o.indicatorBaseId}-hover`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),a.jsx(x.AnimatePresence,{initial:!1,children:o.hoverIndicator==="background"&&t?a.jsx(x.motion.span,{className:"uk-sidebar__surface","data-kind":"active","data-slot":"sidebar-active-highlight",layoutId:`${o.indicatorBaseId}-active`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),a.jsx("span",{className:"uk-sidebar__label",children:u.children})]});return a.jsx("li",{className:"uk-sidebar__item",children:i.cloneElement(f,{className:b,"data-active":t?"true":"false","data-preview":t||p?"true":"false","aria-current":u["aria-current"]??(t?"page":void 0),onPointerEnter:q(m,v=>{o.hoverPreview&&v.pointerType==="mouse"&&o.setHoveredId(r)}),onPointerLeave:q(h,()=>{o.hoveredId===r&&o.setHoveredId(null)}),onPointerCancel:q(g,()=>{o.hoveredId===r&&o.setHoveredId(null)})},y)})}const Oe=Object.assign(De,{Group:Le,Item:Me}),ne=i.createContext(null);function K(t){const e=i.useContext(ne);if(!e)throw new Error(`<${t}> must be rendered inside <Tabs>`);return e}function oe(t,e){return`${t}-tab-${encodeURIComponent(e)}`}function re(t,e){return`${t}-panel-${encodeURIComponent(e)}`}function $e({value:t,defaultValue:e,onValueChange:n,orientation:o="horizontal",className:r,children:l}){const c=i.useId(),[f,u]=E.useControllableState({value:t,defaultValue:e??"",onChange:n}),s=i.useMemo(()=>({baseId:c,value:f,setValue:u,orientation:o,indicatorId:`${c}-indicator`}),[c,f,o,u]);return a.jsx(ne.Provider,{value:s,children:a.jsx("div",{className:T("uk-tabs",r),"data-orientation":o,children:l})})}const Ae=i.forwardRef(function({className:e,onKeyDown:n,...o},r){const{orientation:l}=K("Tabs.List");return a.jsx("div",{...o,ref:r,role:"tablist","aria-orientation":l,tabIndex:-1,className:T("uk-tabs__list",e),onKeyDown:c=>{if(n?.(c),c.defaultPrevented)return;const u=c.target?.closest('[role="tab"]');if(!u||u.hasAttribute("disabled"))return;const s=Array.from(c.currentTarget.querySelectorAll('[role="tab"]:not([disabled])')),b=s.indexOf(u);if(b===-1)return;const m=l==="horizontal"?"ArrowRight":"ArrowDown",h=l==="horizontal"?"ArrowLeft":"ArrowUp";let g=-1;switch(c.key){case m:g=(b+1)%s.length;break;case h:g=(b-1+s.length)%s.length;break;case"Home":g=0;break;case"End":g=s.length-1;break;default:return}c.preventDefault();const p=s[g];p&&(p.focus(),p.click())}})}),Be=i.forwardRef(function({value:e,type:n="button",className:o,onClick:r,children:l,...c},f){const u=K("Tabs.Trigger"),s=u.value===e,b=x.useReducedMotion()??!1;return a.jsxs("button",{...c,ref:f,type:n,role:"tab",id:oe(u.baseId,e),"aria-selected":s,"aria-controls":re(u.baseId,e),tabIndex:s?0:-1,"data-state":s?"active":"inactive",className:T("uk-tabs__trigger",o),onClick:m=>{r?.(m),m.defaultPrevented||u.setValue(e)},children:[l,s?a.jsx(x.motion.span,{className:"uk-tabs__indicator",layoutId:u.indicatorId,"aria-hidden":"true",transition:b?{duration:0}:z}):null]})}),He=i.forwardRef(function({value:e,className:n,...o},r){const l=K("Tabs.Content"),c=l.value===e;return a.jsx("div",{...o,ref:r,role:"tabpanel",id:re(l.baseId,e),"aria-labelledby":oe(l.baseId,e),hidden:!c,tabIndex:0,"data-state":c?"active":"inactive",className:T("uk-tabs__panel",n)})}),qe=Object.assign($e,{List:Ae,Trigger:Be,Content:He}),ie=i.createContext(null),Ve=()=>()=>{},Fe=()=>!0,Ge=()=>!1;function $(t){const e=i.useContext(ie);if(!e)throw new Error(`<${t}> must be rendered inside <Dialog.Root>`);return e}function ae(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function se({children:t,open:e,defaultOpen:n,onOpenChange:o}){const r=i.useId(),[l,c]=i.useState(!1),[f,u]=i.useState(!1),[s,b]=E.useControllableState({value:e,defaultValue:n??!1,onChange:o}),m=i.useMemo(()=>({open:s,setOpen:b,triggerId:`${r}-trigger`,contentId:`${r}-content`,titleId:`${r}-title`,descriptionId:`${r}-description`,hasTitle:l,setHasTitle:c,hasDescription:f,setHasDescription:u}),[r,s,f,l,b]);return a.jsx(ie.Provider,{value:m,children:t})}function ze({children:t}){const e=$("Dialog.Trigger"),n=t,o=n.props.onClick;return i.cloneElement(n,{id:e.triggerId,"aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.open?e.contentId:void 0,onClick:ae(o,()=>{e.setOpen(!e.open)})})}function ce({children:t,label:e="Close"}){const n=$("Dialog.Close");if(i.isValidElement(t)){const o=t,r=o.props.onClick;return i.cloneElement(o,{onClick:ae(r,()=>{n.setOpen(!1)})})}return a.jsx(G,{variant:"ghost",onClick:()=>n.setOpen(!1),children:e})}const le=i.forwardRef(function({className:e,...n},o){return a.jsx("header",{...n,ref:o,className:T("uk-dialog__header",e)})}),ue=i.forwardRef(function({className:e,children:n,...o},r){const l=$("Dialog.Title"),c=l.setHasTitle;return i.useEffect(()=>(c(!0),()=>c(!1)),[c]),a.jsx("h2",{...o,ref:r,id:l.titleId,className:T("uk-dialog__title",e),children:n})}),de=i.forwardRef(function({className:e,...n},o){const r=$("Dialog.Description"),l=r.setHasDescription;return i.useEffect(()=>(l(!0),()=>l(!1)),[l]),a.jsx("p",{...n,ref:o,id:r.descriptionId,className:T("uk-dialog__description",e)})}),fe=i.forwardRef(function({className:e,...n},o){return a.jsx("div",{...n,ref:o,className:T("uk-dialog__body",e)})}),pe=i.forwardRef(function({className:e,...n},o){return a.jsx("footer",{...n,ref:o,className:T("uk-dialog__footer",e)})});function Ke({requestClose:t,contentId:e,titleId:n,descriptionId:o,hasTitle:r,hasDescription:l,children:c,closeOnBackdropClick:f=!0,closeOnEscape:u=!0,initialFocusRef:s,returnFocusRef:b,className:m,"aria-label":h,"aria-labelledby":g,"aria-describedby":p}){const y=i.useRef(null),v=i.useRef(null),k=x.useIsPresent(),C=x.useReducedMotion()??!1;return E.useLockBodyScroll(!0),i.useLayoutEffect(()=>{const d=y.current;d&&(v.current??(v.current=document.activeElement instanceof HTMLElement?document.activeElement:null),!d.open&&(typeof d.showModal=="function"?d.showModal():d.setAttribute("open","")))},[]),E.useFocusTrap({active:!0,containerRef:y,initialFocusRef:s,returnFocusRef:b??v}),i.useEffect(()=>{const d=y.current;if(!d)return;const I=()=>{d.open||(typeof d.showModal=="function"?d.showModal():d.setAttribute("open",""))},w=()=>{if(!u){I();return}t()},_=j=>{j.preventDefault(),u&&t()},N=j=>{u||j.key!=="Escape"||j.defaultPrevented||(j.preventDefault(),j.stopPropagation())},P=j=>{f&&j.target===d&&t()};return d.addEventListener("close",w),d.addEventListener("cancel",_),d.addEventListener("keydown",N,!0),d.addEventListener("click",P),()=>{d.removeEventListener("close",w),d.removeEventListener("cancel",_),d.removeEventListener("keydown",N,!0),d.removeEventListener("click",P)}},[f,u,t]),a.jsx("dialog",{ref:y,id:e,className:T("uk-dialog",m),closedby:u||f?"any":"none","data-state":k?"open":"closed",inert:!k,"aria-label":h,"aria-labelledby":g??(h?void 0:r?n:void 0),"aria-describedby":p??(l?o:void 0),children:a.jsx(x.motion.div,{className:"uk-dialog__panel",initial:C?{opacity:0}:{opacity:0,transform:"translateY(12px) scale(0.96)"},animate:{opacity:1,transform:"translateY(0px) scale(1)",transition:C?O:{...J,delay:.06}},exit:C?{opacity:0,transition:O}:{opacity:0,transform:"translateY(8px) scale(0.97)",transition:J},children:c})})}function he({children:t,closeOnBackdropClick:e=!0,closeOnEscape:n=!0,initialFocusRef:o,returnFocusRef:r,className:l,"aria-label":c,"aria-labelledby":f,"aria-describedby":u}){const s=$("Dialog.Content"),b=E.useEventCallback(()=>{s.setOpen(!1)});return i.useSyncExternalStore(Ve,Fe,Ge)?F.createPortal(a.jsx(x.MotionConfig,{reducedMotion:"user",children:a.jsx(x.AnimatePresence,{children:s.open?a.jsx(Ke,{requestClose:b,contentId:s.contentId,titleId:s.titleId,descriptionId:s.descriptionId,hasTitle:s.hasTitle,hasDescription:s.hasDescription,closeOnBackdropClick:e,closeOnEscape:n,initialFocusRef:o,returnFocusRef:r,className:l,"aria-label":c,"aria-labelledby":f,"aria-describedby":u,children:t},"uk-dialog"):null})}),document.body):null}function Ue({open:t,onOpenChange:e,title:n,description:o,footer:r,children:l,closeLabel:c="Close",showCloseButton:f=!0,closeOnBackdropClick:u=!0,closeOnEscape:s=!0,initialFocusRef:b,returnFocusRef:m,className:h,"aria-label":g}){return a.jsx(se,{open:t,onOpenChange:e,children:a.jsxs(he,{className:h,closeOnBackdropClick:u,closeOnEscape:s,initialFocusRef:b,returnFocusRef:m,"aria-label":g,children:[n||o||f?a.jsxs(le,{children:[a.jsxs("div",{className:"uk-dialog__heading",children:[n?a.jsx(ue,{children:n}):null,o?a.jsx(de,{children:o}):null]}),f?a.jsx(ce,{children:a.jsx(G,{variant:"ghost",size:"sm",iconOnly:!0,"aria-label":c,className:"uk-dialog__close",children:a.jsx("svg",{viewBox:"0 0 20 20",width:"16",height:"16","aria-hidden":"true",children:a.jsx("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})}):null]}):null,a.jsx(fe,{children:l}),r?a.jsx(pe,{children:r}):null]})})}const Xe=Object.assign(Ue,{Root:se,Trigger:ze,Content:he,Header:le,Title:ue,Description:de,Body:fe,Footer:pe,Close:ce}),Ye=i.forwardRef(function({children:e,className:n,direction:o="left",speed:r=30,pauseOnHover:l=!0,gap:c="1rem",fade:f=!0,...u},s){const b=i.Children.toArray(e);return a.jsx("div",{...u,ref:s,className:T("uk-marquee",n),"data-direction":o,"data-fade":f?"true":void 0,"data-pause-on-hover":l?"true":void 0,style:{...u.style,"--uk-marquee-gap":c,"--uk-marquee-duration":`${r}s`,gap:c},children:[!1,!0].map(m=>a.jsx("div",{"aria-hidden":m,className:"uk-marquee__track","data-duplicate":m?"true":void 0,inert:m,children:b.map((h,g)=>a.jsx("div",{className:"uk-marquee__item",children:h},g))},m?"duplicate":"primary"))})}),me=i.createContext(null),be=()=>()=>{},ge=()=>!0,xe=()=>!1;function ye(t){const e=i.useContext(me);if(!e)throw new Error(`<${t}> must be rendered inside <Tooltip.Root>`);return e}function ve(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function ke(t,e){const n=typeof t=="string"?t.split(/\s+/).filter(Boolean):[];return Array.from(new Set([...n,e])).join(" ")}function R(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function We({children:t,open:e,defaultOpen:n,onOpenChange:o,delayDuration:r=300,closeDelay:l=80}){const c=i.useId(),[f,u]=i.useState(null),s=i.useRef(null),b=i.useRef(null),[m,h]=E.useControllableState({value:e,defaultValue:n??!1,onChange:o}),g=i.useCallback(()=>{s.current!==null&&(clearTimeout(s.current),s.current=null)},[]),p=i.useCallback(()=>{b.current!==null&&(clearTimeout(b.current),b.current=null)},[]),y=E.useEventCallback((d=!1)=>{if(g(),p(),!m){if(d||r<=0){h(!0);return}s.current=setTimeout(()=>{s.current=null,h(!0)},r)}}),v=E.useEventCallback(()=>{if(g(),p(),!!m){if(l<=0){h(!1);return}b.current=setTimeout(()=>{b.current=null,h(!1)},l)}}),k=E.useEventCallback(()=>{g(),p(),h(!1)});i.useEffect(()=>{m?p():g()},[p,g,m]),i.useEffect(()=>()=>{g(),p()},[p,g]);const C=i.useMemo(()=>({open:m,triggerElement:f,setTriggerElement:u,contentId:c,requestOpen:y,requestClose:v,dismiss:k}),[c,m,k,v,y,f]);return a.jsx(me.Provider,{value:C,children:t})}function Je({children:t}){const e=ye("Tooltip.Trigger"),{setTriggerElement:n}=e;if(!i.isValidElement(t))throw new Error("<Tooltip.Trigger> expects a single valid React element");const o=t,r=o.props,l=r.ref??o.ref,c=r.onPointerEnter,f=r.onPointerLeave,u=r.onFocus,s=r.onBlur,b=r.onKeyDown,m=i.useCallback(h=>{ve(l,h),n(h)},[l,n]);return i.cloneElement(o,{ref:m,"aria-describedby":e.open?ke(r["aria-describedby"],e.contentId):r["aria-describedby"],onPointerEnter:R(c,h=>{e.requestOpen(h.pointerType==="touch")}),onPointerLeave:R(f,h=>{h.pointerType!=="touch"&&e.requestClose()}),onFocus:R(u,()=>{e.requestOpen()}),onBlur:R(s,()=>{e.requestClose()}),onKeyDown:R(b,h=>{h.key==="Escape"&&e.open&&(h.preventDefault(),h.stopPropagation(),e.dismiss())})})}function A(t,e,n){return n<e?e:Math.min(Math.max(t,e),n)}function Qe(t){switch(t){case"top":return"bottom";case"right":return"left";case"bottom":return"top";case"left":return"right"}}function V(t,e,n,o,r){switch(e){case"top":return t.top-r;case"right":return n-t.right-r;case"bottom":return o-t.bottom-r;case"left":return t.left-r}}function Q(t,e,n,o,r,l,c){return V(t,n,r,l,c)>=(n==="top"||n==="bottom"?e.height:e.width)+o}function Ze({trigger:t,tooltip:e,side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c,viewportWidth:f,viewportHeight:u}){let s=n;if(c&&!Q(t,e,n,r,f,u,l)){const v=Qe(n),k=Q(t,e,v,r,f,u,l),C=V(t,n,f,u,l),d=V(t,v,f,u,l);(k||d>C)&&(s=v)}const b=t.left+t.width/2,m=t.top+t.height/2;let h=0,g=0;switch(s){case"top":case"bottom":h=o==="start"?t.left:o==="end"?t.right-e.width:b-e.width/2,g=s==="top"?t.top-e.height-r:t.bottom+r;break;case"left":case"right":h=s==="left"?t.left-e.width-r:t.right+r,g=o==="start"?t.top:o==="end"?t.bottom-e.height:m-e.height/2;break}c&&(h=A(h,l,f-e.width-l),g=A(g,l,u-e.height-l));const p=10,y=s==="top"||s==="bottom"?A(b-h,p,Math.max(p,e.width-p)):A(m-g,p,Math.max(p,e.height-p));return{x:h,y:g,side:s,arrowOffset:y}}function Ie(t,e,{side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c}){const[f,u]=i.useState(null);return i.useLayoutEffect(()=>{const s=e.current;if(!s||!t)return;const b=()=>{const h=t.getBoundingClientRect(),g=s.getBoundingClientRect();u(Ze({trigger:h,tooltip:g,side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c,viewportWidth:window.innerWidth||document.documentElement.clientWidth,viewportHeight:window.innerHeight||document.documentElement.clientHeight}))};b(),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0);const m=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return m?.observe(t),m?.observe(s),()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),m?.disconnect()}},[o,c,l,e,n,r,t]),f}function Ce(t,e,n){i.useEffect(()=>{const o=c=>{const f=c.target;f instanceof Node&&(t.contains(f)||e.current?.contains(f)||n())},r=()=>{document.visibilityState==="hidden"&&n()},l=c=>{const f=c.target;c.key!=="Escape"||f instanceof Node&&t.contains(f)||n()};return document.addEventListener("pointerdown",o,!0),document.addEventListener("visibilitychange",r),document.addEventListener("keydown",l,!0),window.addEventListener("blur",n),()=>{document.removeEventListener("pointerdown",o,!0),document.removeEventListener("visibilitychange",r),document.removeEventListener("keydown",l,!0),window.removeEventListener("blur",n)}},[n,e,t])}function Te(t){switch(t){case"top":return"center bottom";case"bottom":return"center top";case"left":return"right center";case"right":return"left center";default:return"center"}}function et({contentId:t,triggerElement:e,dismiss:n,children:o,className:r,style:l,side:c="top",align:f="center",sideOffset:u=8,collisionPadding:s=8,avoidCollisions:b=!0,...m}){const h=i.useRef(null),g=x.useReducedMotion()??!1,p=x.useIsPresent(),y=Ie(e,h,{side:c,align:f,sideOffset:u,collisionPadding:s,avoidCollisions:b});Ce(e,h,n);const v=Te(y?.side??c),k={...l,left:y?`${y.x}px`:0,top:y?`${y.y}px`:0,visibility:y?"visible":"hidden"};return a.jsx("div",{...m,ref:h,id:t,role:"tooltip","data-side":y?.side??c,"data-align":f,"data-state":p?"open":"closed","aria-hidden":p?void 0:!0,className:T("uk-tooltip",r),style:k,children:a.jsxs(x.motion.div,{className:"uk-tooltip__surface",style:{transformOrigin:v},initial:g?{opacity:0}:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:g?{opacity:0}:{opacity:0,scale:.96},transition:g?O:Z,children:[a.jsx("span",{className:"uk-tooltip__arrow","aria-hidden":"true",style:{"--uk-tooltip-arrow-offset":`${y?.arrowOffset??0}px`}}),o]})})}function tt(t){const e=ye("Tooltip.Content"),o=i.useSyncExternalStore(be,ge,xe)&&e.triggerElement?e.triggerElement.closest("dialog")??document.body:null;return!o||!e.triggerElement?null:F.createPortal(a.jsx(x.MotionConfig,{reducedMotion:"user",children:a.jsx(x.AnimatePresence,{children:e.open?a.jsx(et,{contentId:e.contentId,triggerElement:e.triggerElement,dismiss:e.dismiss,...t},"uk-tooltip"):null})}),o)}const we=i.createContext(null);function nt(t){const e=i.useContext(we);if(!e)throw new Error(`<${t}> must be rendered inside <Tooltip.Group>`);return e}function ot({activeValue:t,content:e,contentClassName:n,contentId:o,dismiss:r,triggerElement:l,side:c,align:f,sideOffset:u,collisionPadding:s,avoidCollisions:b}){const m=i.useRef(null),h=x.useReducedMotion()??!1,g=x.useIsPresent(),p=Ie(l,m,{side:c,align:f,sideOffset:u,collisionPadding:s,avoidCollisions:b});Ce(l,m,r);const y={left:p?`${p.x}px`:0,top:p?`${p.y}px`:0,transformOrigin:Te(p?.side??c),visibility:p?"visible":"hidden"};return a.jsxs(x.motion.div,{ref:m,id:o,role:"tooltip",layout:!h,layoutDependency:t,"data-side":p?.side??c,"data-align":f,"data-state":g?"open":"closed","aria-hidden":g?void 0:!0,className:T("uk-tooltip","uk-tooltip__surface","uk-tooltip--group",n),style:y,initial:h?{opacity:0}:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:h?{opacity:0}:{opacity:0,scale:.96},transition:h?{...O,layout:{duration:0}}:Ne,children:[a.jsx("span",{className:"uk-tooltip__arrow","aria-hidden":"true",style:{"--uk-tooltip-arrow-offset":`${p?.arrowOffset??0}px`}}),a.jsx(x.motion.div,{className:"uk-tooltip__content",initial:{opacity:0},animate:{opacity:1},transition:h?O:Z,children:e},t)]})}function rt({children:t,side:e="top",align:n="center",sideOffset:o=8,collisionPadding:r=8,avoidCollisions:l=!0,delayDuration:c=180,closeDelay:f=80,contentClassName:u}){const s=i.useId(),[b,m]=i.useState(()=>new Map),[h,g]=i.useState(!1),[p,y]=i.useState(null),v=i.useRef(null),k=i.useRef(null),C=i.useSyncExternalStore(be,ge,xe),d=i.useCallback(()=>{v.current!==null&&(clearTimeout(v.current),v.current=null)},[]),I=i.useCallback(()=>{k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),w=E.useEventCallback((D,S=!1)=>{if(d(),I(),y(D),!h){if(S||c<=0){g(!0);return}v.current=setTimeout(()=>{v.current=null,g(!0)},c)}}),_=E.useEventCallback(()=>{if(d(),I(),!!h){if(f<=0){g(!1);return}k.current=setTimeout(()=>{k.current=null,g(!1)},f)}}),N=E.useEventCallback(()=>{d(),I(),g(!1)}),P=E.useEventCallback((D,S,M)=>{m(H=>{const X=H.get(D);if(X?.triggerElement===S&&Object.is(X.content,M))return H;const Y=new Map(H);return Y.set(D,{triggerElement:S,content:M}),Y})}),j=E.useEventCallback(D=>{m(S=>{if(!S.has(D))return S;const M=new Map(S);return M.delete(D),M})});i.useEffect(()=>()=>{d(),I()},[I,d]);const _e=i.useMemo(()=>({open:h,activeValue:p,contentId:s,activate:w,requestClose:_,dismiss:N,register:P,unregister:j}),[w,p,s,N,h,P,_,j]),L=p?b.get(p):void 0,Ee=h&&!!L,U=C&&L?L.triggerElement.closest("dialog")??document.body:null;return a.jsxs(we.Provider,{value:_e,children:[t,U&&L?F.createPortal(a.jsx(x.MotionConfig,{reducedMotion:"user",children:a.jsx(x.AnimatePresence,{children:Ee?a.jsx(ot,{activeValue:p??"",content:L.content,contentClassName:u,contentId:s,dismiss:N,triggerElement:L.triggerElement,side:e,align:n,sideOffset:o,collisionPadding:r,avoidCollisions:l},"uk-tooltip-group"):null})}),U):null]})}function it({value:t,content:e,children:n}){const o=nt("Tooltip.Item"),{register:r,unregister:l}=o,[c,f]=i.useState(null);if(!i.isValidElement(n))throw new Error("<Tooltip.Item> expects a single valid React element");const u=n,s=u.props,b=s.ref??u.ref,m=s.onPointerEnter,h=s.onPointerLeave,g=s.onFocus,p=s.onBlur,y=s.onKeyDown,v=o.open&&o.activeValue===t,k=i.useCallback(C=>{ve(b,C),f(C)},[b,f]);return i.useLayoutEffect(()=>{if(c)return r(t,c,e),()=>l(t)},[e,r,c,l,t]),i.cloneElement(u,{ref:k,"aria-describedby":v?ke(s["aria-describedby"],o.contentId):s["aria-describedby"],onPointerEnter:R(m,C=>{o.activate(t,C.pointerType==="touch")}),onPointerLeave:R(h,C=>{C.pointerType!=="touch"&&o.requestClose()}),onFocus:R(g,()=>{o.activate(t)}),onBlur:R(p,()=>{o.requestClose()}),onKeyDown:R(y,C=>{C.key==="Escape"&&v&&(C.preventDefault(),C.stopPropagation(),o.dismiss())})})}const at={Root:We,Trigger:Je,Content:tt,Group:rt,Item:it};exports.Button=G;exports.Dialog=Xe;exports.Input=je;exports.Marquee=Ye;exports.Sidebar=Oe;exports.Switch=Se;exports.Tabs=qe;exports.Tooltip=at;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),a=require("react"),w=require("seam-hooks"),I=require("motion/react"),F=require("react-dom");function T(...t){return t.filter(Boolean).join(" ")}const G=a.forwardRef(function({variant:e="primary",size:n="md",loading:o=!1,iconOnly:r=!1,type:l="button",className:c,children:p,...f},s){return i.jsxs("button",{...f,ref:s,type:l,className:T("uk-button",c),"data-variant":e,"data-size":n,"data-loading":o?"true":void 0,"data-icon-only":r?"true":void 0,disabled:f.disabled||o,"aria-busy":o||void 0,children:[o?i.jsx("span",{className:"uk-button__spinner","aria-hidden":"true"}):null,p]})}),Z=a.forwardRef(function({checked:e,defaultChecked:n,onCheckedChange:o,disabled:r,className:l,children:c,id:p,...f},s){const m=a.useId(),b=p??m,[h,g]=w.useControllableState({value:e,defaultValue:n??!1,onChange:o});return i.jsxs("label",{className:T("uk-checkbox",l),"data-disabled":r?"true":void 0,htmlFor:b,children:[i.jsx("input",{...f,ref:s,id:b,type:"checkbox",className:"uk-checkbox__input",checked:h,disabled:r,onChange:d=>{r||g(d.target.checked)}}),i.jsx("span",{className:"uk-checkbox__box","aria-hidden":"true",children:i.jsx("svg",{className:"uk-checkbox__check",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3.2,strokeLinecap:"round",strokeLinejoin:"round",children:i.jsx("path",{d:"M4 12.5 L9.5 18 L20 7",pathLength:1})})}),c?i.jsx("span",{className:"uk-checkbox__label",children:c}):null]})});Z.displayName="CheckBox";const Re=a.forwardRef(function({inputSize:e="md",invalid:n=!1,className:o,"aria-invalid":r,...l},c){return i.jsx("input",{...l,ref:c,className:T("uk-input",o),"data-size":e,"aria-invalid":n?!0:r})}),B=[.23,1,.32,1],Pe=[.77,0,.175,1],W={type:"spring",bounce:0,duration:.3},J={type:"spring",bounce:.04,duration:.38},K={type:"spring",bounce:.08,duration:.34},Ne={duration:.2,ease:Pe},ee={duration:.12,ease:B},Se={layout:{type:"spring",bounce:0,duration:.22},opacity:{duration:.12,ease:B},scale:{duration:.12,ease:B}},O={duration:.12,ease:B},De=a.forwardRef(function({checked:e,defaultChecked:n,onCheckedChange:o,disabled:r,className:l,children:c,id:p,...f},s){const m=a.useId(),b=p??m,h=I.useReducedMotion()??!1,g=a.useRef(!1),d=a.useRef(null),[k,x]=w.useControllableState({value:e,defaultValue:n??!1,onChange:o}),v=I.useMotionValue(k?16:0);a.useEffect(()=>{if(d.current)return;const u=I.animate(v,k?16:0,h?{duration:0}:W);return()=>u.stop()},[k,h,v]);const y=u=>{const C=d.current;if(!(!C||C.pointerId!==u.pointerId)){if(C.moved){const _=C.samples[0],j=C.samples[C.samples.length-1],N=_&&j?Math.max(j.time-_.time,1):1,P=_&&j?(j.x-_.x)/N*1e3:0,E=Math.abs(P)>220?P>0:v.get()>=8;g.current=!0,d.current=null,x(E),I.animate(v,E?16:0,h?{duration:0}:{...W,velocity:P}),window.setTimeout(()=>{g.current=!1},0)}else d.current=null;u.currentTarget.hasPointerCapture(u.pointerId)&&typeof u.currentTarget.releasePointerCapture=="function"&&u.currentTarget.releasePointerCapture(u.pointerId)}};return i.jsxs("label",{className:T("uk-switch",l),"data-disabled":r?"true":void 0,htmlFor:b,onClickCapture:u=>{g.current&&(u.preventDefault(),u.stopPropagation())},children:[i.jsx("input",{...f,ref:s,id:b,type:"checkbox",role:"switch",className:"uk-switch__input",checked:k,disabled:r,"aria-checked":k,onChange:u=>x(u.target.checked)}),i.jsx("span",{className:"uk-switch__track","aria-hidden":"true",onPointerDown:u=>{r||(d.current={pointerId:u.pointerId,startX:u.clientX,startValue:v.get(),moved:!1,samples:[{x:u.clientX,time:performance.now()}]},typeof u.currentTarget.setPointerCapture=="function"&&u.currentTarget.setPointerCapture(u.pointerId))},onPointerMove:u=>{const C=d.current;if(!C||C.pointerId!==u.pointerId)return;const _=u.clientX-C.startX;Math.abs(_)>4&&(C.moved=!0),C.moved&&(u.preventDefault(),v.set(Math.max(0,Math.min(16,C.startValue+_))),C.samples.push({x:u.clientX,time:performance.now()}),C.samples=C.samples.filter(j=>performance.now()-j.time<120))},onPointerUp:y,onPointerCancel:y,children:i.jsx(I.motion.span,{className:"uk-switch__thumb",style:{x:v}})}),c?i.jsx("span",{className:"uk-switch__label",children:c}):null]})}),te=a.createContext(null);function ne(t){const e=a.useContext(te);if(!e)throw new Error(`<${t}> must be rendered inside <Sidebar>`);return e}function V(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function Le({children:t,className:e,hoverPreview:n=!0,hoverIndicator:o="rail",groupGap:r,style:l,...c}){const[p,f]=a.useState(null),s=a.useId().replace(/:/g,""),m=a.useMemo(()=>({hoveredId:p,setHoveredId:f,indicatorBaseId:s,hoverPreview:n,hoverIndicator:o}),[p,s,n,o]),b=typeof r=="number"?`${r}px`:r,h={...l,...b===void 0?{}:{"--uk-sidebar-group-gap":b}};return i.jsx(te.Provider,{value:m,children:i.jsx(I.LayoutGroup,{id:`sidebar-${s}`,children:i.jsx("nav",{...c,className:T("uk-sidebar",e),style:h,children:t})})})}function Me({title:t,icon:e,collapsible:n=!1,open:o,defaultOpen:r=!0,onOpenChange:l,children:c,className:p,...f}){const s=a.useId(),m=a.useId(),b=a.useId(),h=a.useRef(null),g=a.useRef(null),d=ne("Sidebar.Group"),k=e!=null,x=I.useReducedMotion()??!1,[v,y]=w.useControllableState({value:o,defaultValue:r,onChange:l}),u=n?v:!0,C=d.hoveredId===b;a.useEffect(()=>{!n||u||g.current?.contains(document.activeElement)&&h.current?.focus()},[n,u]);const _=i.jsxs(i.Fragment,{children:[k?i.jsx("span",{className:"uk-sidebar__group-icon","aria-hidden":"true",children:e}):null,i.jsx("span",{className:"uk-sidebar__group-label",children:t}),n?i.jsx("span",{className:"uk-sidebar__chevron","aria-hidden":"true",children:i.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",children:i.jsx("path",{d:"m6 3.8 4.2 4.2L6 12.2",stroke:"currentColor",strokeWidth:"1.35",strokeLinecap:"round",strokeLinejoin:"round"})})}):null]});return i.jsxs("section",{...f,className:T("uk-sidebar__group",p),"aria-labelledby":f["aria-labelledby"]??s,"data-collapsible":n?"true":"false","data-has-icon":k?"true":"false","data-state":u?"open":"closed",children:[n?i.jsxs("button",{ref:h,type:"button",className:"uk-sidebar__group-title uk-sidebar__group-trigger",id:s,"aria-controls":m,"aria-expanded":u,"data-preview":d.hoverIndicator==="background"&&C?"true":void 0,onClick:()=>y(j=>!j),onPointerEnter:j=>{d.hoverPreview&&d.hoverIndicator==="background"&&j.pointerType==="mouse"&&d.setHoveredId(b)},onPointerLeave:()=>{d.hoveredId===b&&d.setHoveredId(null)},onPointerCancel:()=>{d.hoveredId===b&&d.setHoveredId(null)},children:[i.jsx(I.AnimatePresence,{initial:!1,children:d.hoverPreview&&d.hoverIndicator==="background"&&C?i.jsx(I.motion.span,{className:"uk-sidebar__group-surface","data-kind":"hover","data-slot":"sidebar-hover-highlight",layoutId:`${d.indicatorBaseId}-hover`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:x?{duration:0}:K}):null}),_]}):i.jsx("div",{className:"uk-sidebar__group-title",id:s,children:_}),i.jsx(I.motion.div,{ref:g,className:"uk-sidebar__content",id:m,"data-state":u?"open":"closed",initial:!1,animate:{height:u?"auto":0,opacity:u?1:0},transition:x?{duration:0}:Ne,inert:n&&!u,"aria-hidden":n&&!u?!0:void 0,children:i.jsx("ul",{className:"uk-sidebar__list",children:c})})]})}function Oe({active:t=!1,children:e,className:n}){const o=ne("Sidebar.Item"),r=a.useId(),c=I.useReducedMotion()??!1?{duration:0}:K;if(!a.isValidElement(e))throw new Error("<Sidebar.Item> expects a single valid React element");const p=e,f=p.props,s=f.className,m=typeof s=="function"?x=>T("uk-sidebar__link",s(x),n):T("uk-sidebar__link",s,n),b=f.onPointerEnter,h=f.onPointerLeave,g=f.onPointerCancel,d=o.hoveredId===r,k=i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"uk-sidebar__rail","aria-hidden":"true"}),i.jsx(I.AnimatePresence,{initial:!1,children:o.hoverPreview&&o.hoverIndicator==="rail"&&d?i.jsx(I.motion.span,{className:"uk-sidebar__rail-indicator","data-kind":"hover","data-slot":"sidebar-hover-rail-indicator",layoutId:`${o.indicatorBaseId}-hover-rail`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),i.jsx(I.AnimatePresence,{initial:!1,children:o.hoverIndicator==="rail"&&t?i.jsx(I.motion.span,{className:"uk-sidebar__rail-indicator","data-kind":"active","data-slot":"sidebar-active-rail-indicator",layoutId:`${o.indicatorBaseId}-active-rail`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),i.jsx(I.AnimatePresence,{initial:!1,children:o.hoverPreview&&o.hoverIndicator==="background"&&d?i.jsx(I.motion.span,{className:"uk-sidebar__surface","data-kind":"hover","data-slot":"sidebar-hover-highlight",layoutId:`${o.indicatorBaseId}-hover`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),i.jsx(I.AnimatePresence,{initial:!1,children:o.hoverIndicator==="background"&&t?i.jsx(I.motion.span,{className:"uk-sidebar__surface","data-kind":"active","data-slot":"sidebar-active-highlight",layoutId:`${o.indicatorBaseId}-active`,"aria-hidden":"true",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:c}):null}),i.jsx("span",{className:"uk-sidebar__label",children:f.children})]});return i.jsx("li",{className:"uk-sidebar__item",children:a.cloneElement(p,{className:m,"data-active":t?"true":"false","data-preview":t||d?"true":"false","aria-current":f["aria-current"]??(t?"page":void 0),onPointerEnter:V(b,x=>{o.hoverPreview&&x.pointerType==="mouse"&&o.setHoveredId(r)}),onPointerLeave:V(h,()=>{o.hoveredId===r&&o.setHoveredId(null)}),onPointerCancel:V(g,()=>{o.hoveredId===r&&o.setHoveredId(null)})},k)})}const $e=Object.assign(Le,{Group:Me,Item:Oe}),oe=a.createContext(null);function z(t){const e=a.useContext(oe);if(!e)throw new Error(`<${t}> must be rendered inside <Tabs>`);return e}function re(t,e){return`${t}-tab-${encodeURIComponent(e)}`}function ae(t,e){return`${t}-panel-${encodeURIComponent(e)}`}function Ae({value:t,defaultValue:e,onValueChange:n,orientation:o="horizontal",className:r,children:l}){const c=a.useId(),[p,f]=w.useControllableState({value:t,defaultValue:e??"",onChange:n}),s=a.useMemo(()=>({baseId:c,value:p,setValue:f,orientation:o,indicatorId:`${c}-indicator`}),[c,p,o,f]);return i.jsx(oe.Provider,{value:s,children:i.jsx("div",{className:T("uk-tabs",r),"data-orientation":o,children:l})})}const Be=a.forwardRef(function({className:e,onKeyDown:n,...o},r){const{orientation:l}=z("Tabs.List");return i.jsx("div",{...o,ref:r,role:"tablist","aria-orientation":l,tabIndex:-1,className:T("uk-tabs__list",e),onKeyDown:c=>{if(n?.(c),c.defaultPrevented)return;const f=c.target?.closest('[role="tab"]');if(!f||f.hasAttribute("disabled"))return;const s=Array.from(c.currentTarget.querySelectorAll('[role="tab"]:not([disabled])')),m=s.indexOf(f);if(m===-1)return;const b=l==="horizontal"?"ArrowRight":"ArrowDown",h=l==="horizontal"?"ArrowLeft":"ArrowUp";let g=-1;switch(c.key){case b:g=(m+1)%s.length;break;case h:g=(m-1+s.length)%s.length;break;case"Home":g=0;break;case"End":g=s.length-1;break;default:return}c.preventDefault();const d=s[g];d&&(d.focus(),d.click())}})}),He=a.forwardRef(function({value:e,type:n="button",className:o,onClick:r,children:l,...c},p){const f=z("Tabs.Trigger"),s=f.value===e,m=I.useReducedMotion()??!1;return i.jsxs("button",{...c,ref:p,type:n,role:"tab",id:re(f.baseId,e),"aria-selected":s,"aria-controls":ae(f.baseId,e),tabIndex:s?0:-1,"data-state":s?"active":"inactive",className:T("uk-tabs__trigger",o),onClick:b=>{r?.(b),b.defaultPrevented||f.setValue(e)},children:[l,s?i.jsx(I.motion.span,{className:"uk-tabs__indicator",layoutId:f.indicatorId,"aria-hidden":"true",transition:m?{duration:0}:K}):null]})}),Ve=a.forwardRef(function({value:e,className:n,...o},r){const l=z("Tabs.Content"),c=l.value===e;return i.jsx("div",{...o,ref:r,role:"tabpanel",id:ae(l.baseId,e),"aria-labelledby":re(l.baseId,e),hidden:!c,tabIndex:0,"data-state":c?"active":"inactive",className:T("uk-tabs__panel",n)})}),qe=Object.assign(Ae,{List:Be,Trigger:He,Content:Ve}),ie=a.createContext(null),Fe=()=>()=>{},Ge=()=>!0,Ke=()=>!1;function $(t){const e=a.useContext(ie);if(!e)throw new Error(`<${t}> must be rendered inside <Dialog.Root>`);return e}function se(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function ce({children:t,open:e,defaultOpen:n,onOpenChange:o}){const r=a.useId(),[l,c]=a.useState(!1),[p,f]=a.useState(!1),[s,m]=w.useControllableState({value:e,defaultValue:n??!1,onChange:o}),b=a.useMemo(()=>({open:s,setOpen:m,triggerId:`${r}-trigger`,contentId:`${r}-content`,titleId:`${r}-title`,descriptionId:`${r}-description`,hasTitle:l,setHasTitle:c,hasDescription:p,setHasDescription:f}),[r,s,p,l,m]);return i.jsx(ie.Provider,{value:b,children:t})}function ze({children:t}){const e=$("Dialog.Trigger"),n=t,o=n.props.onClick;return a.cloneElement(n,{id:e.triggerId,"aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.open?e.contentId:void 0,onClick:se(o,()=>{e.setOpen(!e.open)})})}function le({children:t,label:e="Close"}){const n=$("Dialog.Close");if(a.isValidElement(t)){const o=t,r=o.props.onClick;return a.cloneElement(o,{onClick:se(r,()=>{n.setOpen(!1)})})}return i.jsx(G,{variant:"ghost",onClick:()=>n.setOpen(!1),children:e})}const ue=a.forwardRef(function({className:e,...n},o){return i.jsx("header",{...n,ref:o,className:T("uk-dialog__header",e)})}),de=a.forwardRef(function({className:e,children:n,...o},r){const l=$("Dialog.Title"),c=l.setHasTitle;return a.useEffect(()=>(c(!0),()=>c(!1)),[c]),i.jsx("h2",{...o,ref:r,id:l.titleId,className:T("uk-dialog__title",e),children:n})}),fe=a.forwardRef(function({className:e,...n},o){const r=$("Dialog.Description"),l=r.setHasDescription;return a.useEffect(()=>(l(!0),()=>l(!1)),[l]),i.jsx("p",{...n,ref:o,id:r.descriptionId,className:T("uk-dialog__description",e)})}),pe=a.forwardRef(function({className:e,...n},o){return i.jsx("div",{...n,ref:o,className:T("uk-dialog__body",e)})}),he=a.forwardRef(function({className:e,...n},o){return i.jsx("footer",{...n,ref:o,className:T("uk-dialog__footer",e)})});function Ue({requestClose:t,contentId:e,titleId:n,descriptionId:o,hasTitle:r,hasDescription:l,children:c,closeOnBackdropClick:p=!0,closeOnEscape:f=!0,initialFocusRef:s,returnFocusRef:m,className:b,"aria-label":h,"aria-labelledby":g,"aria-describedby":d}){const k=a.useRef(null),x=a.useRef(null),v=I.useIsPresent(),y=I.useReducedMotion()??!1;return w.useLockBodyScroll(!0),a.useLayoutEffect(()=>{const u=k.current;u&&(x.current??(x.current=document.activeElement instanceof HTMLElement?document.activeElement:null),!u.open&&(typeof u.showModal=="function"?u.showModal():u.setAttribute("open","")))},[]),w.useFocusTrap({active:!0,containerRef:k,initialFocusRef:s,returnFocusRef:m??x}),a.useEffect(()=>{const u=k.current;if(!u)return;const C=()=>{u.open||(typeof u.showModal=="function"?u.showModal():u.setAttribute("open",""))},_=()=>{if(!f){C();return}t()},j=E=>{E.preventDefault(),f&&t()},N=E=>{f||E.key!=="Escape"||E.defaultPrevented||(E.preventDefault(),E.stopPropagation())},P=E=>{p&&E.target===u&&t()};return u.addEventListener("close",_),u.addEventListener("cancel",j),u.addEventListener("keydown",N,!0),u.addEventListener("click",P),()=>{u.removeEventListener("close",_),u.removeEventListener("cancel",j),u.removeEventListener("keydown",N,!0),u.removeEventListener("click",P)}},[p,f,t]),i.jsx("dialog",{ref:k,id:e,className:T("uk-dialog",b),closedby:f||p?"any":"none","data-state":v?"open":"closed",inert:!v,"aria-label":h,"aria-labelledby":g??(h?void 0:r?n:void 0),"aria-describedby":d??(l?o:void 0),children:i.jsx(I.motion.div,{className:"uk-dialog__panel",initial:y?{opacity:0}:{opacity:0,transform:"translateY(12px) scale(0.96)"},animate:{opacity:1,transform:"translateY(0px) scale(1)",transition:y?O:{...J,delay:.06}},exit:y?{opacity:0,transition:O}:{opacity:0,transform:"translateY(8px) scale(0.97)",transition:J},children:c})})}function me({children:t,closeOnBackdropClick:e=!0,closeOnEscape:n=!0,initialFocusRef:o,returnFocusRef:r,className:l,"aria-label":c,"aria-labelledby":p,"aria-describedby":f}){const s=$("Dialog.Content"),m=w.useEventCallback(()=>{s.setOpen(!1)});return a.useSyncExternalStore(Fe,Ge,Ke)?F.createPortal(i.jsx(I.MotionConfig,{reducedMotion:"user",children:i.jsx(I.AnimatePresence,{children:s.open?i.jsx(Ue,{requestClose:m,contentId:s.contentId,titleId:s.titleId,descriptionId:s.descriptionId,hasTitle:s.hasTitle,hasDescription:s.hasDescription,closeOnBackdropClick:e,closeOnEscape:n,initialFocusRef:o,returnFocusRef:r,className:l,"aria-label":c,"aria-labelledby":p,"aria-describedby":f,children:t},"uk-dialog"):null})}),document.body):null}function Xe({open:t,onOpenChange:e,title:n,description:o,footer:r,children:l,closeLabel:c="Close",showCloseButton:p=!0,closeOnBackdropClick:f=!0,closeOnEscape:s=!0,initialFocusRef:m,returnFocusRef:b,className:h,"aria-label":g}){return i.jsx(ce,{open:t,onOpenChange:e,children:i.jsxs(me,{className:h,closeOnBackdropClick:f,closeOnEscape:s,initialFocusRef:m,returnFocusRef:b,"aria-label":g,children:[n||o||p?i.jsxs(ue,{children:[i.jsxs("div",{className:"uk-dialog__heading",children:[n?i.jsx(de,{children:n}):null,o?i.jsx(fe,{children:o}):null]}),p?i.jsx(le,{children:i.jsx(G,{variant:"ghost",size:"sm",iconOnly:!0,"aria-label":c,className:"uk-dialog__close",children:i.jsx("svg",{viewBox:"0 0 20 20",width:"16",height:"16","aria-hidden":"true",children:i.jsx("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})}):null]}):null,i.jsx(pe,{children:l}),r?i.jsx(he,{children:r}):null]})})}const Ye=Object.assign(Xe,{Root:ce,Trigger:ze,Content:me,Header:ue,Title:de,Description:fe,Body:pe,Footer:he,Close:le});function We(t,e){if(!(e instanceof Element))return!1;const n=e.closest('a, button, input, select, textarea, label, [contenteditable="true"], [role="button"]');return n!==null&&n!==t}const Je=a.forwardRef(function({children:e,className:n,direction:o="left",speed:r=30,pauseOnHover:l=!0,gap:c="1rem",fade:p=!0,paused:f=!1,items:s,onItemClick:m,...b},h){const g=s?s.map(x=>({key:x.key,content:x.content,data:x.data})):a.Children.toArray(e).map((x,v)=>({key:a.isValidElement(x)?x.key??null:null,content:x,data:void 0})),d=(x,v,y)=>{!m||y.defaultPrevented||We(y.currentTarget,y.target)||m({index:v,key:x.key,data:x.data},y)},k=(x,v,y)=>{!m||y.defaultPrevented||(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),m({index:v,key:x.key,data:x.data},y))};return i.jsx("div",{...b,ref:h,className:T("uk-marquee",n),"data-direction":o,"data-fade":p?"true":void 0,"data-pause-on-hover":l?"true":void 0,"data-paused":f?"true":"false",style:{...b.style,"--uk-marquee-gap":c,"--uk-marquee-duration":`${r}s`,gap:c},children:[!1,!0].map(x=>i.jsx("div",{"aria-hidden":x,className:"uk-marquee__track","data-duplicate":x?"true":void 0,inert:x&&!m,role:x?"presentation":void 0,onFocusCapture:x?v=>{v.target instanceof HTMLElement&&v.target.blur()}:void 0,children:g.map((v,y)=>i.jsx("div",{className:"uk-marquee__item","data-clickable":m?"true":void 0,...m?{role:x?void 0:"button",tabIndex:x?-1:0,onClick:u=>d(v,y,u),onKeyDown:x?void 0:u=>k(v,y,u)}:{},children:v.content},x?`duplicate-${y}`:v.key??y))},x?"duplicate":"primary"))})}),be=a.createContext(null),xe=()=>()=>{},ge=()=>!0,ye=()=>!1;function ve(t){const e=a.useContext(be);if(!e)throw new Error(`<${t}> must be rendered inside <Tooltip.Root>`);return e}function ke(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function Ie(t,e){const n=typeof t=="string"?t.split(/\s+/).filter(Boolean):[];return Array.from(new Set([...n,e])).join(" ")}function R(t,e){return n=>{t?.(n),n.defaultPrevented||e(n)}}function Qe({children:t,open:e,defaultOpen:n,onOpenChange:o,delayDuration:r=300,closeDelay:l=80}){const c=a.useId(),[p,f]=a.useState(null),s=a.useRef(null),m=a.useRef(null),[b,h]=w.useControllableState({value:e,defaultValue:n??!1,onChange:o}),g=a.useCallback(()=>{s.current!==null&&(clearTimeout(s.current),s.current=null)},[]),d=a.useCallback(()=>{m.current!==null&&(clearTimeout(m.current),m.current=null)},[]),k=w.useEventCallback((u=!1)=>{if(g(),d(),!b){if(u||r<=0){h(!0);return}s.current=setTimeout(()=>{s.current=null,h(!0)},r)}}),x=w.useEventCallback(()=>{if(g(),d(),!!b){if(l<=0){h(!1);return}m.current=setTimeout(()=>{m.current=null,h(!1)},l)}}),v=w.useEventCallback(()=>{g(),d(),h(!1)});a.useEffect(()=>{b?d():g()},[d,g,b]),a.useEffect(()=>()=>{g(),d()},[d,g]);const y=a.useMemo(()=>({open:b,triggerElement:p,setTriggerElement:f,contentId:c,requestOpen:k,requestClose:x,dismiss:v}),[c,b,v,x,k,p]);return i.jsx(be.Provider,{value:y,children:t})}function Ze({children:t}){const e=ve("Tooltip.Trigger"),{setTriggerElement:n}=e;if(!a.isValidElement(t))throw new Error("<Tooltip.Trigger> expects a single valid React element");const o=t,r=o.props,l=r.ref??o.ref,c=r.onPointerEnter,p=r.onPointerLeave,f=r.onFocus,s=r.onBlur,m=r.onKeyDown,b=a.useCallback(h=>{ke(l,h),n(h)},[l,n]);return a.cloneElement(o,{ref:b,"aria-describedby":e.open?Ie(r["aria-describedby"],e.contentId):r["aria-describedby"],onPointerEnter:R(c,h=>{e.requestOpen(h.pointerType==="touch")}),onPointerLeave:R(p,h=>{h.pointerType!=="touch"&&e.requestClose()}),onFocus:R(f,()=>{e.requestOpen()}),onBlur:R(s,()=>{e.requestClose()}),onKeyDown:R(m,h=>{h.key==="Escape"&&e.open&&(h.preventDefault(),h.stopPropagation(),e.dismiss())})})}function A(t,e,n){return n<e?e:Math.min(Math.max(t,e),n)}function et(t){switch(t){case"top":return"bottom";case"right":return"left";case"bottom":return"top";case"left":return"right"}}function q(t,e,n,o,r){switch(e){case"top":return t.top-r;case"right":return n-t.right-r;case"bottom":return o-t.bottom-r;case"left":return t.left-r}}function Q(t,e,n,o,r,l,c){return q(t,n,r,l,c)>=(n==="top"||n==="bottom"?e.height:e.width)+o}function tt({trigger:t,tooltip:e,side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c,viewportWidth:p,viewportHeight:f}){let s=n;if(c&&!Q(t,e,n,r,p,f,l)){const x=et(n),v=Q(t,e,x,r,p,f,l),y=q(t,n,p,f,l),u=q(t,x,p,f,l);(v||u>y)&&(s=x)}const m=t.left+t.width/2,b=t.top+t.height/2;let h=0,g=0;switch(s){case"top":case"bottom":h=o==="start"?t.left:o==="end"?t.right-e.width:m-e.width/2,g=s==="top"?t.top-e.height-r:t.bottom+r;break;case"left":case"right":h=s==="left"?t.left-e.width-r:t.right+r,g=o==="start"?t.top:o==="end"?t.bottom-e.height:b-e.height/2;break}c&&(h=A(h,l,p-e.width-l),g=A(g,l,f-e.height-l));const d=10,k=s==="top"||s==="bottom"?A(m-h,d,Math.max(d,e.width-d)):A(b-g,d,Math.max(d,e.height-d));return{x:h,y:g,side:s,arrowOffset:k}}function Ce(t,e,{side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c}){const[p,f]=a.useState(null);return a.useLayoutEffect(()=>{const s=e.current;if(!s||!t)return;const m=()=>{const h=t.getBoundingClientRect(),g=s.getBoundingClientRect();f(tt({trigger:h,tooltip:g,side:n,align:o,sideOffset:r,collisionPadding:l,avoidCollisions:c,viewportWidth:window.innerWidth||document.documentElement.clientWidth,viewportHeight:window.innerHeight||document.documentElement.clientHeight}))};m(),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0);const b=typeof ResizeObserver>"u"?null:new ResizeObserver(m);return b?.observe(t),b?.observe(s),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0),b?.disconnect()}},[o,c,l,e,n,r,t]),p}function Te(t,e,n){a.useEffect(()=>{const o=c=>{const p=c.target;p instanceof Node&&(t.contains(p)||e.current?.contains(p)||n())},r=()=>{document.visibilityState==="hidden"&&n()},l=c=>{const p=c.target;c.key!=="Escape"||p instanceof Node&&t.contains(p)||n()};return document.addEventListener("pointerdown",o,!0),document.addEventListener("visibilitychange",r),document.addEventListener("keydown",l,!0),window.addEventListener("blur",n),()=>{document.removeEventListener("pointerdown",o,!0),document.removeEventListener("visibilitychange",r),document.removeEventListener("keydown",l,!0),window.removeEventListener("blur",n)}},[n,e,t])}function we(t){switch(t){case"top":return"center bottom";case"bottom":return"center top";case"left":return"right center";case"right":return"left center";default:return"center"}}function nt({contentId:t,triggerElement:e,dismiss:n,children:o,className:r,style:l,side:c="top",align:p="center",sideOffset:f=8,collisionPadding:s=8,avoidCollisions:m=!0,...b}){const h=a.useRef(null),g=I.useReducedMotion()??!1,d=I.useIsPresent(),k=Ce(e,h,{side:c,align:p,sideOffset:f,collisionPadding:s,avoidCollisions:m});Te(e,h,n);const x=we(k?.side??c),v={...l,left:k?`${k.x}px`:0,top:k?`${k.y}px`:0,visibility:k?"visible":"hidden"};return i.jsx("div",{...b,ref:h,id:t,role:"tooltip","data-side":k?.side??c,"data-align":p,"data-state":d?"open":"closed","aria-hidden":d?void 0:!0,className:T("uk-tooltip",r),style:v,children:i.jsxs(I.motion.div,{className:"uk-tooltip__surface",style:{transformOrigin:x},initial:g?{opacity:0}:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:g?{opacity:0}:{opacity:0,scale:.96},transition:g?O:ee,children:[i.jsx("span",{className:"uk-tooltip__arrow","aria-hidden":"true",style:{"--uk-tooltip-arrow-offset":`${k?.arrowOffset??0}px`}}),o]})})}function ot(t){const e=ve("Tooltip.Content"),o=a.useSyncExternalStore(xe,ge,ye)&&e.triggerElement?e.triggerElement.closest("dialog")??document.body:null;return!o||!e.triggerElement?null:F.createPortal(i.jsx(I.MotionConfig,{reducedMotion:"user",children:i.jsx(I.AnimatePresence,{children:e.open?i.jsx(nt,{contentId:e.contentId,triggerElement:e.triggerElement,dismiss:e.dismiss,...t},"uk-tooltip"):null})}),o)}const _e=a.createContext(null);function rt(t){const e=a.useContext(_e);if(!e)throw new Error(`<${t}> must be rendered inside <Tooltip.Group>`);return e}function at({activeValue:t,content:e,contentClassName:n,contentId:o,dismiss:r,triggerElement:l,side:c,align:p,sideOffset:f,collisionPadding:s,avoidCollisions:m}){const b=a.useRef(null),h=I.useReducedMotion()??!1,g=I.useIsPresent(),d=Ce(l,b,{side:c,align:p,sideOffset:f,collisionPadding:s,avoidCollisions:m});Te(l,b,r);const k={left:d?`${d.x}px`:0,top:d?`${d.y}px`:0,transformOrigin:we(d?.side??c),visibility:d?"visible":"hidden"};return i.jsxs(I.motion.div,{ref:b,id:o,role:"tooltip",layout:!h,layoutDependency:t,"data-side":d?.side??c,"data-align":p,"data-state":g?"open":"closed","aria-hidden":g?void 0:!0,className:T("uk-tooltip","uk-tooltip__surface","uk-tooltip--group",n),style:k,initial:h?{opacity:0}:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:h?{opacity:0}:{opacity:0,scale:.96},transition:h?{...O,layout:{duration:0}}:Se,children:[i.jsx("span",{className:"uk-tooltip__arrow","aria-hidden":"true",style:{"--uk-tooltip-arrow-offset":`${d?.arrowOffset??0}px`}}),i.jsx(I.motion.div,{className:"uk-tooltip__content",initial:{opacity:0},animate:{opacity:1},transition:h?O:ee,children:e},t)]})}function it({children:t,side:e="top",align:n="center",sideOffset:o=8,collisionPadding:r=8,avoidCollisions:l=!0,delayDuration:c=180,closeDelay:p=80,contentClassName:f}){const s=a.useId(),[m,b]=a.useState(()=>new Map),[h,g]=a.useState(!1),[d,k]=a.useState(null),x=a.useRef(null),v=a.useRef(null),y=a.useSyncExternalStore(xe,ge,ye),u=a.useCallback(()=>{x.current!==null&&(clearTimeout(x.current),x.current=null)},[]),C=a.useCallback(()=>{v.current!==null&&(clearTimeout(v.current),v.current=null)},[]),_=w.useEventCallback((D,S=!1)=>{if(u(),C(),k(D),!h){if(S||c<=0){g(!0);return}x.current=setTimeout(()=>{x.current=null,g(!0)},c)}}),j=w.useEventCallback(()=>{if(u(),C(),!!h){if(p<=0){g(!1);return}v.current=setTimeout(()=>{v.current=null,g(!1)},p)}}),N=w.useEventCallback(()=>{u(),C(),g(!1)}),P=w.useEventCallback((D,S,M)=>{b(H=>{const X=H.get(D);if(X?.triggerElement===S&&Object.is(X.content,M))return H;const Y=new Map(H);return Y.set(D,{triggerElement:S,content:M}),Y})}),E=w.useEventCallback(D=>{b(S=>{if(!S.has(D))return S;const M=new Map(S);return M.delete(D),M})});a.useEffect(()=>()=>{u(),C()},[C,u]);const je=a.useMemo(()=>({open:h,activeValue:d,contentId:s,activate:_,requestClose:j,dismiss:N,register:P,unregister:E}),[_,d,s,N,h,P,j,E]),L=d?m.get(d):void 0,Ee=h&&!!L,U=y&&L?L.triggerElement.closest("dialog")??document.body:null;return i.jsxs(_e.Provider,{value:je,children:[t,U&&L?F.createPortal(i.jsx(I.MotionConfig,{reducedMotion:"user",children:i.jsx(I.AnimatePresence,{children:Ee?i.jsx(at,{activeValue:d??"",content:L.content,contentClassName:f,contentId:s,dismiss:N,triggerElement:L.triggerElement,side:e,align:n,sideOffset:o,collisionPadding:r,avoidCollisions:l},"uk-tooltip-group"):null})}),U):null]})}function st({value:t,content:e,children:n}){const o=rt("Tooltip.Item"),{register:r,unregister:l}=o,[c,p]=a.useState(null);if(!a.isValidElement(n))throw new Error("<Tooltip.Item> expects a single valid React element");const f=n,s=f.props,m=s.ref??f.ref,b=s.onPointerEnter,h=s.onPointerLeave,g=s.onFocus,d=s.onBlur,k=s.onKeyDown,x=o.open&&o.activeValue===t,v=a.useCallback(y=>{ke(m,y),p(y)},[m,p]);return a.useLayoutEffect(()=>{if(c)return r(t,c,e),()=>l(t)},[e,r,c,l,t]),a.cloneElement(f,{ref:v,"aria-describedby":x?Ie(s["aria-describedby"],o.contentId):s["aria-describedby"],onPointerEnter:R(b,y=>{o.activate(t,y.pointerType==="touch")}),onPointerLeave:R(h,y=>{y.pointerType!=="touch"&&o.requestClose()}),onFocus:R(g,()=>{o.activate(t)}),onBlur:R(d,()=>{o.requestClose()}),onKeyDown:R(k,y=>{y.key==="Escape"&&x&&(y.preventDefault(),y.stopPropagation(),o.dismiss())})})}const ct={Root:Qe,Trigger:Ze,Content:ot,Group:it,Item:st};exports.Button=G;exports.CheckBox=Z;exports.Dialog=Ye;exports.Input=Re;exports.Marquee=Je;exports.Sidebar=$e;exports.Switch=De;exports.Tabs=qe;exports.Tooltip=ct;
2
2
  //# sourceMappingURL=index.cjs.map