UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

40 lines 1.72 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import React, { forwardRef, useContext } from "react"; import { useRenameCSS } from "../theme/Theme.js"; import { composeEventHandlers } from "../util/composeEventHandlers.js"; import { DropdownContext } from "./context.js"; export const DropdownToggle = forwardRef((_a, ref) => { var { className, onClick } = _a, rest = __rest(_a, ["className", "onClick"]); const context = useContext(DropdownContext); const { cn } = useRenameCSS(); if (!context) { console.warn("Dropdown.Toggle has to be wrapped in <Dropdown />"); return null; } const { setAnchorEl, handleToggle, isOpen } = context; const handleClick = (e) => { setAnchorEl(e.currentTarget); handleToggle(!isOpen); }; return (React.createElement("button", Object.assign({}, rest, { ref: (el) => { setAnchorEl(el); if (typeof ref === "function") { ref(el); } else if (ref != null) { ref.current = el; } }, onClick: composeEventHandlers(onClick, handleClick), "aria-expanded": isOpen, className: cn("navds-dropdown__toggle", className) }))); }); export default DropdownToggle; //# sourceMappingURL=Toggle.js.map