UNPKG

@ariakit/react-core

Version:

Ariakit React core

78 lines (63 loc) 2.39 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _ZVJRPAXYcjs = require('./ZVJRPAXY.cjs'); var _WULEED4Qcjs = require('./WULEED4Q.cjs'); var _7EQBAZ46cjs = require('./7EQBAZ46.cjs'); // src/popover/popover-disclosure-arrow.tsx var _misc = require('@ariakit/core/utils/misc'); var _react = require('react'); var _jsxruntime = require('react/jsx-runtime'); var TagName = "span"; var pointsMap = { top: "4,10 8,6 12,10", right: "6,4 10,8 6,12", bottom: "4,6 8,10 12,6", left: "10,4 6,8 10,12" }; var usePopoverDisclosureArrow = _WULEED4Qcjs.createHook.call(void 0, function usePopoverDisclosureArrow2(_a) { var _b = _a, { store, placement } = _b, props = _7EQBAZ46cjs.__objRest.call(void 0, _b, ["store", "placement"]); const context = _ZVJRPAXYcjs.usePopoverContext.call(void 0, ); store = store || context; _misc.invariant.call(void 0, store, process.env.NODE_ENV !== "production" && "PopoverDisclosureArrow must be wrapped in a PopoverDisclosure component." ); const position = store.useState((state) => placement || state.placement); const dir = position.split("-")[0]; const points = pointsMap[dir]; const children = _react.useMemo.call(void 0, () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { display: "block", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, viewBox: "0 0 16 16", height: "1em", width: "1em", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points }) } ), [points] ); props = _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, { children, "aria-hidden": true }, props), { style: _7EQBAZ46cjs.__spreadValues.call(void 0, { width: "1em", height: "1em", pointerEvents: "none" }, props.style) }); return _misc.removeUndefinedValues.call(void 0, props); }); var PopoverDisclosureArrow = _WULEED4Qcjs.forwardRef.call(void 0, function PopoverDisclosureArrow2(props) { const htmlProps = usePopoverDisclosureArrow(props); return _WULEED4Qcjs.createElement.call(void 0, TagName, htmlProps); } ); exports.usePopoverDisclosureArrow = usePopoverDisclosureArrow; exports.PopoverDisclosureArrow = PopoverDisclosureArrow;