UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

40 lines (37 loc) • 1.18 kB
import { Link } from "../link/Link.mjs"; import { shouldHandleMouseEvent, useTabTrigger, useTabTrigger as useTabTrigger2 } from "./useTabTrigger.mjs"; import { jsx } from "react/jsx-runtime"; function TabTrigger({ asChild, name, href, resetOnFocus, ...props }) { const { trigger, triggerProps } = useTabTrigger({ name, resetOnFocus, ...props }); const resolvedHref = trigger?.resolvedHref ?? href; if (!resolvedHref) { return /* @__PURE__ */ jsx("button", { type: "button", onClick: (event) => triggerProps.onPress?.(event), children: props.children }); } return /* @__PURE__ */ jsx(Link, { ...props, href: resolvedHref, asChild, onPress: (event) => { if (!shouldHandleMouseEvent(event)) return; event.preventDefault(); triggerProps.onPress?.(event); }, onLongPress: triggerProps.onLongPress, "aria-current": trigger?.isFocused ? "page" : void 0, ...asChild ? { isFocused: Boolean(trigger?.isFocused) } : null, children: props.children }); } function isTabTrigger(child) { return child.type === TabTrigger; } export { TabTrigger, isTabTrigger, useTabTrigger2 as useTabTrigger }; //# sourceMappingURL=TabTrigger.mjs.map